Commit Graph

30 Commits

Author SHA1 Message Date
David Caruana
ee3eb7d5d4 CMIS setContentStream()
- implemented as a web script
- complements the "get content" web script; just use put against same resource
- added testContentStream() to CMISTest

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13870 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-07 09:30:10 +00:00
David Caruana
550c29b1fa CMIS Allowable Actions (part 2)
- full coverage of includeAllowableActions in AtomPub methods as per spec
- add testQueryAllowableActions()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13842 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-06 11:21:37 +00:00
David Caruana
f11b1e8ffa CMIS Allowable Actions REST binding (part 1)
- add getAllowableActions()
- update getProperties(), getChildren() with includeAllowableActions flag
- testAllowableActions()

TODO:
- add includeAllowableActions flag for all other required methods
- Abdera extension to parse allowable actions

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13834 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-03 21:19:31 +00:00
David Caruana
3205b2c98c Cleanly split CMIS interfaces from CMIS implementation.
- org.alfresco.cmis => public interfaces
- org.alfresco.cmis.mapping / dictionary / search => implementation

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13808 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-02 13:50:10 +00:00
David Caruana
0f33af5dc1 Refactor CMIS property accessors (value / lucene mappers).
- remove notion of generic property accessor; consolidated on named property accessor
- build property accessors at time of CMIS Dictionary creation (cached, removes continuous creation of small objects); hooked into CMIS Property Definition
- remove property service
- lookup of property accessor quicker and constrained to properties in CMIS Dictionary
- fixup fallout in CMIS AtomPub, Web Services and Query

CMIS AtomPub, Web Services and Query tests pass.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13806 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-02 12:06:26 +00:00
David Caruana
dbec12a9c7 Refactor CMIS Dictionary part 2
- further simplification of CMISDictionaryService and fixup fallout
- added logging
- consolidate & fix property definition handling (only one definition per property)
- include support for aspect properties
- fix property.isInherited
- open up the door for types outside of CMIS doc, folder, rel & policy

Dictionary Service
- add isOverride() to PropertyDefinition

Invite Workflows
- ensure they create their own namespace for new types/props
- NOTE: the previous way uses a hole in the DictinaryService which has been there
        unnoticed for over 4 years, till now. At some point, the hole will be filled in.
        
Tests pass for CMIS REST / Web Services and Query.
Tests pass for Invitation Service.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13786 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-31 17:48:28 +00:00
David Caruana
509708b273 CMIS Dictionary Refactor
- follows pattern of Alfresco Dictionary
- simplified and much reduced DictionaryService interface
- model now compiled and cached (no more lots of small continuous object creations)
- walk model via simple getters
- validated (no dangling references)
- fix up property inheritance
- fix up sub-types for all types
- implements strict mode only for now (i.e. doesn't go outside of CMIS doc, folder, rel and policy)
- abstract helper for building other CMIS dictionaries (e.g. mapping all types in Alfresco)

Alfresco Dictionary:
- add event for initialized or re-initialized

Fix up usage in CMIS REST, Web Services and query. Tests pass.

REST support for custom sub-types and properties now reliable as constrained by validated CMIS model.

TODO:
- hook property value accessors into CMIS Dictionary

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13768 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-27 23:13:29 +00:00
David Caruana
2280b0ada7 CMIS Web Services: Fix retrieval of content stream for sub-types of Content.
For AIIM demo.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13756 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-26 19:05:28 +00:00
David Caruana
cac4d6497e Fill out CMIS Web Service query result set:
- result set driven from select columns (not fixed set of doc/folder props)
- support for multi-valued properties (to v0.5 spec, will have to change for v0.6)

To support AIIM demo.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13728 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-23 17:22:24 +00:00
David Caruana
0a8a9c41ec Refactor of CMIS Tests. Move generic helpers to base test class.
- allows for multiple CMIS unit tests e.g. isolate tests that rely on vendor specific behaviour

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13717 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-23 11:16:31 +00:00
David Caruana
8af67b24b7 MOB-378 (AtomPub binding) Support for sub-types (and properties)
- 1st pass at creation of document / folder sub-types
- 1st pass at setting / updating custom properties
- Existing AtomPub CMIS Tests passing

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13707 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-22 15:23:53 +00:00
David Caruana
894727b0cd Part 1 of MOB-378 Support for sub-types (and properties).
Supported for read cases. Property rendering driven from type model.

Fixed support for ID, XML, HTML and URI type properties.
Fixed ContentStreamUri property name.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13607 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-12 16:46:46 +00:00
David Caruana
028fd7b6a0 Fix ALFCOM-2428: CMIS: REST/Atom: SQL query on Folders
- specific bug raised has been already fixed, but added new case to testQuery()
- fixed minor issue found by test
   - content stream link for folder no longer rendered

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13482 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-05 12:10:38 +00:00
David Caruana
e82e2067ce Fix ETHREEOH-1131: Syntax error with descendants.post.atomentry.201.ftl
- added testCreateDocumentViaDescendants()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13467 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-04 15:14:33 +00:00
David Caruana
b870fe9d59 CMIS: fix retrieval of Private Working Copy in AtomPub binding
- added case to testCheckout()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13455 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-03 15:49:11 +00:00
David Caruana
4683fe68de CMIS: Query paging support in AtomPub binding
- exposes query service support for paging
- added testGetQueryPaging()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13452 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-03 14:56:46 +00:00
Dave Ward
660dc69222 - Added a new ‘catch all’ FormatReader that populates a requestbody script variable when no other FormatReaders are configured to handle a given request type. This was added to help the processing of posts from Orbeon XForms.
- Modified AbstractWebScript.execute() so that request-type specific script parameters (e.g. json, feed) are only available to those scripts that declare a type specific suffix, e.g. *.post.json.js, *.put.atomfeed.js. All non request type specific JS scripts will see requestbody (or formData if the request was multipart form data).This is so that scripts relying on requestBody being available at the moment don’t later get broken if we later map their request types to new FormatReaders.
- Moved getExecuteScript from DeclarativeWebScript into AbstractWebScript and made other subclasses use it, therefore using consistent path resolution rules across all web scripts.
- Removed FormatReader.createTemplateParameters() – Dave said this is not needed and the scripts themselves should copy over script parameters that are required by the templates.
- Renamed *.post.js and *.put.js expecting JSON input to *.post.json.js and *.put.json.js
- Extensive manual testing of share
- Added unit tests
  - Ensure requestbody available to *.post.jst and *.put.js for unmapped request types
  - Ensure json variable available to *.json.post.js and *.json.put.js scripts handling application/json requests
  - Ensure entry variable available to *.atom.post.js and *. atom.put.js scripts handling application/atom;type=entry requests
  - Ensure error raised for bogus script with extension corresponding to format with no FormatReader


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@11034 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-26 12:01:05 +00:00
David Caruana
6ea64c2e0f Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10737 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:27:19 +00:00
David Caruana
40bb33b90e Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10735 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:25:34 +00:00
David Caruana
385ea356c4 Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10734 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:24:01 +00:00
David Caruana
d2619d5ea9 Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10733 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:22:17 +00:00
David Caruana
57c7de2df6 Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10732 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:15:27 +00:00
David Caruana
fb231f88bc Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10731 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:09:45 +00:00
David Caruana
3e303a86d5 Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10730 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:08:13 +00:00
David Caruana
a6e263078e Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10729 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 11:06:42 +00:00
David Caruana
7e0b3f5453 Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10727 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 10:58:29 +00:00
David Caruana
86fa1c011f Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10726 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 10:56:47 +00:00
David Caruana
e22df58ebb Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10725 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 10:55:16 +00:00
David Caruana
703d1a3564 Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10724 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 10:53:14 +00:00
David Caruana
d4bb800e1d Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10723 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 10:46:38 +00:00