use of javax.ws.rs.core.StreamingOutput in project coprhd-controller by CoprHD.
the class DbStatRetrieverTest method meteringXmlServiceDBRetrieverTest.
@Test
public void meteringXmlServiceDBRetrieverTest() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(XmlTestOutputFile);
DummyDBClient dbClient = new DummyDBClient();
MeteringService statResource = new MeteringService();
// statResource.setDbClient(dbClient);
DbStatRetriever dummyDbStatRetriever = new DbStatRetriever();
dummyDbStatRetriever.setDbClient(dbClient);
statResource.setStatRetriever(dummyDbStatRetriever);
DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
Response r = statResource.getStats("2012-01-01T00:00", header);
Assert.assertNotNull(r);
Assert.assertEquals(Status.OK.getStatusCode(), r.getStatus());
Assert.assertTrue(r.getEntity() instanceof StreamingOutput);
StreamingOutput so = (StreamingOutput) r.getEntity();
File of = new File(XmlTestOutputFile);
OutputStream os = new FileOutputStream(of);
try {
so.write(os);
} finally {
os.close();
}
JAXBContext context = null;
Unmarshaller unmarshaller = null;
context = JAXBContext.newInstance(Stats.class);
unmarshaller = context.createUnmarshaller();
Object o = unmarshaller.unmarshal(new File(XmlTestOutputFile));
Assert.assertTrue(o instanceof Stats);
Stats stats = (Stats) o;
// expected number of stats unmarshaled
Assert.assertEquals(10, stats.stats.size());
deleteIfExists(XmlTestOutputFile);
}
use of javax.ws.rs.core.StreamingOutput in project coprhd-controller by CoprHD.
the class MeteringServiceTest method meteringServiceTestXML.
@Test
public void meteringServiceTestXML() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(XmlTestOutputFile);
DummyStatRetriever dbStatRetriever = new DummyStatRetriever();
MeteringService statResource = new MeteringService();
statResource.setStatRetriever(dbStatRetriever);
DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
Response r = statResource.getStats("2012-08-08T00:00", header);
Assert.assertNotNull(r);
Assert.assertEquals(Status.OK.getStatusCode(), r.getStatus());
Assert.assertTrue(r.getEntity() instanceof StreamingOutput);
StreamingOutput so = (StreamingOutput) r.getEntity();
File of = new File(XmlTestOutputFile);
OutputStream os = new FileOutputStream(of);
so.write(os);
os.close();
JAXBContext context = null;
Unmarshaller unmarshaller = null;
context = JAXBContext.newInstance(Stats.class);
unmarshaller = context.createUnmarshaller();
Object o = unmarshaller.unmarshal(new File(XmlTestOutputFile));
Assert.assertTrue(o instanceof Stats);
Stats stats = (Stats) o;
// expected number of stats unmarshaled
Assert.assertEquals(100, stats.stats.size());
deleteIfExists(XmlTestOutputFile);
}
use of javax.ws.rs.core.StreamingOutput in project coprhd-controller by CoprHD.
the class MonitoringServiceTest method testEventRetriverXML.
@Test
public void testEventRetriverXML() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(XmlTestOutputFile);
EventRetriever eventRetriever = new DummyEventRetriever();
MonitoringService eventResource = new MonitoringService();
eventResource.setEventRetriever(eventRetriever);
DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
Response r = eventResource.getEvents("2012-05-05T00:00", header);
Assert.assertNotNull(r);
Assert.assertEquals(Status.OK.getStatusCode(), r.getStatus());
Assert.assertTrue(r.getEntity() instanceof StreamingOutput);
StreamingOutput so = (StreamingOutput) r.getEntity();
File of = new File(XmlTestOutputFile);
OutputStream os = new FileOutputStream(of);
so.write(os);
os.close();
JAXBContext context = null;
Unmarshaller unmarshaller = null;
context = JAXBContext.newInstance(Events.class);
unmarshaller = context.createUnmarshaller();
Object o = unmarshaller.unmarshal(new File(XmlTestOutputFile));
Assert.assertTrue(o instanceof Events);
Events events = (Events) o;
// expected number of events unmarshaled
Assert.assertEquals(100, events.events.size());
}
use of javax.ws.rs.core.StreamingOutput in project coprhd-controller by CoprHD.
the class DbEventRetrieverTest method meteringServiceNullDBclientTestXML.
@Test
public void meteringServiceNullDBclientTestXML() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(XmlTestOutputFile);
DummyDBClient dbClient = null;
MonitoringService eventResource = new MonitoringService();
// statResource.setDbClient(dbClient);
DbEventRetriever dummyDbStatRetriever = new DbEventRetriever();
dummyDbStatRetriever.setDbClient(dbClient);
eventResource.setEventRetriever(dummyDbStatRetriever);
DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
Response r = eventResource.getEvents("2012-01-02T00:00", header);
Assert.assertNotNull(r);
Assert.assertEquals(Status.OK.getStatusCode(), r.getStatus());
Assert.assertTrue(r.getEntity() instanceof StreamingOutput);
StreamingOutput so = (StreamingOutput) r.getEntity();
File of = new File(XmlTestOutputFile);
OutputStream os = new FileOutputStream(of);
try {
so.write(os);
} catch (InternalServerErrorException e) {
Assert.assertTrue(e.toString().contains("DB"));
} finally {
os.close();
}
}
use of javax.ws.rs.core.StreamingOutput in project neo4j-documentation by neo4j.
the class ColleaguesCypherExecutionResource method findColleagues.
@GET
@Path("/{personName}")
public Response findColleagues(@PathParam("personName") final String personName) {
final Map<String, Object> params = MapUtil.map("personName", personName);
StreamingOutput stream = new StreamingOutput() {
@Override
public void write(OutputStream os) throws IOException, WebApplicationException {
JsonGenerator jg = objectMapper.getJsonFactory().createJsonGenerator(os, JsonEncoding.UTF8);
jg.writeStartObject();
jg.writeFieldName("colleagues");
jg.writeStartArray();
final GraphDatabaseService graphDb = dbms.database("neo4j");
try (Transaction tx = graphDb.beginTx();
Result result = tx.execute(colleaguesQuery(), params)) {
while (result.hasNext()) {
Map<String, Object> row = result.next();
jg.writeString(((Node) row.get("colleague")).getProperty("name").toString());
}
tx.commit();
}
jg.writeEndArray();
jg.writeEndObject();
jg.flush();
jg.close();
}
};
return Response.ok().entity(stream).type(MediaType.APPLICATION_JSON).build();
}
Aggregations