String getMimeTypeOrGuessIt(DocumentValue documentValue) { final String mimeType = documentValue.getMimeType(); final byte[] content = documentValue.getContent(); final String fileName = documentValue.getFileName(); if (mimeType != null && !mimeType.isEmpty() || content == null || fileName == null || fileName.isEmpty()) { return mimeType; } try { final File tempFile = File.createTempFile("tmp", fileName); IOUtil.write(tempFile, content); final String s = Files.probeContentType(tempFile.toPath()); tempFile.delete(); return s; } catch (Throwable e) { return mimeType; } }
String getMimeTypeOrGuessIt(DocumentValue documentValue) { final String mimeType = documentValue.getMimeType(); final byte[] content = documentValue.getContent(); final String fileName = documentValue.getFileName(); if (mimeType != null && !mimeType.isEmpty() || content == null || fileName == null || fileName.isEmpty()) { return mimeType; } try { final File tempFile = File.createTempFile("tmp", fileName); IOUtil.write(tempFile, content); final String s = Files.probeContentType(tempFile.toPath()); tempFile.delete(); return s; } catch (Throwable e) { return mimeType; } }
/** * Test method for {@link org.bonitasoft.engine.bpm.document.DocumentValue#setContent(byte[])}. */ @Test public final void setContent_should_set_content_with_filename_and_content() { // Given final DocumentValue documentValue = new DocumentValue("yujyt".getBytes(), "mimeType", "filename"); final byte[] content = "plop".getBytes(); // When documentValue.setContent(content); // Then assertEquals(content, documentValue.getContent()); }
public SDocument createDocumentObject(final DocumentValue documentValue, final long authorId) { final SDocumentBuilder processDocumentBuilder = BuilderFactory.get(SDocumentBuilderFactory.class).createNewInstance(documentValue.getFileName(), getMimeTypeOrGuessIt(documentValue), authorId); processDocumentBuilder.setHasContent(documentValue.hasContent()); processDocumentBuilder.setURL(documentValue.getUrl()); processDocumentBuilder.setContent(documentValue.getContent()); return processDocumentBuilder.done(); }
private SDocument buildSDocument(final DocumentValue documentValue) { if (documentValue.hasContent()) { return buildProcessDocument(documentValue.getFileName(), documentValue.getMimeType(), getUserId(), documentValue.getContent()); } return buildExternalProcessDocumentReference(documentValue.getFileName(), documentValue.getMimeType(), getUserId(), documentValue.getUrl()); }
private SDocument buildSDocument(final DocumentValue documentValue) { if (documentValue.hasContent()) { return buildProcessDocument(documentValue.getFileName(), documentValue.getMimeType(), getUserId(), documentValue.getContent()); } return buildExternalProcessDocumentReference(documentValue.getFileName(), documentValue.getMimeType(), getUserId(), documentValue.getUrl()); }
public SDocument createDocumentObject(final DocumentValue documentValue, final long authorId) { final SDocumentBuilder processDocumentBuilder = BuilderFactory.get(SDocumentBuilderFactory.class).createNewInstance(documentValue.getFileName(), getMimeTypeOrGuessIt(documentValue), authorId); processDocumentBuilder.setHasContent(documentValue.hasContent()); processDocumentBuilder.setURL(documentValue.getUrl()); processDocumentBuilder.setContent(documentValue.getContent()); return processDocumentBuilder.done(); }