diff --git a/src/main/java/de/thm/arsnova/dao/NovaView.java b/src/main/java/de/thm/arsnova/dao/NovaView.java index 9c46b1b4f0a0292bdbe2131692054ac9b404997e..1248b17196bcf46374102d0b35ea1269ad580ba1 100644 --- a/src/main/java/de/thm/arsnova/dao/NovaView.java +++ b/src/main/java/de/thm/arsnova/dao/NovaView.java @@ -36,6 +36,16 @@ public class NovaView extends View { protected StaleMode stale = StaleMode.NONE; + protected boolean includeDocs = false; + + public boolean isIncludeDocs() { + return includeDocs; + } + + public void setIncludeDocs(boolean includeDocs) { + this.includeDocs = includeDocs; + } + public NovaView(final String fullname) { super(fullname); } @@ -122,6 +132,12 @@ public class NovaView extends View { query.append("stale=update_after"); } } + if (includeDocs != false) { + if (query.length() > 0) { + query.append("&"); + } + query.append("include_docs=true"); + } if (query.length() == 0) { return null; diff --git a/src/test/java/de/thm/arsnova/dao/NovaViewTest.java b/src/test/java/de/thm/arsnova/dao/NovaViewTest.java index dfe82630072019e4548c2f1a33af386a0a89823b..2459d502dbe3d122ef0de0fd134b22c4b9db5a52 100644 --- a/src/test/java/de/thm/arsnova/dao/NovaViewTest.java +++ b/src/test/java/de/thm/arsnova/dao/NovaViewTest.java @@ -149,6 +149,18 @@ public class NovaViewTest { assertNull(v4.getQueryString()); } + @Test + public void shouldSupportIncludeDocsParameter() { + final NovaView v1 = new NovaView(null); + final NovaView v2 = new NovaView(null); + final NovaView v3 = new NovaView(null); + v1.setIncludeDocs(true); + v2.setIncludeDocs(false); + assertEncodedEquals("include_docs", "true", v1.getQueryString()); + assertNull(v2.getQueryString()); + assertNull(v3.getQueryString()); + } + private void assertEncodedEquals(final String key, final String expected, final String actual) { try { assertEquals(key + "=" + URLEncoder.encode(expected, "UTF-8"), actual);