4 Commits

Author SHA1 Message Date
Neil McErlean
8de08f878f Fix for ALF-3733 (Rendition API - destination-path-template fails to create association)
The fix was primarily to ensure that templated paths with elements that resolved to empty strings, did not lead to the creation of illegal paths in the FileFolderService. An example would be //foo/bar.
  Added a Java test case that reproduced the issue.
  Added a JavaScript test case that partially reproduced the issue.
  Also needed to add extract method in ScriptAction to allow some internal code to be called by subclasses. This had the serendipitous benefit of reducing repeated code. This was a secondary issue whereby parameters set in the renditionDefinition were not being correctly passed from the Script layer to the Java layer.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22099 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-08-31 16:44:11 +00:00
Neil McErlean
30084dde24 Merge from V3.3 to HEAD
20069 Fix for unreported issue where the Rendition Service's JavaScript API cannot be used to execute ad hoc rendition definitions.

Rendition Definitions can be created and executed programmatically. This works fine via the Java Foundation API, but is broken in the JavaScript API.
The rendition nodes are not correctly created for ad hoc rendition definitions created in JavaScript.
Note that the built-in rendition definitions work fine in JavaScript.

This fix:
    - ScriptRenditionDefinition now extends ScriptAction in order to reuse its parameter handling and execution code.
    - ScriptRenditionDefinition now mimics ScriptAction so you can call
            renditionDef.execute(testSourceNode); in JavaScript.
    - more test coverage in the test_renditionService.js to reproduce the issue.
    - adds debug logging in various places in the rendition service.
    - changes ScriptAction to be a non-final class so that it can be extended by ScriptRenditionDefinition.
    - fixes some fragile asserts in test code.
    - changes a few fields to protected visibility and provides an extension point so that the rendition service can execute its "actions" as renditions rather than simple actions.
    - trivial. tidied up some unused imports in ScriptNode.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20070 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-05-04 15:31:23 +00:00
Neil McErlean
8e9c4f3aa5 RenditionService JS API.
Support for creating a RenditionDefinition from within JavaScript
Support for executing such an ad hoc rendition definition.
ScriptRendtionService now accepts long-form or short-form QNames where applicable.
Replaced "rendering actions" with "rendition definitions" in some javadoc and some private or local variable names.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19269 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-03-12 21:28:38 +00:00
Neil McErlean
f26115a739 Added JS API to the RenditionService
new renditionServiceScript bean
    new test method in RenditionServiceIntegrationTest which uses test_renditionservice.js
    ScriptRenditionService is the entry point to the JavaScript API impl
    Can now render a ScriptNode with a Java-saved or built-in RenditionDefinition
    Can get renditions for a source ScriptNode
        get all renditions
        get renditions from rendition definition x, e.g. "cm:doclib"
        get renditions whose mimetype starts with prefix.

Added RenditionService to ServiceRegistry.
    Necessary for the JS API, also desirable for completeness



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19195 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-03-10 16:06:07 +00:00