当前位置: 首页>>代码示例>>Java>>正文


Java TransformationOptions.setSourceNodeRef方法代码示例

本文整理汇总了Java中org.alfresco.service.cmr.repository.TransformationOptions.setSourceNodeRef方法的典型用法代码示例。如果您正苦于以下问题:Java TransformationOptions.setSourceNodeRef方法的具体用法?Java TransformationOptions.setSourceNodeRef怎么用?Java TransformationOptions.setSourceNodeRef使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.alfresco.service.cmr.repository.TransformationOptions的用法示例。


在下文中一共展示了TransformationOptions.setSourceNodeRef方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isThumbnailDefinitionAvailable

import org.alfresco.service.cmr.repository.TransformationOptions; //导入方法依赖的package包/类
/**
 * Checks to see if at this moment in time, the specified {@link ThumbnailDefinition}
 *  is able to thumbnail the source mimetype. Typically used with Thumbnail Definitions
 *  retrieved by name, and/or when dealing with transient {@link ContentTransformer}s.
 * @param sourceUrl The URL of the source (optional)
 * @param sourceMimetype The source mimetype
 * @param sourceSize the size (in bytes) of the source. Use -1 if unknown.
 * @param sourceNodeRef which is set in a copy of the thumbnailDefinition transformation options,
 *        so that it may be used by transformers and debug.
 * @param thumbnailDefinition The {@link ThumbnailDefinition} to check for
 */
public boolean isThumbnailDefinitionAvailable(String sourceUrl, String sourceMimetype, long sourceSize, NodeRef sourceNodeRef, ThumbnailDefinition thumbnailDefinition)
{
    // Copy the thumbnail's TransformationOptions and set the sourceNodeRef, for use by transformers and debug. 
    TransformationOptions options = thumbnailDefinition.getTransformationOptions().deepCopy();
    options.setSourceNodeRef(sourceNodeRef);

    // Log the following getTransform() as trace so we can see the wood for the trees
    boolean orig = TransformerDebug.setDebugOutput(false);
    try
    {
        return this.contentService.getTransformer(
                sourceUrl, 
                sourceMimetype,
                sourceSize, 
                thumbnailDefinition.getMimetype(), options
          ) != null;
    }
    finally
    {
        TransformerDebug.setDebugOutput(orig);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:34,代码来源:ThumbnailRegistry.java

示例2: getTransformOptionsImpl

import org.alfresco.service.cmr.repository.TransformationOptions; //导入方法依赖的package包/类
@Override
protected TransformationOptions getTransformOptionsImpl(TransformationOptions options, RenderingContext context)
{
    options.setSourceNodeRef(context.getSourceNode());

    ImageTransformationOptions imageTransformationOptions = (ImageTransformationOptions)options;
    
    String commandOptions = context.getCheckedParam(PARAM_COMMAND_OPTIONS, String.class);
    ImageResizeOptions imageResizeOptions = getImageResizeOptions(context);

    boolean autoOrient = context.getParamWithDefault(PARAM_AUTO_ORIENTATION, true);
    
    imageTransformationOptions.setResizeOptions(imageResizeOptions);
    imageTransformationOptions.setAutoOrient(autoOrient);
    if (commandOptions != null)
    {
        imageTransformationOptions.setCommandOptions(commandOptions);
    }
    
    return super.getTransformOptionsImpl(options, context);
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:22,代码来源:ImageRenderingEngine.java

示例3: transformDocument

import org.alfresco.service.cmr.repository.TransformationOptions; //导入方法依赖的package包/类
private ScriptNode transformDocument(String mimetype, NodeRef destination)
{
    ParameterCheck.mandatoryString("Mimetype", mimetype);
    ParameterCheck.mandatory("Destination Node", destination);
    final NodeRef sourceNodeRef = nodeRef;
    
    // the delegate definition for transforming a document
    Transformer transformer = new AbstractTransformer()
    {
        protected void doTransform(ContentService contentService,
            ContentReader reader, ContentWriter writer)
        {
            TransformationOptions options = new TransformationOptions();
            options.setSourceNodeRef(sourceNodeRef);
            contentService.transform(reader, writer, options);
        }
    };
    
    return transformNode(transformer, mimetype, destination);
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:21,代码来源:ScriptNode.java

示例4: getTransformOptionsImpl

import org.alfresco.service.cmr.repository.TransformationOptions; //导入方法依赖的package包/类
@Override
protected TransformationOptions getTransformOptionsImpl(TransformationOptions options, RenderingContext context)
{
    options.setSourceNodeRef(context.getSourceNode());
    options.setTargetNodeRef(context.getDestinationNode());
    
    return super.getTransformOptionsImpl(options, context);
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:9,代码来源:ReformatRenderingEngine.java

示例5: updateThumbnail

import org.alfresco.service.cmr.repository.TransformationOptions; //导入方法依赖的package包/类
/**
 * @see org.alfresco.service.cmr.thumbnail.ThumbnailService#updateThumbnail(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.TransformationOptions)
 */
public void updateThumbnail(final NodeRef thumbnail, final TransformationOptions transformationOptions)
{
    if (logger.isDebugEnabled() == true)
    {
        logger.debug("Updating thumbnail (thumbnail=" + thumbnail.toString() + ")");
    }
    
    // First check that we are dealing with a rendition object
    if (renditionService.isRendition(thumbnail))
    {
        // Get the node that is the source of the thumbnail
        ChildAssociationRef parentAssoc = renditionService.getSourceNode(thumbnail);
        
        if (parentAssoc == null)
        {
            if (logger.isDebugEnabled() == true)
            {
                logger.debug("Updating thumbnail: The thumbnails parent cannot be found (thumbnail=" + thumbnail.toString() + ")");
            }
            throw new ThumbnailException(ERR_NO_PARENT);
        }
        
        final QName renditionAssociationName = parentAssoc.getQName();
        NodeRef sourceNode = parentAssoc.getParentRef();

        // Get the content property
        QName contentProperty = (QName)nodeService.getProperty(thumbnail, ContentModel.PROP_CONTENT_PROPERTY_NAME);

        // Set the basic detail of the transformation options
        transformationOptions.setSourceNodeRef(sourceNode);
        transformationOptions.setSourceContentProperty(contentProperty);
        transformationOptions.setTargetContentProperty(ContentModel.PROP_CONTENT);

        // Do the thumbnail transformation. Rendition Definitions are persisted underneath the Data Dictionary for which Group ALL
        // has Consumer access by default. However, we cannot assume that that access level applies for all deployments. See ALF-7334.
        RenditionDefinition rendDefn = AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<RenditionDefinition>()
            {
                @Override
                public RenditionDefinition doWork() throws Exception
                {
                    return renditionService.loadRenditionDefinition(renditionAssociationName);
                }
            }, AuthenticationUtil.getSystemUserName());
        
        if (rendDefn == null)
        {
            String renderingEngineName = getRenderingEngineNameFor(transformationOptions);

            rendDefn = renditionService.createRenditionDefinition(parentAssoc.getQName(), renderingEngineName);
        }
        Map<String, Serializable> params = thumbnailRegistry.getThumbnailRenditionConvertor().convert(transformationOptions, null);
        for (String key : params.keySet())
        {
            rendDefn.setParameterValue(key, params.get(key));
        }
        
        renditionService.render(sourceNode, rendDefn);
    }
    else
    {
        if (logger.isDebugEnabled() == true)
        {
            logger.debug("Updating thumbnail: cannot update a thumbnail node that isn't the correct thumbnail type (thumbnail=" + thumbnail.toString() + ")");
        }
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:70,代码来源:ThumbnailServiceImpl.java

示例6: getContentAsText

import org.alfresco.service.cmr.repository.TransformationOptions; //导入方法依赖的package包/类
/**
 * @param length      Length of the character stream to return, or -1 for all
 * 
 * @return the binary content stream converted to text using any available transformer
 *         if fails to convert then null will be returned
 */
public String getContentAsText(int length)
{
    String result = null;
    
    if (MimetypeMap.MIMETYPE_TEXT_PLAIN.equals(getMimetype()))
    {
        result = getContentMaxLength(length);
    }
    else
    {
        // get the content reader
        ContentService contentService = services.getContentService();
        NodeRef nodeRef = getNodeRef();
        ContentReader reader = contentService.getReader(nodeRef, property);
        if (reader == null)
        {
            return ""; // Caller of this method returns "" if there is an IOException
        }
        
        // get the writer and set it up for text convert
        ContentWriter writer = contentService.getTempWriter();
        writer.setMimetype("text/plain"); 
        writer.setEncoding(reader.getEncoding());
        
        TransformationOptions options = new TransformationOptions();
        options.setSourceNodeRef(nodeRef);

        // try and transform the content
        try
        {
            contentService.transform(reader, writer, options);
            
            ContentReader resultReader = writer.getReader();
            if (resultReader != null && reader.exists())
            {
               if (length != -1)
               {
                   result = resultReader.getContentString(length);
               }
               else
               {
                   result = resultReader.getContentString();
               }
            }
        }
        catch (NoTransformerException|UnsupportedTransformationException e)
        {
            // ignore
        }
    }
    return result;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:59,代码来源:BaseContentNode.java


注:本文中的org.alfresco.service.cmr.repository.TransformationOptions.setSourceNodeRef方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。