From ed7f762345bd05f098f007ba4bd16f8eb0d18078 Mon Sep 17 00:00:00 2001
From: tudtianus <tudtianus@gmail.com>
Date: Sun, 1 Jul 2018 13:16:16 +0200
Subject: [PATCH] fix: preload editor feat: Utility class for markdown
 conversion

---
 .../core/management/utils/MarkdownUtils.java  | 25 ++++++++++
 .../gf/modules/journal/model/Journal.java     | 33 ++++++++++---
 .../journal/model/ProjectDescription.java     | 46 +++++++++++++++----
 .../journal/service/DummyJournalService.java  | 25 ++++------
 .../service/DummyProjectDescription.java      | 20 +++++---
 .../journal/service/JournalService.java       |  1 +
 .../service/ProjectDescriptionService.java    |  2 +
 .../gf/modules/journal/view/JournalView.java  | 22 +++++++++
 .../journal/view/ProjectDescriptionView.java  | 25 +++++++++-
 .../main/webapp/assets/js/createJournal.js    |  2 +-
 .../src/main/webapp/assets/js/e-portfolio.js  | 22 ++++++++-
 .../main/webapp/assets/js/editDescription.js  |  2 +-
 .../src/main/webapp/pages/editDescription.jsp |  6 +--
 13 files changed, 186 insertions(+), 45 deletions(-)
 create mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/utils/MarkdownUtils.java

diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/utils/MarkdownUtils.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/utils/MarkdownUtils.java
new file mode 100644
index 00000000..5d25997f
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/utils/MarkdownUtils.java
@@ -0,0 +1,25 @@
+package unipotsdam.gf.core.management.utils;
+
+import org.commonmark.node.Node;
+import org.commonmark.parser.Parser;
+import org.commonmark.renderer.html.HtmlRenderer;
+
+/**
+ * Utility class to convert markdown to html and back
+ */
+
+public class MarkdownUtils {
+
+    /**
+     * Converts a markdown text to html
+     * @param markdown markdown text
+     * @return html text
+     */
+    public static String convertMarkdownToHtml(String markdown){
+        Parser parser = Parser.builder().build();
+        Node document = parser.parse(markdown);
+        HtmlRenderer renderer = HtmlRenderer.builder().build();
+        return renderer.render(document);
+    }
+
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java
index 68edb27e..43670730 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java
@@ -3,6 +3,8 @@ package unipotsdam.gf.modules.journal.model;
 
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
+import static unipotsdam.gf.core.management.utils.MarkdownUtils.convertMarkdownToHtml;
+
 /**
  * Model Class for the learnig journal of the e-portfolio
  */
@@ -11,23 +13,32 @@ public class Journal {
     long id;
     StudentIdentifier studentIdentifier;
     String creator;
-    String entry;
+    String entryHTML;
+    String entryMD;
     long timestamp;
     Visibility visibility;
     String category; //TODO enum
 
     public Journal() {}
 
+
     public Journal(long id, StudentIdentifier studentIdentifier, String entry, long timestamp, Visibility visibility, String category) {
         this.id = id;
         this.studentIdentifier = studentIdentifier;
         // TODO setName per StudentID
-        this.entry = entry;
+        this.entryHTML = convertMarkdownToHtml(entry);
+        this.entryMD = entry;
         this.timestamp = timestamp;
         this.visibility = visibility;
         this.category = category;
     }
 
+    public void setEntry(String entry){
+        this.entryMD = entry;
+        this.entryHTML = convertMarkdownToHtml(entry);
+    }
+
+
     public long getId() {
         return id;
     }
@@ -44,12 +55,12 @@ public class Journal {
         this.studentIdentifier = studentIdentifier;
     }
 
-    public String getEntry() {
-        return entry;
+    public String getEntryHTML() {
+        return entryHTML;
     }
 
-    public void setEntry(String entry) {
-        this.entry = entry;
+    public void setEntryHTML(String entryHTML) {
+        this.entryHTML = entryHTML;
     }
 
     public long getTimestamp() {
@@ -84,13 +95,21 @@ public class Journal {
         this.creator = creator;
     }
 
+    public String getEntryMD() {
+        return entryMD;
+    }
+
+    public void setEntryMD(String entryMD) {
+        this.entryMD = entryMD;
+    }
+
     @Override
     public String toString() {
         return "Journal{" +
                 "id=" + id +
                 ", studentIdentifier=" + studentIdentifier +
                 ", creator='" + creator + '\'' +
-                ", entry='" + entry + '\'' +
+                ", entryHTML='" + entryHTML + '\'' +
                 ", timestamp=" + timestamp +
                 ", visibility=" + visibility +
                 ", category='" + category + '\'' +
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/ProjectDescription.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/ProjectDescription.java
index 4fdd7d03..88daca37 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/ProjectDescription.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/ProjectDescription.java
@@ -5,15 +5,19 @@ import unipotsdam.gf.core.management.project.Project;
 import java.util.ArrayList;
 import java.util.Map;
 
+import static unipotsdam.gf.core.management.utils.MarkdownUtils.convertMarkdownToHtml;
+
 /**
- * Model class for the project description of the e portfolio
+ * Model class for the project descriptionHTML of the e portfolio
  */
 
 public class ProjectDescription {
 
     long id;
     String name;
-    String description;
+    String descriptionHTML;
+    String descriptionMD;
+    boolean open;
     Project project;
     Map<String,String> links;
     ArrayList<String> group;
@@ -25,11 +29,18 @@ public class ProjectDescription {
     public ProjectDescription(long id, String name, String description, Project project, Map<String, String> links, ArrayList<String> group, long timestamp) {
         this.id = id;
         this.name = name;
-        this.description = description;
+        this.descriptionHTML = convertMarkdownToHtml(description);
+        this.descriptionMD =description;
         this.project = project;
         this.links = links;
         this.group = group;
         this.timestamp = timestamp;
+        this.open =true;
+    }
+
+    public void setDescription (String description){
+        this.descriptionMD = description;
+        this.descriptionHTML = convertMarkdownToHtml(description);
     }
 
     public long getId() {
@@ -48,12 +59,12 @@ public class ProjectDescription {
         this.name = name;
     }
 
-    public String getDescription() {
-        return description;
+    public String getDescriptionHTML() {
+        return descriptionHTML;
     }
 
-    public void setDescription(String description) {
-        this.description = description;
+    public void setDescriptionHTML(String descriptionHTML) {
+        this.descriptionHTML = descriptionHTML;
     }
 
     public Project getProject() {
@@ -88,12 +99,31 @@ public class ProjectDescription {
         this.timestamp = timestamp;
     }
 
+    public boolean isOpen() {
+        return open;
+    }
+
+    public void setOpen(boolean open) {
+        this.open = open;
+    }
+
+    public String getDescriptionMD() {
+        return descriptionMD;
+    }
+
+    public void setDescriptionMD(String descriptionMD) {
+        this.descriptionMD = descriptionMD;
+    }
+
+
     @Override
     public String toString() {
         return "ProjectDescription{" +
                 "id=" + id +
                 ", name='" + name + '\'' +
-                ", description='" + description + '\'' +
+                ", descriptionHTML='" + descriptionHTML + '\'' +
+                ", descriptionMD='" + descriptionMD + '\'' +
+                ", open=" + open +
                 ", project=" + project +
                 ", links=" + links +
                 ", group=" + group +
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java
index 7d6ca431..f8a8becc 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java
@@ -1,14 +1,12 @@
 package unipotsdam.gf.modules.journal.service;
 
-import org.commonmark.renderer.html.HtmlRenderer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
 import unipotsdam.gf.modules.journal.model.Visibility;
-import org.commonmark.node.*;
-import org.commonmark.parser.Parser;
+
 import java.util.ArrayList;
 import java.util.Calendar;
 
@@ -85,7 +83,7 @@ public class DummyJournalService implements JournalService {
         if (Long.valueOf(id) == -1){
 
             StudentIdentifier studentId = new StudentIdentifier(student,project);
-            journals.add(new Journal(this.id++, studentId, convertMarkdownToHtml(text) , cal.getTimeInMillis(), stringToVisibility(visibility) , category));
+            journals.add(new Journal(this.id++, studentId, text , cal.getTimeInMillis(), stringToVisibility(visibility) , category));
 
         } else {
             for (Journal j : journals){
@@ -111,6 +109,11 @@ public class DummyJournalService implements JournalService {
         return false;
     }
 
+    @Override
+    public void closeJournal(String journal) {
+
+    }
+
     private Visibility stringToVisibility(String visibility) {
         // If String does not match enum IllegalArgumentException
         Visibility v ;
@@ -128,7 +131,7 @@ public class DummyJournalService implements JournalService {
         StudentIdentifier studentIdentifier = new StudentIdentifier("0","0");
         StudentIdentifier studentIdentifier2 = new StudentIdentifier("0","1");
 
-        String test = "Donec nec facilisis nibh, sed sagittis tortor. Suspendisse vel felis ac leo dignissim efficitur. Nunc non egestas eros, sit amet vestibulum nunc. Sed bibendum varius molestie. Proin augue mauris, mollis sed efficitur efficitur, sagittis quis eros. Praesent tincidunt tincidunt porttitor. Maecenas quis ornare tellus. Nunc euismod vestibulum neque, sed luctus neque convallis in. Duis molestie ex ut nunc dignissim condimentum ut vitae dui. Vestibulum diam lorem, eleifend sit amet lobortis nec, vulputate a leo. In nec ante felis. Maecenas interdum nunc et odio placerat fringilla. Aenean felis purus, mollis id lectus non, fringilla tincidunt mi. Nunc sed rutrum ex, vel tempus odio.";
+        String test = "**nec** nec facilisis nibh, sed sagittis tortor. Suspendisse vel felis ac leo dignissim efficitur. Nunc non egestas eros, sit amet vestibulum nunc. Sed bibendum varius molestie. Proin augue mauris, mollis sed efficitur efficitur, sagittis quis eros. Praesent tincidunt tincidunt porttitor. Maecenas quis ornare tellus. Nunc euismod vestibulum neque, sed luctus neque convallis in. Duis molestie ex ut nunc dignissim condimentum ut vitae dui. Vestibulum diam lorem, eleifend sit amet lobortis nec, vulputate a leo. In nec ante felis. Maecenas interdum nunc et odio placerat fringilla. Aenean felis purus, mollis id lectus non, fringilla tincidunt mi. Nunc sed rutrum ex, vel tempus odio.";
 
         Journal j1 = new Journal(0,studentIdentifier,test, cal.getTimeInMillis() , Visibility.ALL, "test1");
         j1.setCreator("Test Test");
@@ -152,16 +155,6 @@ public class DummyJournalService implements JournalService {
         return journals;
     }
 
-    /**
-     * Converts a markdown text to html
-     * @param markdown markdown text
-     * @return html text
-     */
-    private String convertMarkdownToHtml (String markdown){
-        Parser parser = Parser.builder().build();
-        Node document = parser.parse("This is *Sparta*");
-        HtmlRenderer renderer = HtmlRenderer.builder().build();
-        return renderer.render(document);
-    }
+
 
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java
index 7b07890f..882d3672 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java
@@ -25,12 +25,15 @@ public class DummyProjectDescription implements ProjectDescriptionService {
         group.add("Test Person");
         group.add("Person Test");
 
-        String desc = "<p id=\"output\"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus urna purus, interdum vel efficitur et, consectetur nec nulla. Donec ut diam tellus. Donec vitae tellus ac dolor finibus luctus sed eget velit. Aliquam vitae ullamcorper eros, sit amet venenatis enim. Phasellus dui enim, viverra eu odio eget, ultrices tincidunt neque. Mauris venenatis luctus malesuada. Etiam vehicula turpis sed enim rhoncus, interdum interdum leo pretium. Pellentesque nec porttitor tellus, id tincidunt lacus. Mauris vitae cursus dui. Suspendisse ut ante quis nibh fermentum euismod a et ipsum. Donec aliquet id enim ut iaculis. Proin pulvinar est ac mollis fermentum. Quisque placerat pulvinar sapien, in dapibus mi aliquam finibus. Suspendisse fermentum vel lorem eget viverra. Aliquam eu orci ac nunc varius feugiat pellentesque quis dolor. Praesent erat sem, dictum eu elit quis, accumsan maximus leo.</p>\n" +
-                "<p><strong>Donec nec facilisis nibh, sed sagittis tortor. Suspendisse vel felis ac leo dignissim efficitur. Nunc non egestas eros, sit amet vestibulum nunc. Sed bibendum varius molestie. Proin augue mauris, mollis sed efficitur efficitur, sagittis quis eros. Praesent</strong> tincidunt tincidunt porttitor. Maecenas quis ornare tellus. Nunc euismod vestibulum neque, sed luctus neque convallis in. Duis molestie ex ut nunc dignissim condimentum ut vitae dui. Vestibulum diam lorem, eleifend sit amet lobortis nec, vulputate a leo. In nec ante felis. Maecenas interdum nunc et odio placerat fringilla. Aenean felis purus, mollis id lectus non, fringilla tincidunt mi. Nunc sed rutrum ex, vel tempus odio.</p>\n" +
-                "<p>Aenean turpis risus, ultrices nec fermentum quis, condimentum id orci. Vestibulum eu nibh dapibus, dictum ligula sed, tempus urna. Suspendisse scelerisque volutpat nibh sed accumsan. Ut laoreet condimentum ullamcorper. Nulla a dui eu mauris dictum accumsan. Nam viverra mauris in ultrices sollicitudin. Donec bibendum velit molestie ultricies commodo. Phasellus vulputate ullamcorper sapien eu ultricies. Pellentesque volutpat sed augue ac posuere. Integer finibus tempor eros a laoreet. Maecenas porta nibh elit, sed lacinia odio iaculis eu. Sed ornare ligula ipsum. Nunc vestibulum, arcu eget dapibus interdum, augue mi tempus velit, et sagittis massa magna sed eros. Nulla vehicula ac tortor a fringilla. Quisque in justo urna.</p>\n" +
-                "<p><img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/FuBK_testcard_vectorized.svg/2000px-FuBK_testcard_vectorized.svg.png\" alt=\"asd\"></p>\n" +
-                "<p>Donec ut erat eget diam accumsan ornare condimentum eu purus. Morbi ullamcorper ex quam, ut varius magna iaculis ut. Maecenas rutrum vitae arcu ac pretium. Duis congue tempus eros non molestie. Vivamus at erat eu massa iaculis commodo. Nam aliquet, nibh a ultrices faucibus, diam ipsum molestie odio, quis imperdiet ligula nunc et erat. Sed vel leo vitae ex mattis pellentesque.</p>\n" +
-                "<p>Nullam porttitor sit amet augue condimentum finibus. Curabitur ut pharetra lacus, in consequat nibh. Curabitur nec varius sapien, nec ornare felis. Mauris ornare varius arcu. Nulla quis tellus tempor, faucibus elit a, sollicitudin mi. Vivamus ligula diam, interdum a lorem in, pharetra tempor nunc. Mauris et dapibus erat, et sodales tortor. Vestibulum id tristique odio, ac vehicula orci. Quisque diam felis, volutpat nec condimentum vel, cursus eget justo.</p></p>";
+        String desc = " *Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. *\n" +
+                "\n" +
+                "**Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. **\n" +
+                "\n" +
+                "![Bild](https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/FuBK_testcard_vectorized.svg/2000px-FuBK_testcard_vectorized.svg.png)\n" +
+                "\n" +
+                "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \n" +
+                "\n" +
+                "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. ";
 
         testProject = new ProjectDescription(0,"Eine kreative Ãœberschrift",desc, new Project(), link, group, new Date().getTime());
     }
@@ -56,4 +59,9 @@ public class DummyProjectDescription implements ProjectDescriptionService {
     public void deleteLink(String link) {
 
     }
+
+    @Override
+    public void closeDescription(String desc) {
+
+    }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java
index a66a87dd..c247215c 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java
@@ -55,4 +55,5 @@ public interface JournalService {
      boolean deleteJournal(long id);
 
 
+    void closeJournal(String journal);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
index e0f4a56c..dfe3966f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
@@ -16,4 +16,6 @@ public interface ProjectDescriptionService {
     void addLink(String link, String name);
 
     void deleteLink(String link);
+
+    void closeDescription(String desc);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
index 60f8ebf4..6a4298d5 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
@@ -148,5 +148,27 @@ public class JournalView {
         return Response.ok().build();
     }
 
+    //close journal
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Path("/close")
+    public Response closeJournal(String journal){
+        log.debug(">>> closeJournal: " + journal);
+
+        journalService.closeJournal(journal);
+        //TODO token
+        try {
+            URI location = new URI("../pages/eportfolio.jsp?token=test");
+            log.debug("<<< closeJournal: redirect to "  +location.toString());
+            return Response.temporaryRedirect(location).build();
+
+        } catch (URISyntaxException e) {
+            e.printStackTrace();
+            log.debug("closeJournal: redirect failed" );
+        }
+
+        log.debug("<<< closeJournal");
+        return Response.ok().build();
+    }
 
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
index d7fb551e..f4d01024 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
@@ -108,7 +108,30 @@ public class ProjectDescriptionView {
             log.debug("deleteLink: redirect failed" );
         }
 
-        log.debug("<<< deleteLink");log.debug(">>> saveText");
+        log.debug("<<< deleteLink");
+        return Response.ok().build();
+    }
+
+    //close descr
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Path("/close")
+    public Response closeDescription(String desc){
+        log.debug(">>> closeDescription: " + desc);
+
+        descriptionService.closeDescription(desc);
+        //TODO token
+        try {
+            URI location = new URI("../pages/eportfolio.jsp?token=test");
+            log.debug("<<< closeDescription: redirect to "  +location.toString());
+            return Response.temporaryRedirect(location).build();
+
+        } catch (URISyntaxException e) {
+            e.printStackTrace();
+            log.debug("closeDescription: redirect failed" );
+        }
+
+        log.debug("<<< closeDescription");
         return Response.ok().build();
     }
 
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createJournal.js b/gemeinsamforschen/src/main/webapp/assets/js/createJournal.js
index 33d99482..96130eb0 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/createJournal.js
+++ b/gemeinsamforschen/src/main/webapp/assets/js/createJournal.js
@@ -16,7 +16,7 @@ $(document).ready(function() {
         $.ajax({
             url: "../rest/journal/"+journalID
         }).then(function(data) {
-            $('#editor').append(data.entry);
+            $('#editor').append(data.entryMD);
 
             //TODO preselet in select tags
             new InscrybMDE({
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
index 911258a2..a9b92bc7 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
+++ b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
@@ -5,7 +5,7 @@ $(document).ready(function() {
         url: "../rest/projectdescription/0"
     }).then(function(data) {
         $('.journal-description-title').append('<h2>' + data.name + '</h2>');
-        $('.journal-description-text').append(data.description);
+        $('.journal-description-text').append(data.descriptionHTML);
         for(var link in data.links){
             $('.journal-description-links').append('<a href=' + data.links[link] + '>' + link + '</a> <button onclick=\'linkLoeschen("'+link+'")\'> <i class="fa fa-trash" aria-hidden="true" ></i></button><br/>');
         }
@@ -15,6 +15,7 @@ $(document).ready(function() {
             $('.journal-description-group').append(data.group[g]+ '<br/>');
 
         }
+        console.log(data);
     });
 
     $.ajax({
@@ -67,7 +68,7 @@ function loadJournals(data) {
                     '<a class="btn btn-default btn-sm" data-toggle="modal" data-target="#closeJournalModal"><i class="fa fa-check-square" aria-hidden="true"></i>Abschlie&szlig;en</a>' +
                 '</div>' +
                 '<div class="journal-text">' +
-                    data[journal].entry +
+                    data[journal].entryHTML +
                 '</div>' +
             '</div><br><br>')
     }};
@@ -105,4 +106,21 @@ function closeJournal(journal) {
         }
     });
 
+}
+
+function closeJournal(description) {
+    console.log("löschen" + description);
+    $.ajax({
+        type: "POST",
+        url: "../rest/projectdescription/close",
+        data: JSON.stringify(description),
+        contentType: "application/json; charset=utf-8",
+        crossDomain: true,
+        dataType: "json",
+        success: function (data, status, jqXHR) {
+
+            alert(success);
+        }
+    });
+
 }
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/editDescription.js b/gemeinsamforschen/src/main/webapp/assets/js/editDescription.js
index cfcafbd7..b6f6a893 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/editDescription.js
+++ b/gemeinsamforschen/src/main/webapp/assets/js/editDescription.js
@@ -2,7 +2,7 @@ $(document).ready(function() {
     $.ajax({
         url: "../rest/projectdescription/0"
         }).then(function(data) {
-            $('#editor').append(data.description);
+            $('#editor').append(data.descriptionMD);
 
             //TODO preselet in select tags
             new InscrybMDE({
diff --git a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp b/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
index 664220c7..d829d4d1 100644
--- a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
@@ -47,14 +47,14 @@
                             <input type="hidden" name="student" value="0">
                             <input type="hidden" name="project" value="0">
 
-                            <div class="description-form-container">
+                            <div class="descriptionHTML-form-container">
 
-                                <div class ="description-form-editor">
+                                <div class ="descriptionHTML-form-editor">
                                     <textarea id = "editor" name="text" form="descriptionform" >
                                     </textarea>
                                 </div>
 
-                                <div class="description-form-buttons">
+                                <div class="descriptionHTML-form-buttons">
                                     <input class="btn btn-default btn-sm" type="submit">
                                     <a class="btn btn-default btn-sm" href="eportfolio.jsp?token=test">Zur&uuml;ck</a>
                                 </div>
-- 
GitLab