@Override public String getMimetype() { return delegatee.getMimetype(); }
@Override public String getMimetype() { return delegatee.getMimetype(); }
@Override protected String getTargetMimeType(RenderingContext context) { String sourceMimeType = context.makeContentReader().getMimetype(); return context.getParamWithDefault(PARAM_MIME_TYPE, sourceMimeType); }
@Override protected String getTargetMimeType(RenderingContext context) { String sourceMimeType = context.makeContentReader().getMimetype(); return context.getParamWithDefault(PARAM_MIME_TYPE, sourceMimeType); }
/** * Checks if the mimetype is supported. * * @param reader the reader to check * @throws AlfrescoRuntimeException if the mimetype is not supported */ protected void checkIsSupported(ContentReader reader) { String mimetype = reader.getMimetype(); if (!isSupported(mimetype)) { throw new AlfrescoRuntimeException( "Metadata extracter does not support mimetype: " + mimetype + "\n" + " reader: " + reader + "\n" + " supported: " + supportedMimetypes + "\n" + " extracter: " + this); } }
/** * Checks if the mimetype is supported. * * @param reader the reader to check * @throws AlfrescoRuntimeException if the mimetype is not supported */ protected void checkIsSupported(ContentReader reader) { String mimetype = reader.getMimetype(); if (!isSupported(mimetype)) { throw new AlfrescoRuntimeException( "Metadata extracter does not support mimetype: " + mimetype + "\n" + " reader: " + reader + "\n" + " supported: " + supportedMimetypes + "\n" + " extracter: " + this); } }
private void strictMimetypeCheck(ContentReader reader, TransformationOptions options, String sourceMimetype) throws UnsupportedTransformationException { if (strictMimeTypeCheck && depth.get() == 1) { String differentType = getMimetypeService().getMimetypeIfNotMatches(reader.getReader()); if (!transformerConfig.strictMimetypeCheck(sourceMimetype, differentType)) { String fileName = transformerDebug.getFileName(options, true, 0); String readerSourceMimetype = reader.getMimetype(); String message = "Transformation of ("+fileName+ ") has not taken place because the declared mimetype ("+ readerSourceMimetype+") does not match the detected mimetype ("+ differentType+")."; logger.warn(message); throw new UnsupportedTransformationException(message); } } }
private void strictMimetypeCheck(ContentReader reader, TransformationOptions options, String sourceMimetype) throws UnsupportedTransformationException { if (strictMimeTypeCheck && depth.get() == 1) { String differentType = getMimetypeService().getMimetypeIfNotMatches(reader.getReader()); if (!transformerConfig.strictMimetypeCheck(sourceMimetype, differentType)) { String fileName = transformerDebug.getFileName(options, true, 0); String readerSourceMimetype = reader.getMimetype(); String message = "Transformation of ("+fileName+ ") has not taken place because the declared mimetype ("+ readerSourceMimetype+") does not match the detected mimetype ("+ differentType+")."; logger.warn(message); throw new UnsupportedTransformationException(message); } } }
@Override protected void render(RenderingContext context) { ContentReader contentReader = context.makeContentReader(); String sourceMimeType = contentReader.getMimetype(); // Check that Tika supports the supplied file AutoDetectParser p = new AutoDetectParser(tikaConfig); MediaType sourceMediaType = MediaType.parse(sourceMimeType); if(! p.getParsers().containsKey(sourceMediaType)) { throw new RenditionServiceException( "Source mime type of " + sourceMimeType + " is not supported by Tika for HTML conversions" ); } // Make the HTML Version using Tika // This will also extract out any images as found generateHTML(p, context); }
@Override protected void render(RenderingContext context) { ContentReader contentReader = context.makeContentReader(); String sourceMimeType = contentReader.getMimetype(); // Check that Tika supports the supplied file AutoDetectParser p = new AutoDetectParser(tikaConfig); MediaType sourceMediaType = MediaType.parse(sourceMimeType); if(! p.getParsers().containsKey(sourceMediaType)) { throw new RenditionServiceException( "Source mime type of " + sourceMimeType + " is not supported by Tika for HTML conversions" ); } // Make the HTML Version using Tika // This will also extract out any images as found generateHTML(p, context); }
/** * Returns max and limit values for time, size and pages for a specified source and * target mimetypes, combined with this Transformer's general limits and optionally * the supplied transformation option's limits. */ protected TransformationOptionLimits getLimits(ContentReader reader, ContentWriter writer, TransformationOptions options) { return (reader == null || writer == null) ? transformerConfig.getLimits(this, null, null, options.getUse()).combine(options.getLimits()) : getLimits(reader.getMimetype(), writer.getMimetype(), options); }
/** * Returns max and limit values for time, size and pages for a specified source and * target mimetypes, combined with this Transformer's general limits and optionally * the supplied transformation option's limits. */ protected TransformationOptionLimits getLimits(ContentReader reader, ContentWriter writer, TransformationOptions options) { return (reader == null || writer == null) ? transformerConfig.getLimits(this, null, null, options.getUse()).combine(options.getLimits()) : getLimits(reader.getMimetype(), writer.getMimetype(), options); }
public WorkflowDeployment deployDefinition(NodeRef definitionContent) { if (!nodeService.getType(definitionContent).equals(WorkflowModel.TYPE_WORKFLOW_DEF)) { throw new WorkflowException( "Node " + definitionContent + " is not of type 'bpm:workflowDefinition'"); } String engineId = (String) nodeService .getProperty(definitionContent, WorkflowModel.PROP_WORKFLOW_DEF_ENGINE_ID); ContentReader contentReader = contentService.getReader(definitionContent, ContentModel.PROP_CONTENT); return deployDefinition(engineId, contentReader.getContentInputStream(), contentReader.getMimetype()); }
public boolean isDefinitionDeployed(NodeRef workflowDefinition) { if (!nodeService.getType(workflowDefinition).equals(WorkflowModel.TYPE_WORKFLOW_DEF)) { throw new WorkflowException( "Node " + workflowDefinition + " is not of type 'bpm:workflowDefinition'"); } String engineId = (String) nodeService.getProperty(workflowDefinition, WorkflowModel.PROP_WORKFLOW_DEF_ENGINE_ID); ContentReader contentReader = contentService.getReader(workflowDefinition, ContentModel.PROP_CONTENT); return isDefinitionDeployed(engineId, contentReader.getContentInputStream(), contentReader.getMimetype()); }
public WorkflowDeployment deployDefinition(NodeRef definitionContent) { if (!nodeService.getType(definitionContent).equals(WorkflowModel.TYPE_WORKFLOW_DEF)) { throw new WorkflowException( "Node " + definitionContent + " is not of type 'bpm:workflowDefinition'"); } String engineId = (String) nodeService .getProperty(definitionContent, WorkflowModel.PROP_WORKFLOW_DEF_ENGINE_ID); ContentReader contentReader = contentService.getReader(definitionContent, ContentModel.PROP_CONTENT); return deployDefinition(engineId, contentReader.getContentInputStream(), contentReader.getMimetype()); }
public boolean isDefinitionDeployed(NodeRef workflowDefinition) { if (!nodeService.getType(workflowDefinition).equals(WorkflowModel.TYPE_WORKFLOW_DEF)) { throw new WorkflowException( "Node " + workflowDefinition + " is not of type 'bpm:workflowDefinition'"); } String engineId = (String) nodeService.getProperty(workflowDefinition, WorkflowModel.PROP_WORKFLOW_DEF_ENGINE_ID); ContentReader contentReader = contentService.getReader(workflowDefinition, ContentModel.PROP_CONTENT); return isDefinitionDeployed(engineId, contentReader.getContentInputStream(), contentReader.getMimetype()); }
/** * Guess the mimetype for the given filename - uses the extension to match on system mimetype map */ public void guessMimetype(String filename) { ContentService contentService = services.getContentService(); ContentReader reader = contentService.getReader(nodeRef, property); // MNT-12265 Browser sets a mimetype based on extension of file. But mimeType from browser can be // different as mapped in Alfresco for current extension. Therefore we need to guess a mimetype based on // map in Alfresco String typeByExt = services.getMimetypeService().guessMimetype(filename); if (reader != null && reader.getMimetype() != null && !typeByExt.equals(MimetypeMap.MIMETYPE_BINARY)) { setMimetype(typeByExt); } else { setMimetype(services.getMimetypeService().guessMimetype(filename, reader)); } }
public void testDITAFileWithoutDoctype() throws Exception { // Munge the file to skip the doctype ContentReader reader = getReader(FILE_DITA_FILE); assertTrue(reader.exists()); String contents = reader.getContentString(); String noDocType = contents.replaceAll("<!DOCTYPE.*?>", ""); File tmp = File.createTempFile("alfresco", ".xml"); tmp.deleteOnExit(); ContentWriter w = new FileContentWriter(tmp); w.setEncoding(reader.getEncoding()); w.setMimetype(reader.getMimetype()); w.putContent(noDocType); // Now test extraction doTestDITAFile(w.getReader()); } private void doTestDITAFile(ContentReader reader) throws Exception
public void testInterTextTransform() throws Exception { ContentReader reader = writeContent("text/xml", "MacDingbat"); // check transformability assertTrue(transformer.isTransformable(reader.getMimetype(), -1, targetWriter.getMimetype(), new TransformationOptions())); // transform transformer.transform(reader, targetWriter); // get a reader onto the transformed content and check ContentReader checkReader = targetWriter.getReader(); String checkContent = checkReader.getContentString(); assertEquals("Content check failed", SOME_CONTENT, checkContent); }
public void testDirectTransform() throws Exception { ContentReader reader = writeContent("text/plain", "MacDingbat"); // check transformability assertTrue(transformer.isTransformable(reader.getMimetype(), -1, targetWriter.getMimetype(), new TransformationOptions())); // transform transformer.transform(reader, targetWriter); // get a reader onto the transformed content and check ContentReader checkReader = targetWriter.getReader(); String checkContent = checkReader.getContentString(); assertEquals("Content check failed", SOME_CONTENT, checkContent); }