@Override public void embedding(String mimeType, byte[] data) { File file = new File(); file.setName(UUID.randomUUID().toString()); file.setContent(data); file.setContentType(mimeType); Utils.sendLog("embedding", "UNKNOWN", file); }
@Override public com.epam.ta.reportportal.ws.model.log.SaveLogRQ apply(String itemId) { final String message = event.getFormattedMessage(); final String level = event.getLevel().toString(); final Date time = new Date(event.getTimeStamp()); SaveLogRQ rq = new SaveLogRQ(); rq.setLevel(level); rq.setLogTime(time); rq.setTestItemId(itemId); try { if (MESSAGE_PARSER.supports(message)) { ReportPortalMessage rpMessage = MESSAGE_PARSER.parse(message); TypeAwareByteSource data = rpMessage.getData(); com.epam.ta.reportportal.ws.model.log.SaveLogRQ.File file = new com.epam.ta.reportportal.ws.model.log.SaveLogRQ.File(); file.setContent(data.read()); file.setContentType(data.getMediaType()); file.setName(UUID.randomUUID().toString()); rq.setFile(file); rq.setMessage(rpMessage.getMessage()); } else { rq.setMessage(encoder.getLayout().doLayout(event)); } } catch (Exception e) { //skip } return rq; } });
@Override public Result<? extends EntryCreatedRS> log(SaveLogRQ rq) throws RestEndpointIOException { if (null == rq.getFile()) { EntryCreatedRS response = endpoint.post(apiBase + "/" + project + "/log", rq, EntryCreatedRS.class); return new Result<EntryCreatedRS>(response); } else { MultiPartRequest<SaveLogRQ[]> request = new MultiPartRequest.Builder<SaveLogRQ[]>() .addSerializedPart(Constants.LOG_REQUEST_JSON_PART, new SaveLogRQ[] { rq }).addBinaryPart(rq.getFile().getName(), rq.getFile().getName(), ContentType.APPLICATION_OCTET_STREAM.getMimeType(), rq.getFile().getContent()) .build(); BatchSaveOperatingRS response = endpoint.post(apiBase + "/" + project + "/log", request, BatchSaveOperatingRS.class); if (response.getResponses() == null || response.getResponses().size() == 0) { throw new InternalReportPortalClientException("Report portal hasn't sent any response."); } return new Result<EntryCreatedRS>(response.getResponses().get(0)); } }