- implementing logic to implement the 'compression' attribute - adjusting tests - updating readme.md
This commit is contained in:
@ -4,7 +4,6 @@
|
||||
package ch.psi.daq.queryrest.response;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@ -44,8 +43,8 @@ public abstract class AbstractResponseStreamWriter implements ResponseStreamWrit
|
||||
response.addHeader("Content-Type", contentType);
|
||||
if (query.isCompressed()) {
|
||||
response.addHeader("Content-Disposition", "attachment; filename=data.gz");
|
||||
response.addHeader("Content-Encoding", "gzip");
|
||||
out = new GZIPOutputStream(out);
|
||||
response.addHeader("Content-Encoding", query.getCompression().toString());
|
||||
out = query.getCompression().wrapStream(out);
|
||||
} else {
|
||||
response.addHeader("Content-Disposition", "attachment; filename=data.csv");
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import ch.psi.daq.cassandra.request.range.RequestRangePulseId;
|
||||
import ch.psi.daq.cassandra.request.range.RequestRangeTime;
|
||||
import ch.psi.daq.cassandra.util.test.CassandraDataGen;
|
||||
import ch.psi.daq.common.ordering.Ordering;
|
||||
import ch.psi.daq.domain.Compression;
|
||||
import ch.psi.daq.domain.ResponseFormat;
|
||||
import ch.psi.daq.query.model.Aggregation;
|
||||
import ch.psi.daq.query.model.AggregationType;
|
||||
@ -69,7 +70,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
0,
|
||||
1),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
LinkedHashSet<QueryField> queryFields = new LinkedHashSet<>();
|
||||
@ -146,7 +147,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
0,
|
||||
1),
|
||||
channelName);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
LinkedHashSet<QueryField> queryFields = new LinkedHashSet<>();
|
||||
@ -218,7 +219,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
0,
|
||||
10),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
LinkedHashSet<QueryField> queryFields = new LinkedHashSet<>();
|
||||
@ -296,7 +297,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
startDate,
|
||||
endDate),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
LinkedHashSet<QueryField> queryFields = new LinkedHashSet<>();
|
||||
@ -375,7 +376,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
Ordering.asc,
|
||||
AggregationType.extrema,
|
||||
TEST_CHANNEL_NAMES[0]);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
@ -407,7 +408,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
Ordering.asc,
|
||||
AggregationType.index,
|
||||
TEST_CHANNEL_NAMES[0]);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
@ -441,7 +442,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
endDate),
|
||||
TEST_CHANNEL_01);
|
||||
request.setNrOfBins(2);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
LinkedHashSet<QueryField> queryFields = new LinkedHashSet<>();
|
||||
@ -527,7 +528,7 @@ public class QueryRestControllerCsvTest extends AbstractDaqRestTest {
|
||||
endDate),
|
||||
TEST_CHANNEL_01);
|
||||
request.setBinSize(100);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
request.setResponseFormat(ResponseFormat.CSV);
|
||||
|
||||
LinkedHashSet<QueryField> queryFields = new LinkedHashSet<>();
|
||||
|
@ -15,6 +15,7 @@ import ch.psi.daq.cassandra.request.range.RequestRangePulseId;
|
||||
import ch.psi.daq.cassandra.request.range.RequestRangeTime;
|
||||
import ch.psi.daq.cassandra.util.test.CassandraDataGen;
|
||||
import ch.psi.daq.common.ordering.Ordering;
|
||||
import ch.psi.daq.domain.Compression;
|
||||
import ch.psi.daq.query.model.AggregationType;
|
||||
import ch.psi.daq.query.model.impl.DAQQuery;
|
||||
import ch.psi.daq.queryrest.controller.QueryRestController;
|
||||
@ -173,7 +174,7 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
10,
|
||||
11),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
System.out.println(content);
|
||||
@ -209,7 +210,7 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
100,
|
||||
110),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
|
||||
@ -246,7 +247,7 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
startDate,
|
||||
endDate),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
System.out.println(content);
|
||||
@ -287,7 +288,7 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
Ordering.asc,
|
||||
AggregationType.extrema,
|
||||
TEST_CHANNEL_NAMES[0]);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
|
||||
@ -331,7 +332,7 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
endDate),
|
||||
TEST_CHANNEL_01);
|
||||
request.setNrOfBins(2);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
System.out.println(content);
|
||||
@ -369,7 +370,7 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
endDate),
|
||||
TEST_CHANNEL_01);
|
||||
request.setBinSize(100);
|
||||
request.setCompressed(false);
|
||||
request.setCompression(Compression.NONE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
System.out.println(content);
|
||||
@ -418,4 +419,49 @@ public class QueryRestControllerJsonTest extends AbstractDaqRestTest {
|
||||
.andExpect(MockMvcResultMatchers.jsonPath("$[0].data[9].globalMillis").value(1900))
|
||||
.andExpect(MockMvcResultMatchers.jsonPath("$[0].data[9].eventCount").value(10));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGzipCompression() throws Exception {
|
||||
DAQQuery request = new DAQQuery(
|
||||
new RequestRangePulseId(
|
||||
10,
|
||||
11),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompression(Compression.GZIP);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
System.out.println(content);
|
||||
|
||||
this.mockMvc
|
||||
.perform(MockMvcRequestBuilders
|
||||
.post(QueryRestController.QUERY)
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(content))
|
||||
|
||||
.andDo(MockMvcResultHandlers.print())
|
||||
.andExpect(MockMvcResultMatchers.status().isOk());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeflateCompression() throws Exception {
|
||||
DAQQuery request = new DAQQuery(
|
||||
new RequestRangePulseId(
|
||||
10,
|
||||
11),
|
||||
TEST_CHANNEL_NAMES);
|
||||
request.setCompression(Compression.DEFLATE);
|
||||
|
||||
String content = mapper.writeValueAsString(request);
|
||||
System.out.println(content);
|
||||
|
||||
this.mockMvc
|
||||
.perform(MockMvcRequestBuilders
|
||||
.post(QueryRestController.QUERY)
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(content))
|
||||
|
||||
.andDo(MockMvcResultHandlers.print())
|
||||
.andExpect(MockMvcResultMatchers.status().isOk());
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user