diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2020-01-27 21:23:00 +0100 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2020-01-27 21:25:21 +0100 |
commit | 2f5374598fbdfbf5ccdf44930706133bc7986e83 (patch) | |
tree | ee9aa69ab33c0e7b9f2e615e0cfa675614491cd9 /src/main/java | |
parent | 0178fa352d2045cdd27ffa2a965794684fc2d665 (diff) |
Wiki: Provide feedback after editing.
Change-Id: I6530be803f5f4218008c07d00ad3c6f739a1eb7a
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java index 30cae98..0f7aa3f 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java @@ -1,5 +1,6 @@ package eu.mulk.mulkcms2.benki.wiki; +import static javax.ws.rs.core.MediaType.APPLICATION_JSON; import static javax.ws.rs.core.MediaType.TEXT_HTML; import eu.mulk.mulkcms2.benki.users.User; @@ -16,6 +17,8 @@ import java.time.format.FormatStyle; import java.time.temporal.TemporalAccessor; import java.util.Optional; import javax.inject.Inject; +import javax.json.JsonObject; +import javax.json.spi.JsonProvider; import javax.transaction.Transactional; import javax.ws.rs.BadRequestException; import javax.ws.rs.FormParam; @@ -39,6 +42,8 @@ public class WikiResource { private static DateTimeFormatter humanDateFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG, FormatStyle.SHORT); + private static JsonProvider jsonProvider = JsonProvider.provider(); + @ResourcePath("benki/wiki/wikiPage.html") @Inject Template wikiPage; @@ -71,14 +76,15 @@ public class WikiResource { @Path("/{pageName}") @Authenticated @Transactional - public void updatePage( + @Produces(APPLICATION_JSON) + public JsonObject updatePage( @PathParam("pageName") String pageName, @FormParam("wiki-title") String title, @FormParam("wiki-content") String content) { if (title == null && content == null) { // No changes, nothing to do. - return; + return jsonProvider.createObjectBuilder().add("status", "ok").build(); } if (title != null) { @@ -112,6 +118,12 @@ public class WikiResource { User.find("from BenkiUser u join u.nicknames n where ?1 = n", userName).singleResult()); pageRevision.persistAndFlush(); + + return jsonProvider + .createObjectBuilder() + .add("status", "ok") + .add("content", pageRevision.enrichedContent()) + .build(); } @GET |