Fix landingPage in the free resource web-service (#799).

Change-Id: Icecd0c121170493d4a115b2af1ecb26e4b1b1849
diff --git a/Changes b/Changes
index 3f7d254..76170f3 100644
--- a/Changes
+++ b/Changes
@@ -18,6 +18,7 @@
   - Added statisticsRewriteHandler and queryContextRewrite, 
   - changed file locations to the data folder, 
   - removed unused beans (cacheManager, sqliteDataSource)
+- Fix landingPage in the free resource web-service.  
 
 # version 0.76
 
diff --git a/src/main/java/de/ids_mannheim/korap/annotation/FreeResourceParser.java b/src/main/java/de/ids_mannheim/korap/annotation/FreeResourceParser.java
index be84ed9..777f511 100644
--- a/src/main/java/de/ids_mannheim/korap/annotation/FreeResourceParser.java
+++ b/src/main/java/de/ids_mannheim/korap/annotation/FreeResourceParser.java
@@ -67,6 +67,15 @@
                             resource.at("/institution").asText(),
                             resource.at("/corpus_query").asText());
                 }
+                else {
+                	resourceDao.updateResource(resource.at("/id").asText(),
+                            resource.at("/de_title").asText(),
+                            resource.at("/en_title").asText(),
+                            resource.at("/en_description").asText(), 
+                            layers,
+                            resource.at("/institution").asText(),
+                            resource.at("/corpus_query").asText());
+                }
             }
             catch (Exception e) {
                 log.warn("Failed creating resource: " + e.getMessage());
diff --git a/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java b/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java
index 79cfad7..5655980 100644
--- a/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java
+++ b/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java
@@ -80,4 +80,19 @@
         entityManager.persist(r);
 
     }
+    
+    @Transactional
+    public void updateResource (String id, String germanTitle,
+            String englishTitle, String englishDescription,
+            Set<AnnotationLayer> layers, String institution, 
+            String corpusQuery) throws KustvaktException {
+        ParameterChecker.checkStringValue(id, "id");
+        ParameterChecker.checkStringValue(englishTitle, "en_title");
+        ParameterChecker.checkStringValue(germanTitle, "de_title");
+
+        Resource r = new Resource(id, germanTitle, englishTitle,
+                englishDescription, layers, institution, corpusQuery);
+        entityManager.merge(r);
+
+    }
 }
diff --git a/src/main/java/de/ids_mannheim/korap/dto/converter/ResourceConverter.java b/src/main/java/de/ids_mannheim/korap/dto/converter/ResourceConverter.java
index 5f13d52..c1a207f 100644
--- a/src/main/java/de/ids_mannheim/korap/dto/converter/ResourceConverter.java
+++ b/src/main/java/de/ids_mannheim/korap/dto/converter/ResourceConverter.java
@@ -48,7 +48,8 @@
                 layers.put(annotationPair.getId(), code);
             }
             dto.setLayers(layers);
-            dto.setLandingPage("https://korap.ids-mannheim.de?" +r.getCorpusQuery());
+            dto.setLandingPage("https://korap.ids-mannheim.de?cq=" +
+            		r.getCorpusQuery());
             dto.setInstitution(r.getInstitution());
 
             resourceDtoList.add(dto);
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java
index 2343dd7..99296a1 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java
@@ -31,7 +31,7 @@
         assertEquals(1, n.at("/languages").size());
         assertEquals(6, n.at("/layers").size());
         assertEquals("Wikimedia Foundation", n.at("/institution").asText());
-        assertEquals("https://korap.ids-mannheim.de?corpusSigle=WPD17", 
+        assertEquals("https://korap.ids-mannheim.de?cq=corpusSigle=WPD17", 
                 n.at("/landingPage").asText());
     }
 }