@Override public ContentStream setContent(StoredObject so, ContentStream contentStream) { if (so instanceof Content) { ContentStreamDataImpl newContent; Content content = (Content) so; if (null == contentStream) { newContent = null; } else { boolean useFakeContentStore = so.getTypeId().equals(DefaultTypeSystemCreator.BIG_CONTENT_FAKE_TYPE); newContent = new ContentStreamDataImpl( MAX_CONTENT_SIZE_KB == null ? 0 : MAX_CONTENT_SIZE_KB, useFakeContentStore); String fileName = contentStream.getFileName(); if (null == fileName || fileName.length() <= 0) { fileName = so.getName(); // use name of document as fallback } newContent.setFileName(fileName); String mimeType = contentStream.getMimeType(); if (null == mimeType || mimeType.length() <= 0) { mimeType = "application/octet-stream"; // use as fallback } newContent.setMimeType(mimeType); newContent.setLastModified(new GregorianCalendar()); try { newContent.setContent(contentStream.getStream()); } catch (IOException e) { throw new CmisRuntimeException("Failed to get content from InputStream", e); } } content.setContent(newContent); return newContent; } else { throw new CmisInvalidArgumentException( "Cannot set content, object does not implement interface Content."); } }