Change order of cutoff handling for paging

Change-Id: I2d943067e83a61bec2c795adc3134ba1d0c4b697
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
index 1e2230d..ac882f4 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
@@ -245,19 +245,28 @@
                 );
         }
 
+        // set filename to query
         if (fname == null) {
             fname = q;
         }
 
-        // format == json
-        if (format.equals("json")) {
-            if (cutoff) {
+        // If only one page should be exported there is no need
+        // for a temporary export file
+        if (cutoff) {
+
+            if (format.equals("json")) {
                 builder = Response.ok(resp);
                 builder.type(MediaType.APPLICATION_JSON);
+            }
+
+            else {
+                builder = Response.ok(getRtf(resp));
+                builder.type("application/rtf");
+                format = "rtf";
             };
         }
 
-        // format == rtf
+        // Page through results
         else {
             ObjectMapper mapper = new ObjectMapper();
             JsonFactory factory = mapper.getFactory();
@@ -268,64 +277,62 @@
              * Get total results
              */
             totalhits = actualObj.at("/meta").get("totalResults").asInt();
+
+
+            // Not yet supported
+            if (format.equals("json")) {
+                System.err.println("Not yet supported!");
+            };
             
-            // If only one page should be exported there is no need
-            // for a temporary export file
-            if (cutoff) {
-                String rtfresp = getRtf(resp);
-                builder = Response.ok(rtfresp);
+            // format == rtf
+
+            /*
+             *  Get number of pages and the number of hits 
+             *  which should be exported at the last page
+             */
+            int pg = 1;
+            int dr = totalhits % pageSize;
+            if (dr > 0) {
+                pg = totalhits / pageSize + 1;
+            }
+            else {
+                pg = totalhits / pageSize;
             }
 
-            if (!cutoff) {
-           
-                /*
-                 *  Get number of pages and the number of hits 
-                 *  which should be exported at the last page
-                 */
-                int pg = 1;
-                int dr = totalhits % pageSize;
-                if (dr > 0) {
-                    pg = totalhits / pageSize + 1;
-                }
-                else {
-                    pg = totalhits / pageSize;
-                }
-
-                /*
-                 * Create temporary file
-                 */
-                File expTmp = createTempFile("idsexppl-", format);
-                FileWriter fw = new FileWriter(expTmp, true);
-                BufferedWriter bw = new BufferedWriter(fw);
-                // better delete after it is not needed anymore
-                expTmp.deleteOnExit();
+            /*
+             * Create temporary file
+             */
+            File expTmp = createTempFile("idsexppl-", format);
+            FileWriter fw = new FileWriter(expTmp, true);
+            BufferedWriter bw = new BufferedWriter(fw);
+            // better delete after it is not needed anymore
+            expTmp.deleteOnExit();
             
-                int pos = 0;
-                uri.queryParam("offset", "{offset}");
+            int pos = 0;
+            uri.queryParam("offset", "{offset}");
                 
-                for (int i = 1; i <= pg; i++) {
-                    // url = urlorg + "&page=" + i;
-                    // resource = client.target(url);
-                    resource = client.target(
-                        uri.build((i * pageSize) - pageSize)
-                        );
+            for (int i = 1; i <= pg; i++) {
+                // url = urlorg + "&page=" + i;
+                // resource = client.target(url);
+                resource = client.target(
+                    uri.build((i * pageSize) - pageSize)
+                    );
 
-                    reqBuilder = resource.request(MediaType.APPLICATION_JSON);
-                    resp = authBuilder(reqBuilder, xff, auth).get(String.class);
+                reqBuilder = resource.request(MediaType.APPLICATION_JSON);
+                resp = authBuilder(reqBuilder, xff, auth).get(String.class);
 
-                    if (i < pg) {
-                        pos = 2;
-                    }
-                    if (i == 1) {
-                        pos = 1;
-                    }
-                    if (pg == i) {
-                        pos = 3;
-                    }
-                    getRtf(expTmp, fw, resp, bw, pos, dr);
+                if (i < pg) {
+                    pos = 2;
                 }
-                builder = Response.ok(expTmp);
+                if (i == 1) {
+                    pos = 1;
+                }
+                if (pg == i) {
+                    pos = 3;
+                }
+                getRtf(expTmp, fw, resp, bw, pos, dr);
             }
+            builder = Response.ok(expTmp);
 
             builder.type("application/rtf");
             format = "rtf";
@@ -338,8 +345,7 @@
             '.' +
             format
             );
-        Response response = builder.build();
-        return response;
+        return builder.build();
     }
 
     @GET