Commit Graph

60 Commits

Author SHA1 Message Date
Dave Ward
2454c27cd6 SAIL-173: Added processing of includeRelationships argument to CMIS REST and SOAP bindings
- Despite its name, this argument is not a Boolean!
- TODO: Extend TCK to test relationships

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18897 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-02-27 15:23:11 +00:00
Dave Ward
7d41c0b8bb Merged DEV/CMIS_10 to HEAD
18731: SAIL-169: CMIS REST versioning compliance
      - Rendering of "via" link for working copy and "current-version" and "working-copy" links for documents
      - Added ability to dereference object IDs in cmisproperty() template function
      - Fixed broken CMIS index page


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18896 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-02-27 13:24:10 +00:00
David Caruana
bd2f2441fd Merging BRANCHES/DEV/CMIS_10 to HEAD (phase 2 - currently up-to-date with branch):
18717: SAIL-166: Refactor CMIS to use shared services and resolve objectIds and error codes consistently
   18731: SAIL-169: CMIS REST versioning compliance
   18732: Fix failing change log test.
   18768: Add displayName and queryName attributes to rendered properties (in CMIS AtomPub binding).
   18775: Fix exception reporting when retrieving items that do not exist (in CMIS AtomPub binding).
   18784: Fix CMIS REST change logging
   18785: SAIL-174: CMIS Relationship lookup by association ID
   18812: SAIL-183: Support orderBy argument for getChildren and getCheckedOutDocs in CMIS REST and Web Service bindings
   18823: CMIS WS Bindings were moved to 1.0 cd07 schema.
   18838: Update to latest Chemistry TCK.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-02-25 15:02:44 +00:00
David Caruana
66363a5254 Merging BRANCHES/DEV/CMIS_10 to HEAD:
17717: This check-in contains changes in Java and .NET TCK tests related to CMIS-43  and CMIS-44 JIRA tasks. Also some bugs were faced out and fixed in 
   17727: CMIS-69: Alfresco to CMIS ACL mapping: Part 1: API
   17732: Merge HEAD to DEV/CMIS10
   17756: MOB-563: SQL Tests - Lexer
   17764: CMIS-69: Alfresco to CMIS ACL mapping: get ACL support
   17802: More for CMIS-69: Alfresco to CMIS ACL mapping. Implementation for applyAcl.
   17830: Fixes for CMIS lexer and parser tests
   17838: Access fix ups for access by the WS/Rest layers
   17869: 1) remote-api:
   17874: SAIL-146: Alfresco to CMIS ACL mapping: Support to group ACEs by principal id
   17883: Adjust version properties for dev/cmis10 branch.
   17885: Update OASIS CMIS TC status.
   17889: Fix issue where objectid is not rendered correctly for CMIS private working copies.
   17890: SAIL-146: Alfresco to CMIS ACL mapping: Fixes for ACL merging when reporting and ordering of ACEs. Report full permissions and not unique short names.
   17902: Fix issue where CMIS queries via GET used incorrect defaults for paging.
   17909: Fix CMIS link relations for folder tree.
   17912: Fix CMIS type descendants atompub link
   17922: Update AtomPub binding to CMIS 1.0 CD05 XSDs.
   17924: SAIL-146: Alfresco to CMIS ACL mapping: Test set using full permissions (as opposed to short unique names)
   17927: Fix content stream create/update status to comply with CMIS 1.0 CD05.
   17934: Resolve encoding issues in CMIS AtomPub binding.
   17973: SAIL-171: CMIS Renditions REST binding
   17975: SAIL-146: Alfresco to CMIS ACL mapping: Completed AllowedAction and Permissions mapping. Added missing canDeleteTree.
   17990: Update CMIS AtomPub to CD06
   17996: Updates for cmis.alfresco.com for CD06 in prep for public review 2.
   18007: WS-Bindings were updated with CMIS 1.0 cd06 changes.
   18016: CMIS web services: Add missing generated files from WSDL
   18018: CMIS index page updates for cmis.alfresco.com
   18041: Merged HEAD to DEV/CMIS_10
   18059: SAIL-227:
   18067: SAIL-157: Strict vs Non-Strict Query Language: Enforce restrictions on the use of SCORE() and CONTAINS()
   18080: Fix for SAIL-213:Bug: Query engine does not check that select list properties are valid for selectors
   18131: SAIL-156: Query Language Compliance: Fix support for LIKE, including escaping of '%' and '_' with '\'.
   18132: SAIL-156: Query Language Compliance: Fix support for LIKE, including escaping of '%' and '_' with '\': Fix underlying lucene impl for prefix and fuzzy queries to match wildcard/like
   18143: SAIL-156: Query Language Compliance: Fix and check qualifiers in IN_TREE and IN_FOLDER. Improved scoring for CONTAINS()
   18173: SAIL-245: Exclude thumbnails from normal query results
   18179: SAIL 214: Query Language Compliance: Check for valid object ids in IN_FOLDER and IN_TREE
   18210: SAIL-156:  Query Language Compliance: Support for simple column aliases in predicates/function arguments/embedded FTS. Check property/selector binding in embedded FTS.
   18211: SAIL-156:  Query Language Compliance: Support for simple column aliases in predicates/function arguments/embedded FTS. Check property/selector binding in embedded FTS.
   18215: SAIL 156: Query Language Compliance: Fix CMIS type info to reflect the underlying settings of the Alfresco type for includeInSuperTypeQuery
   18244: SAIL 156: Query Language Compliance: includeInSuperTypeQuery -> includedInSuperTypeQuery: First cut of cmis query test model. Fixed modelSchema.xml to validate
   18255: SAIL 156: Query Language Compliance: First set of tests for predicates using properties mapped to CMIS Strings.
   18261: CMIS-49 SAIL-163: Alfresco to CMIS Change Log mapping - New CMIS Audit mapping is implemented. ChangeLogDataExtractor was added.
   18263: Build Fix
   18285: SAIL 156: Query Language Compliance: Restrictions on predicates that may be used by single-valued and multi-valued properties
   18287: SAIL-186: Changes to make CMIS Rendition REST bindings pass new TCK tests
   18291: Fix Eclipse classpath problems
   18323: CMIS-44 SAIL-187: Change Log tests (WS) – Java and .NET tests for change log were implemented.
   18325: SAIL 156: Query Language Compliance: Fixes and tests for d:mltext mappings
   18329: Updated Chemistry TCK jar including Dave W's rendition tests.
   18333: Fix compile error - spurious imports.
   18334: Fix issue where absurl web script method failed when deployed to root context.
   18339: Update CMIS index page for start of public review 2.
   18387: SAIL-147: CMIS ACL REST bindings + framework fixes
   18392: Fix typo
   18394: SAIL 156: Query Language Compliance: Fixes and tests for d:<numeric>
   18406: SAIL 156: Query Language Compliance: Remaining type/predicate combinations. Restriction of In/Comparisons for ID/Boolean
   18408: CMIS Query language - remove (pointless) multi-valued column from language definition
   18409: Formatting change for CMIS.g
   18410: Formatting change for FTS.g
   18411: CMIS TCK tests were updated to CMIS 1.0 cd06 schemas.
   18412: SAIL 156: Query Language Compliance: Tests and fixes for aliases for all data types in simple predicates (they behave as the direct column reference)
   18417: Update Chemistry TCK which now incorporates Dave W's ACL tests.
   18419: Update CMIS index page to include public review end date.
   18427: SAIL 156: Query Language Compliance: Expose multi-valued properties in queries. Tests for all accessors. Fix content length to be long.
   18435: SAIL 156: Query Language Compliance: Use queryable correctly and fix up model mappings. Add tests for baseTypeId, contentStreamId and path.
   18472: SAIL 156: Query Language Compliance: Tests and fixes for FTS/Contains expressions. Adhere strictly to the spec - no extensions available by default. Improved FTS error reporting (and stop any recovery).
   18477: SAIL-164: CMIS change log REST bindings
   18495: SAIL 156: Query Language Compliance: Tests and fixes for escaping in string literals, LIKE and FTS expressions.
   18537: SAIL 156: Query Language Compliance: Sorting support. Basic sort test for all orderable/indexed CMIS properties.
   18538: SAIL-164: CMIS change log fixes for TCK compliance
   18547: SAIL 156: Query Language Compliance: Ordering tests for all datatypes, including null values. 
   18582: Incorporate latest Chemistry TCK
   18583: Update list of supported CMIS capabilities in index page.
   18606: SAIL-156, SAIL-157, SAIL-158: Query Language Compliance: Respect all query options including locale. Fixes and tests for MLText cross language support.
   18608: SAIL-159: Java / Javascript API access to CMIS Query Language
   18617: SAIL-158: Query Tests: Check policy and relationship types are not queryable.
   18636: SAIL-184: ACL tests (WS) 
   18663: ACL tests were updated in accordance with last requirements by David Caruana.
   18680: Update to CMIS CD07
   18681: Fix CMIS ContentStreamId property when document has no content.
   18700: CMIS: Head merge problem resolution.

Phase 1: Merge up to and including revision 18700, as this the point where both AtomPub and Web Services TCK tests succeed completely on dev branch.

Note: includes CMIS rendition support ready for integration and testing with DM renditions.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18790 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-02-23 17:23:42 +00:00
Kevin Roast
ec246ec1da Merged DEV/TEMPORARY to HEAD
17804: Branch for SpringSurf integration 2 to RemoteAPI - from HEAD r17789
   17808: Part 3 of SpringSurf integration - RemoteAPI, Web-Client, Mobile and DOD5015 java code refactored to use SpringSurf Webscripts libraries, removed dependancies on existing WebScriptFramework project.
   17812: Removed web-framework and webscript-framework projects. Updated build scripts to use SpringSurf dependencies for remote API and client projects and also removal of wf and wsf projects from builds.
   17818: Various Spring app context and config changes to integration SpringSurf at the RemoteAPI and Web-Client project level.
           - Build scripts fixed up
           - Temporary web.xml changes until spring mvc dispatcher is hooked into /service urls
           - The server starts up! No nothing else works yet, you know how this goes...
   17819: Fix to incremental-webclient-tomcat-exploded build target to work on first deploy to a clean tomcat (affects HEAD also, not SpringSurf related).
   17872: Refactor Web-Client web.xml to use Spring WebScripts Dispatcher Servlet
           - servlet is configured to use the existing Spring application context instance as loaded by the ContextLoaderListener
          Share web.xml TODOs for JBoss app-server support (currently missing from SpringSurf extraction)
   17892: Upgraded Repository Spring dependant libraries to 3.0.0 release.
          Upgraded to latest SpringSurf release (also running against Spring 3.0.0)
          Various related fixes.
   17893: Additional Spring3.0.0 migration fixes and libraries.
   17899: Integrated another SpringSurf bug fix - to correctly add ClassPathStore instances to SearchPath objects.
   17901: Fixes to handling of merging of models returned from the new Script Processors.
          Share now works against a Repository that is running SpringSurf WebScripts and Spring 3.0.0.
   17904: Latest SpringSurf libraries after latest changes.

 TODO:
  - NTLM filter needs moving to Share (not present in SpringSurf)
  - MessagesWebScript - community tracking image needs adding to Share specific version (not present in SpringSurf)
  - feedController - for rss feed service urls - needs testing
  - Clustering config overrides - no longer work in SpringSurf, needs a rethink
  - Mobile project is not working
  - PHP module project
  - JBossEnabledWebApplicationContext required for Share - currently missing from SpringSurf

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17906 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-01-06 17:09:10 +00:00
Kevin Roast
6914366269 Merged DEV/TEMPORARY to HEAD
17667: Branch for SpringSurf integration - from HEAD r17665
   17668: Fix to ensure included scripts files are not loaded from a cached classpath loader.
   17670: Part 1 of SpringSurf integration - changes relating to spring-surf-core-1.0.0.CI-SNAPSHOT.jar
   17674: Part 2 of SpringSurf integration - changes relating to spring-surf-core-configservice-1.0.0.CI-SNAPSHOT.jar

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17788 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-12-14 13:41:05 +00:00
David Caruana
369a980f56 Merged CMIS063 to HEAD
17102: Add Date svn:keyword
  17103: - mask out cmis-tck-ws build/classes folder, fix JRE dependency in cmis-tck-ws .classpath
  17106: MOB-1330: Upgrade Web Services Repository to 0.7.
  17117: Now moved to Chemistry.
  17120: CMIS Update to v1.0 Committee Draft 04
  17123: Checkin mistake.
  17129: Updated Chemistry AtomPub TCK with appropriate UTF-8 encoding.
  17138: Fix reference to CMIS change list in CMIS Front Page.
  17142: Move all CMIS web scripts into same package.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17259 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-30 14:40:17 +00:00
David Caruana
be4912981e Merged CMIS063 to HEAD
17100: Chemistry: AtomPub TCK updates, Alfresco CMIS URL bindings, Delete Content Stream

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17258 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-30 14:23:42 +00:00
David Caruana
93346e262e Merged CMIS063 to HEAD
16884: Check point for MOB-566: Update Query to 0.7
  16885: CMIS 0.7 upgrade checkpoint.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17242 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 18:23:03 +00:00
David Caruana
d4b2de0ee2 Merged CMIS063 to HEAD
16728: CMIS 0.7 upgrade - checkpoint.
  16770: CMIS 0.7 upgrade - checkpoint.
  16795: CMIS 0.7 upgrade - checkpoint

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17240 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 17:46:38 +00:00
David Caruana
d37d203c73 Merged CMIS063 to HEAD
15929: Incorporate Chemistry TCK into Alfresco

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17237 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 17:23:46 +00:00
David Caruana
e90b63f20b Merged CMIS063 to HEAD
15327: 0.62 final update: Add feed links as per spec
  15334: 0.62 final update: queries working again.
  15350: 0.62 final update: query via GET
  15362: 0.62 final update: query uri template and query result set feed as per 0.62
  15434: Fix decoding issue retrieving query string of request.
  15441: 0.62 final updates: fixes to allow CMIS Fileshare browsing

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17231 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 16:27:40 +00:00
David Caruana
c9facc3e78 Merged CMIS063 to HEAD
15242: 0.62c update: Abdera extension / AtomPub tests passing (except query)
  15277: 0.62c upgrade: AtomPub resources/links refactor
  15290: 0.62c Upgrade: AtomPub resource/link compliance.  Updated Test client / Custom Type test client / Abdera extension.
  15293: 0.62 final Upgrade: Introduce schemas and examples
  15318: 0.62 final upgrade: AtomPub server and tests updated
  15321: Fixes for CMIS custom model tests.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17229 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 16:19:15 +00:00
David Caruana
58e6c8684c Merged CMIS063 to HEAD
15185: 0.62c upgrade: service document
  15198: 0.62c upgrade: allowable actions
  15228: 0.62c upgrade: types and properties

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17227 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 16:07:47 +00:00
David Caruana
6f82304ac5 Merged CMIS063 to HEAD
15179: Introduce CMIS 0.62 XSDs and examples.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17222 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-10-29 14:52:03 +00:00
David Caruana
2b5c440c24 Fix ALFCOM-2872: CMIS: checkout does not work for a previously versioned document
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14918 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-25 11:14:59 +00:00
David Caruana
565c57d893 Web Script Framework enhancements: ReadOnly transactions, Buffered Responses
- additional 'allow' attribute on <transaction> element in web script descriptor
   - values: readonly, readwrite (default)
   - readonly means that the whole web script executes in read transaction
   - readonly lighter weight; no flushing, no cache checks/updates
- transaction aware web script response buffers
   - only commits to response when trx is committed
   - fixes ALFCOM-2497 - CMIS: createFolder & immediately add document can fail
   - also means errors half-way thru response result in clean response with error contents only
   - readonly transactions are not buffered
- WebScript RepoStore now uses ReadOnly transaction for gets
- CMIS getter Web Scripts set to ReadOnly transaction
- Fix up Web Script pattern that checks for WebScriptServletResponse using instanceof
   - no longer the case, as it may be wrapped in BufferedResponse
   - use getRuntime() instanceof WebScriptServletRuntime and/or
   - WebScriptServletRuntime.getHttpServletResponse/Request(WebScriptReponse r) - returns null, if none

Tests:
- Run CMIS Tests
- Run CMIS BulkCreateSystemTest (now working)
- Run Share

Suggestion:
- Update your 'read' web script descriptors to include <transaction allow="readonly">. This will improve repo performance significantly.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14670 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-11 18:25:59 +00:00
David Caruana
01718c3455 MOB-356: CMIS Spec - deleteContentStream()
- AtomPub binding
- added testContentStreamEmpty()
- added testContentStreamDelete()
- some spec issues raised for CMIS TC

- also added delete() to ScriptContentData

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14643 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-10 17:55:40 +00:00
David Caruana
c185e0674f System test for ALFCOM-2947: Bulk create folders/docs via CMIS can fail.
Note: This test currently fails intermittently, but won't halt the build, as it's a System test.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14640 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-10 15:13:50 +00:00
David Caruana
4fa8c5c423 CMIS Relationship delete implementation
- added testDeleteRelationship

CMIS Relationship loose ends
- added property filter to getRelationships
- updated allowable actions for relationships

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14468 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-28 13:31:02 +00:00
Andrew Hind
3b68651191 More SearchService refactor. Added CMIS SQL to the search service. Tidy ups. FTS supports default namespace and templates via search parameters API. (MOB-568, MOB-569)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14463 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-28 10:34:51 +00:00
David Caruana
47da70f4df CMIS Relationship support in AtomPub binding
- getRelationships
- getRelationship
- createRelationship
- unit tests for above

TODO: delete relationship, includeRelationships flag

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14461 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-27 22:11:31 +00:00
David Caruana
749352836f Re-enable I18N CMIS tests
- add support for encoding to Mock HTTP Request in Web Script Test Server
- tests run in default encoding (UTF-8), and non-default encoding (ISO-8859-1)
- also run AtomPub Client test suite (which has some I18N tests too)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14233 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-07 13:31:37 +00:00
David Caruana
77014f951d Temporarily disable I18N tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14228 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-07 10:28:46 +00:00
David Caruana
fe75d397a6 Abdera CMIS Extension tidy up:
- move from package org.apache.abdera.ext.cmis to org.alfresco.abdera.ext.cmis (note: apparently, it's not permitted to use org.apache package, unless an Apache project)
- fill in some extra 0.61 pieces
- sort out comments

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14217 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-06 15:31:20 +00:00
David Caruana
46661c29d4 Merged DEV/CMIS0_61 to HEAD (final part)
14168 Minor fixes for issues found at CMIS PlugFest:
  - test framework: allow remote requests without authentication headers
  - test framework: validate requests toggle was not working; always treated as true
  - web services: expose root document, folder, policy and relationship types in getTypeDefinitions()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14178 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 21:33:09 +00:00
David Caruana
6dda4bdf13 Merged DEV/CMIS0_61 to HEAD (part 3)
14069 Introduce CMIS v0.61 XSDs
  - fix samples that don't validate
 14073 CMISTests passing, complying with 0.61 XSDs.
 14078 CMIS v0.61 data model and AtomPub binding API compliance.
  - delta from 0.6 recorded in changes_v0.6_to_v0.61.txt
  - updated CMIS test harness
  - tests pass
  - added Patch request type to Web Script test server
 14079 Allow for HTTP PATCH method for remote Web Script tests.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14176 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 21:01:28 +00:00
David Caruana
9379d6e414 Merged DEV/CMIS0_61 to HEAD (part 2)
14002 Removed use of Headers as arguments in CMIS AtomPub binding
  - as removed in CMIS 0.6 spec
  - removed associated tests
  - fixed encoding issue in web script test harness logging
  - removed very old .XSDs that were lying around
 14006 Obsolete.
 14022 Suport for multi-valued properties in CMIS AtomPub binding
  - support in all read, write and query methods
  - added multi-valued tests to CMISCustomTypeTest
  - fix workaround for null property values in CMIS freemarker template
  - update to Abdera CMIS Extension to handle multi-valued properties

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14175 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 20:40:35 +00:00
David Caruana
488f3c2e80 Merged DEV/CMIS0_61 to HEAD (part 1)
13973 Replace CMIS XSDs / Sample XML files with 0.6 versions.
  - fix issues with some of the samples
  - CMISSchemaTest passes
 13981 AtomPub binding complies with CMIS v0.6 XSDs and Namepaces.
  - Tests passing
 13982 Running list of implemented changes between CMIS v0.5 and v0.6
 13986 AtomPub binding comply with CMIS v0.6 data model & API (part 1)
 - Tests are passing

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14172 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 19:56:39 +00:00
David Caruana
85278d0809 CMIS bag of stuff;:
- Add CMIS Allowable Actions to Abdera CMIS extension
- Add testAllowableActions(), testQueryAllowableActions
- Pass all AppClientTest (AtomPub server test suite) tests
- Fix encoding issues while parsing Atom requests
- Fix ignoring of Atom slug
- Fix support of pure Atom entries (those without CMIS extensions)
- Add test suite for custom sub-types / props (CMISCustomTypeTest)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13921 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-09 15:19:47 +00:00
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