@Override public String getContentUrl() { return delegatee.getContentUrl(); }
@Override public String getContentUrl() { return delegatee.getContentUrl(); }
ir = buildReader(is, reader.getEncoding(), reader.getContentUrl()); pdf = transformer.createPDFFromText(ir, pageLimits, reader.getContentUrl(), transformerDebug);
ir = buildReader(is, reader.getEncoding(), reader.getContentUrl()); pdf = transformer.createPDFFromText(ir, pageLimits, reader.getContentUrl(), transformerDebug);
String msg = I18NUtil.getMessage(ERR_MISSING_CONTENT, reader.getContentUrl()); logger.error(msg);
/** * Performs checks and copies required reader attributes */ public final ContentReader getReader() throws ContentIOException { ContentReader reader = createReader(); if (reader == null) { throw new AlfrescoRuntimeException("ContentReader failed to create new reader: \n" + " reader: " + this); } else if (reader.getContentUrl() == null || !reader.getContentUrl().equals(getContentUrl())) { throw new AlfrescoRuntimeException("ContentReader has different URL: \n" + " reader: " + this + "\n" + " new reader: " + reader); } // copy across common attributes reader.setMimetype(this.getMimetype()); reader.setEncoding(this.getEncoding()); reader.setLocale(this.getLocale()); // done if (logger.isDebugEnabled()) { logger.debug("Reader spawned new reader: \n" + " reader: " + this + "\n" + " new reader: " + reader); } return reader; }
/** * Performs checks and copies required reader attributes */ public final ContentReader getReader() throws ContentIOException { ContentReader reader = createReader(); if (reader == null) { throw new AlfrescoRuntimeException("ContentReader failed to create new reader: \n" + " reader: " + this); } else if (reader.getContentUrl() == null || !reader.getContentUrl().equals(getContentUrl())) { throw new AlfrescoRuntimeException("ContentReader has different URL: \n" + " reader: " + this + "\n" + " new reader: " + reader); } // copy across common attributes reader.setMimetype(this.getMimetype()); reader.setEncoding(this.getEncoding()); reader.setLocale(this.getLocale()); // done if (logger.isDebugEnabled()) { logger.debug("Reader spawned new reader: \n" + " reader: " + this + "\n" + " new reader: " + reader); } return reader; }
" writer: " + this); else if (reader.getContentUrl() == null || !reader.getContentUrl().equals(contentUrl))
" writer: " + this); else if (reader.getContentUrl() == null || !reader.getContentUrl().equals(contentUrl))
public String execute() throws Throwable { // Let's pretend we're in 'beforeDeleteNode' ContentReader reader = contentService.getReader(contentNodeRef, ContentModel.PROP_CONTENT); String contentUrl = reader.getContentUrl(); wipingEagerCleaner.registerOrphanedContentUrl(contentUrl, true); nodeService.deleteNode(contentNodeRef); // Done return contentUrl; } };
transformerDebug.pushAvailable(reader.getContentUrl(), sourceMimetype, targetMimetype, options); List<ContentTransformer> transformers = getActiveTransformers(sourceMimetype, sourceSize, targetMimetype, options); transformerDebug.availableTransformers(transformers, sourceSize, options, "ContentService.isTransformable(...)");
transformerDebug.pushAvailable(reader.getContentUrl(), sourceMimetype, targetMimetype, options); List<ContentTransformer> transformers = getActiveTransformers(sourceMimetype, sourceSize, targetMimetype, options); transformerDebug.availableTransformers(transformers, sourceSize, options, "ContentService.isTransformable(...)");
@Test public void writeToCacheWithExistingReader() { ContentWriter oldWriter = store.getWriter(ContentContext.NULL_CONTEXT); oldWriter.putContent("Old content for " + getClass().getSimpleName()); ContentReader existingReader = oldWriter.getReader(); // Write through the caching content store - cache during the process. final String proposedUrl = FileContentStore.createNewFileStoreUrl(); ContentWriter writer = store.getWriter(new ContentContext(existingReader, proposedUrl)); final String content = makeContent(); writer.putContent(content); assertEquals("Writer should have correct URL", proposedUrl, writer.getContentUrl()); assertFalse("Old and new writers must have different URLs", oldWriter.getContentUrl().equals(writer.getContentUrl())); ContentReader reader = store.getReader(writer.getContentUrl()); assertEquals("Reader and writer should have same URLs", writer.getContentUrl(), reader.getContentUrl()); assertEquals("Reader should get correct content", content, reader.getContentString()); }
@Test public void canUseCachingContentStore() { // Write through the caching content store - cache during the process. ContentWriter writer = store.getWriter(ContentContext.NULL_CONTEXT); final String content = makeContent(); writer.putContent(content); ContentReader reader = store.getReader(writer.getContentUrl()); assertEquals("Reader and writer should have same URLs", writer.getContentUrl(), reader.getContentUrl()); assertEquals("Reader should get correct content", content, reader.getContentString()); }
@Test public void testMimetypAndEncodingAndLocale() throws Exception { ContentWriter writer = getWriter(); // set mimetype and encoding writer.setMimetype("text/plain"); writer.setEncoding("UTF-16"); writer.setLocale(Locale.CHINESE); // create a UTF-16 string String content = "A little bit o' this and a little bit o' that"; byte[] bytesUtf16 = content.getBytes("UTF-16"); // write the bytes directly to the writer OutputStream os = writer.getContentOutputStream(); os.write(bytesUtf16); os.close(); // now get a reader from the writer ContentReader reader = writer.getReader(); assertEquals("Writer -> Reader content URL mismatch", writer.getContentUrl(), reader.getContentUrl()); assertEquals("Writer -> Reader mimetype mismatch", writer.getMimetype(), reader.getMimetype()); assertEquals("Writer -> Reader encoding mismatch", writer.getEncoding(), reader.getEncoding()); assertEquals("Writer -> Reader locale mismatch", writer.getLocale(), reader.getLocale()); // now get the string directly from the reader String contentCheck = reader.getContentString(); // internally it should have taken care of the encoding assertEquals("Encoding and decoding of strings failed", content, contentCheck); }
@Test public void writeToCacheWithContentContext() { // Write through the caching content store - cache during the process. final String proposedUrl = FileContentStore.createNewFileStoreUrl(); ContentWriter writer = store.getWriter(new ContentContext(null, proposedUrl)); final String content = makeContent(); writer.putContent(content); assertEquals("Writer should have correct URL", proposedUrl, writer.getContentUrl()); ContentReader reader = store.getReader(writer.getContentUrl()); assertEquals("Reader and writer should have same URLs", writer.getContentUrl(), reader.getContentUrl()); assertEquals("Reader should get correct content", content, reader.getContentString()); }
readerBeforeWrite.getContentUrl(), readerAfterWrite.getContentUrl());
/** * Check that a valid writer into the content store can be retrieved and used. */ public void testSimpleNonTempWriter() throws Exception { ContentWriter writer = contentService.getWriter(null, null, false); assertNotNull("Writer should not be null", writer); assertNotNull("Content URL should not be null", writer.getContentUrl()); // write some content writer.putContent(SOME_CONTENT); writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN); writer.setEncoding("UTF-16"); writer.setLocale(Locale.CHINESE); // set the content property manually nodeService.setProperty(contentNodeRef, ContentModel.PROP_CONTENT, writer.getContentData()); // get the reader ContentReader reader = contentService.getReader(contentNodeRef, ContentModel.PROP_CONTENT); assertNotNull("Reader should not be null", reader); assertNotNull("Content URL should not be null", reader.getContentUrl()); assertEquals("Content Encoding was not set", "UTF-16", reader.getEncoding()); assertEquals("Content Locale was not set", Locale.CHINESE, reader.getLocale()); }
assertNotNull("Content URL should not be null", reader.getContentUrl()); assertNotNull("Content mimetype should not be null", reader.getMimetype()); assertNotNull("Content encoding should not be null", reader.getEncoding());
/** * Get a writer and write a little bit of content before reading it. */ @Test public void testSimpleUse() { ContentStore store = getStore(); String content = "Content for testSimpleUse"; ContentWriter writer = store.getWriter(ContentStore.NEW_CONTENT_CONTEXT); assertNotNull("Writer may not be null", writer); // Ensure that the URL is available String contentUrlBefore = writer.getContentUrl(); assertNotNull("Content URL may not be null for unused writer", contentUrlBefore); assertTrue("URL is not valid: " + contentUrlBefore, AbstractContentStore.isValidContentUrl(contentUrlBefore)); // Write something writer.putContent(content); String contentUrlAfter = writer.getContentUrl(); assertTrue("URL is not valid: " + contentUrlBefore, AbstractContentStore.isValidContentUrl(contentUrlAfter)); assertEquals("The content URL may not change just because the writer has put content", contentUrlBefore, contentUrlAfter); // Get the readers ContentReader reader = store.getReader(contentUrlBefore); assertNotNull("Reader from store is null", reader); assertEquals(reader.getContentUrl(), writer.getContentUrl()); String checkContent = reader.getContentString(); assertEquals("Content is different", content, checkContent); }