Commit Graph

31 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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