chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dcaru...@apache.org
Subject svn commit: r805426 [1/9] - in /incubator/chemistry/trunk/chemistry: ./ chemistry-tck-atompub/ chemistry-tck-atompub/src/ chemistry-tck-atompub/src/main/ chemistry-tck-atompub/src/main/java/ chemistry-tck-atompub/src/main/java/org/ chemistry-tck-atompu...
Date Tue, 18 Aug 2009 14:27:59 GMT
Author: dcaruana
Date: Tue Aug 18 14:27:55 2009
New Revision: 805426

URL: http://svn.apache.org/viewvc?rev=805426&view=rev
Log:
Initial contribution of TCK for AtomPub binding.

Added:
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/README.txt   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/pom.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableAction.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableActions.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISCapabilities.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISChildren.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISExtensionFactory.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISObject.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperties.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperty.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISRepositoryInfo.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISValue.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/TCKLogger.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/TCKOptions.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/TCKTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/client/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/client/CMISAppModel.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/client/CMISClient.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/client/CMISValidator.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/AssertEntryInFeedVisitor.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/AssertExistVisitor.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/AssertNotExistVisitor.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/AssertValidFolderParentVisitor.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/AssertValidObjectParentsVisitor.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/CMISTestFixture.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/CMISTree.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/fixture/EntryTree.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/Connection.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/ConnectionFactory.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/DeleteRequest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/GetRequest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/PatchRequest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/PostRequest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/PutRequest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/Request.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/Response.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/httpclient/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/httpclient/HttpClientConnection.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/httpclient/HttpClientConnectionFactory.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/httpclient/HttpClientPatchMethod.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/http/httpclient/HttpClientResponse.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/tools/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/tools/TCKExecutor.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/utils/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/utils/ISO8601DateFormat.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/utils/ResourceLoader.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/utils/SystemPropertyOptions.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/AllowableActions.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/ChangeLog.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/DocumentEntry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/DocumentEntryPWC.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/DocumentEntryWithChanges.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/FolderChildren.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/FolderDescendants.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/FolderEntry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/PolicyEntry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/Query.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/RelationshipEntry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/Service.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/TypeDocumentWith.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/TypeDocumentWithout.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/TypeFolderWith.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/TypeFolderWithout.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/TypeRelationshipWith.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/examples/TypeRelationshipWithout.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/checkinandupdatedocument.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/checkindocument.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createatomentry.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createdocument.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createdocumentBase64.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createdocumentBase64.txt   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createdocumentNoContent.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createfolder.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/createrelationship.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/query.cmisquery.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/queryallowableactions.cmisquery.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/templates/updatedocument.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/APP.xsd
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/ATOM.xsd   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-Core.xsd
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-RestAtom.xsd   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/xhtml1-strict.xsd   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/xml.xsd   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/custom/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/custom/CMISCustomTypeTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/custom/TCKCustomTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/schema/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/schema/CMISSchemaTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/AllowableActionsTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/ContentStreamTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/CreateTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/DeleteTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/FolderChildrenTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/FolderHierarchyTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/GetTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/QueryPagingTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/QueryTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/RepositoryServiceTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/TypeDefinitionTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/UpdateTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/spec/VersionsTest.java   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/log4j.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/templates/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/templates/custom/
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/templates/custom/createcustomdocument.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/templates/custom/createcustomfolder.atomentry.xml   (with props)
    incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/templates/custom/updatecustomdocument.atomentry.xml   (with props)
Modified:
    incubator/chemistry/trunk/chemistry/pom.xml

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Aug 18 14:27:55 2009
@@ -0,0 +1,6 @@
+bin
+target
+*.iws
+*.ipr
+*.iml
+.*

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/README.txt
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/README.txt?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/README.txt (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/README.txt Tue Aug 18 14:27:55 2009
@@ -0,0 +1,101 @@
+CMIS AtomPub Tck
+----------------
+
+The CMIS AtomPub Tck provides a series of tests that exercise a provider of the CMIS AtomPub binding.
+
+Tests are implemented as a series of JUnit test cases.
+
+Maven is used to execute the tests.
+
+Tests are split into the following categories...
+
+org.apache.chemistry.tck.atompub.test.schema: for testing CMIS schema and example files
+org.apache.chemistry.tck.atompub.test.spec: for testing compliance with CMIS specification
+  AllowableActionsTest
+  ContentStreamTest
+  CreateTest
+  DeleteTest
+  FolderChildrenTest
+  FolderHierarchyTest
+  GetTest
+  QueryPagingTest
+  QueryTest
+  RepositoryServiceTest
+  TypeDefinitionTest
+  UpdateTest
+  VersionsTest
+org.apache.chemistry.tck.atompub.test.custom: for testing with custom type definitions
+
+By default, the following tests are disabled...
+
+org.apache.chemistry.tck.atompub.test.custom  (just a reflection of the current implementation)
+
+ 
+CMIS AtomPub Tck Basic Usage Instructions
+-----------------------------------------
+
+Tests are executed with:
+
+mvn test -p<provider>
+
+where:
+
+<provider> is the id of a maven profile which provides provider connection information
+
+To create a profile:
+
+1) Edit pom.xml  (in root directory of tck)
+2) Copy example <profile> section
+3) Edit the <id> value to represent your provider
+4) Edit chemistry.tck.serviceUrl for your provider
+5) Edit chemistry.tck.username and chemistry.tck.password properties for your provider
+   (note: username and password may be removed if authentication is not required)
+
+By default, all tests are executed.
+
+Individual tests are executed with:
+
+mvn test -p<provider> -Dtest=<comma separated list of tests>
+
+e.g.
+
+mvn test -p<provider> -Dtest=RepositoryTest
+
+
+Tck Test Results
+----------------
+
+Test results are found in /target/surefire-reports sub-directory.
+
+Each test outputs the following files...
+
+org.apache.chemistry.tck.atompub.test.xxx.XXXTest.txt : summary of test results
+TEST-org.apache.chemistry.tck.atompub.test.spec.CMISTest.txt : detailed report of test results and test environment
+org.apache.chemistry.tck.atompub.test.xxx.XXXTest-output.txt : trace of all CMIS requests and responses
+
+
+Tck Advanced Configuration
+--------------------------
+
+The following properties may also be set in the profile:
+
+chemistry.tck.validate (true=default|false) : true => validate responses against CMIS XSD
+chemistry.tck.failOnValidationError (true|false=default) : true => fail on validation error
+chemistry.tck.traceRequests (true=default|false) : true => trace requests and responses
+chemistry.tck.deleteTestFixture (true=default|false) : true => remove test data at end of test
+
+
+Tck Reporting instructions
+--------------------------
+
+The easiest way for having a fully comprehensive visual report of the tests run is to generate and run the maven site on the fly (already configured to produce the surefire report). This can be achieved with:
+
+mvn test [-Pprovider] site:run
+
+and the you should point your browser to :
+
+http://localhost:8081/
+
+to see the tests result.
+
+NB: In order not to have port clashes with the possibly locally running server on port 8080, the site plugin has been configured to run on port 8081.

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/pom.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/pom.xml?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/pom.xml (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/pom.xml Tue Aug 18 14:27:55 2009
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <!--
+    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.chemistry</groupId>
+  <artifactId>chemistry-tck-atompub</artifactId>
+  <name>Chemistry TCK AtomPub</name>
+  <packaging>jar</packaging>
+  <version>1.0.0-SNAPSHOT</version>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.6</version>
+    </dependency>
+    <dependency>
+      <!-- NOTE: use recent xerces for validating CMIS schema -->
+      <!--       which uses xsi:type. Fails with JDK 5 xerces -->
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.12</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-httpclient</groupId>
+      <artifactId>commons-httpclient</artifactId>
+      <version>3.1</version>
+    </dependency>
+    <dependency>
+      <artifactId>abdera-core</artifactId>
+      <groupId>org.apache.abdera</groupId>
+      <version>0.4.0-incubating</version>
+    </dependency>
+    <dependency>
+      <artifactId>abdera-extensions-json</artifactId>
+      <groupId>org.apache.abdera</groupId>
+      <version>0.4.0-incubating</version>
+    </dependency>
+    <dependency>
+      <artifactId>abdera-parser</artifactId>
+      <groupId>org.apache.abdera</groupId>
+      <version>0.4.0-incubating</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <port>8081</port>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <redirectTestOutputToFile>true</redirectTestOutputToFile>
+          <systemProperties>
+            <property>
+              <!-- NOTE: use recent xerces for validating CMIS schema -->
+              <!--       which uses xsi:type. Fails with JDK 5 xerces -->
+              <name>javax.xml.parsers.DocumentBuilderFactory</name>
+              <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
+            </property>
+            <property>
+              <!-- NOTE: use recent xerces for validating CMIS schema -->
+              <!--       which uses xsi:type. Fails with JDK 5 xerces -->
+              <name>javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema</name>
+              <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
+            </property>
+            <property>
+              <name>chemistry.tck.validate</name>
+              <value>true</value>
+            </property>
+            <property>
+              <name>chemistry.tck.failOnValidationError</name>
+              <value>false</value>
+            </property>
+            <property>
+              <name>chemistry.tck.traceRequests</name>
+              <value>false</value>
+            </property>
+          </systemProperties>
+          <skipTests>true</skipTests>
+          <excludes>
+            <!-- NOTE: Exclude tests based on custom types until solution -->
+            <!--       for registering types on a per server basis -->
+            <exclude>**/test/custom/**/*.java</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+  <profiles>
+    <profile>
+      <id>example</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <skipTests>false</skipTests>
+              <systemProperties>
+                <property>
+                  <name>chemistry.tck.serviceUrl</name>
+                  <value>http://localhost/cmis</value>
+                </property>
+                <property>
+                  <name>chemistry.tck.user</name>
+                  <value>cmisuser</value>
+                </property>
+                <property>
+                  <name>chemistry.tck.password</name>
+                  <value>cmispassword</value>
+                </property>
+              </systemProperties>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableAction.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableAction.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableAction.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableAction.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,64 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import javax.xml.namespace.QName;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
+
+
+/**
+ * CMIS Allowable Action for the Abdera ATOM library.
+ */
+public abstract class CMISAllowableAction extends ElementWrapper {
+    
+    /**
+     * @param internal
+     */
+    public CMISAllowableAction(Element internal) {
+        super(internal);
+    }
+
+    /**
+     * @param factory
+     * @param qname
+     */
+    public CMISAllowableAction(Factory factory, QName qname) {
+        super(factory, qname);
+    }
+
+    /**
+     * Gets the Allowable Action name
+     * 
+     * @return name
+     */
+    public String getName() {
+        return getQName().getLocalPart();
+    }
+
+    /**
+     * Is the Action Allowed
+     * 
+     * @return
+     */
+    public boolean isAllowed() {
+        return Boolean.getBoolean(this.getText());
+    }
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableActions.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableActions.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableActions.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableActions.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,92 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
+
+
+/**
+ * CMIS Allowable Actions Element Wrapper for the Abdera ATOM library.
+ */
+public class CMISAllowableActions extends ElementWrapper {
+    
+    /**
+     * @param internal
+     */
+    public CMISAllowableActions(Element internal) {
+        super(internal);
+    }
+
+    /**
+     * @param factory
+     */
+    public CMISAllowableActions(Factory factory) {
+        super(factory, CMISConstants.ALLOWABLE_ACTIONS);
+    }
+
+    /**
+     * Gets all allowable actions names
+     * 
+     * @return list of property names
+     */
+    public List<String> getNames() {
+        List<Element> actions = getElements();
+        List<String> names = new ArrayList<String>(actions.size());
+        for (Element action : actions) {
+            if (action instanceof CMISAllowableAction) {
+                names.add(((CMISAllowableAction) action).getName());
+            }
+        }
+        return names;
+    }
+
+    /**
+     * Finds action by name
+     * 
+     * @param name
+     *            property name
+     * @return property
+     */
+    public CMISAllowableAction find(String name) {
+        List<Element> elements = getElements();
+        for (Element element : elements) {
+            if (element instanceof CMISAllowableAction) {
+                CMISAllowableAction action = (CMISAllowableAction) element;
+                if (action.getName().equals(name)) {
+                    return action;
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Is Action allowed?
+     * 
+     * @param name
+     * @return
+     */
+    public boolean isAllowed(String name) {
+        CMISAllowableAction action = find(name);
+        return (action == null) ? false : action.isAllowed();
+    }
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISAllowableActions.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISCapabilities.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISCapabilities.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISCapabilities.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISCapabilities.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,81 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
+
+/**
+ * CMIS Repository Capabilities for the Abdera ATOM library.
+ */
+public class CMISCapabilities extends ElementWrapper {
+    
+    public CMISCapabilities(Element internal) {
+        super(internal);
+    }
+
+    public CMISCapabilities(Factory factory) {
+        super(factory, CMISConstants.REPOSITORY_INFO);
+    }
+
+    public boolean hasMultifiling() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_MULTIFILING);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public boolean hasUnfiling() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_UNFILING);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public boolean hasVersionSpecificFiling() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_VERSION_SPECIFIC_FILING);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public boolean isPWCUpdatable() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_PWC_UPDATEABLE);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public boolean isPWCSearchable() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_PWC_SEARCHABLE);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public boolean isAllVersionsSearchable() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_ALL_VERIONS_SEARCHABLE);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public boolean getDescendants() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_GET_DESCENDANTS);
+        return Boolean.valueOf(child.getText());
+    }
+
+    public String getQuery() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_QUERY);
+        return child.getText();
+    }
+
+    public String getJoin() {
+        Element child = getFirstChild(CMISConstants.CAPABILITY_JOIN);
+        return child.getText();
+    }
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISCapabilities.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISChildren.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISChildren.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISChildren.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISChildren.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,89 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.i18n.iri.IRI;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
+import org.apache.abdera.model.Entry;
+
+
+/**
+ * CMIS Children for the Abdera ATOM library.
+ * 
+ * Encapsulates access to nested children..
+ */
+public class CMISChildren extends ElementWrapper /* implements Feed */ {
+    
+    public CMISChildren(Element internal) {
+        super(internal);
+    }
+
+    public CMISChildren(Factory factory) {
+        super(factory, CMISConstants.CHILDREN);
+    }
+
+    /**
+     * Gets count of child entries
+     * 
+     * @return
+     */
+    public int size() {
+        return getEntries().size();
+    }
+
+    /**
+     * Gets all entries of child feed
+     * 
+     * @return
+     */
+    public List<Entry> getEntries() {
+        List<Element> elements = getElements();
+        List<Entry> entries = new ArrayList<Entry>(elements.size());
+        for (Element element : elements) {
+            if (element instanceof Entry) {
+                entries.add((Entry) element);
+            }
+        }
+        return entries;
+    }
+
+    /**
+     * Gets entry by id
+     * 
+     * @param id
+     * @return entry (or null, if not found)
+     */
+    public Entry getEntry(String id) {
+        List<Element> elements = getElements();
+        for (Element element : elements) {
+            if (element instanceof Entry) {
+                Entry entry = (Entry) element;
+                IRI entryId = entry.getId();
+                if (entryId != null && entryId.equals(new IRI(id))) {
+                    return entry;
+                }
+            }
+        }
+        return null;
+    }
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISChildren.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,195 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import javax.xml.namespace.QName;
+
+
+/**
+ * CMIS Namespace and Schema definitions for the Abdera ATOM library.
+ */
+public interface CMISConstants {
+    
+    // Namespace
+    public static final String CMIS_NS = "http://docs.oasis-open.org/ns/cmis/core/200901";
+    public static final String CMISRA_NS = "http://docs.oasis-open.org/ns/cmis/restatom/200901";
+    public static final String CMISLINK_NS = "http://docs.oasis-open.org/ns/cmis/link/200901";
+
+    // Mimetypes
+    public static final String MIMETYPE_ENTRY = "application/atom+xml;type=entry";
+    public static final String MIMETYPE_FEED = "application/atom+xml;type=feed";
+    public static final String MIMETYPE_TEXT = "text/plain";
+    public static final String MIMETYPE_CMIS_QUERY = "application/cmisquery+xml";
+    public static final String MIMETYPE_CMIS_ALLOWABLE_ACTIONS = "application/cmisallowableactions+xml";
+    public static final String MIMETYPE_CMISATOM = "application/cmisatom+xml";
+    public static final String MIMETYPE_CMISTREE = "application/cmistree+xml";
+
+    // CMIS Service Document
+    public static final QName COLLECTION_TYPE = new QName(CMISRA_NS, "collectionType");
+    public static final String COLLECTION_ROOT = "root";
+    public static final String COLLECTION_CHECKEDOUT = "checkedout";
+    public static final String COLLECTION_UNFILED = "unfiled";
+    public static final String COLLECTION_TYPES = "types";
+    public static final String COLLECTION_QUERY = "query";
+
+    // CMIS Repository Info
+    public static final QName REPOSITORY_INFO = new QName(CMISRA_NS, "repositoryInfo");
+    public static final QName REPOSITORY_ID = new QName(CMIS_NS, "repositoryId");
+    public static final QName REPOSITORY_NAME = new QName(CMIS_NS, "repositoryName");
+    public static final QName REPOSITORY_RELATIONSHIP = new QName(CMIS_NS, "repositoryRelationship");
+    public static final QName REPOSITORY_DESCRIPTION = new QName(CMIS_NS, "repositoryDescription");
+    public static final QName VENDOR_NAME = new QName(CMIS_NS, "vendorName");
+    public static final QName PRODUCT_NAME = new QName(CMIS_NS, "productName");
+    public static final QName PRODUCT_VERSION = new QName(CMIS_NS, "productVersion");
+    public static final QName ROOT_FOLDER_ID = new QName(CMIS_NS, "rootFolderId");
+    public static final QName VERSION_SUPPORTED = new QName(CMIS_NS, "cmisVersionSupported");
+
+    // CMIS Capabilities
+    public static final QName CAPABILITIES = new QName(CMIS_NS, "capabilities");
+    public static final QName CAPABILITY_GET_DESCENDANTS = new QName(CMIS_NS, "capabilityGetDescendants");
+    public static final QName CAPABILITY_MULTIFILING = new QName(CMIS_NS, "capabilityMultifiling");
+    public static final QName CAPABILITY_UNFILING = new QName(CMIS_NS, "capabilityUnfiling");
+    public static final QName CAPABILITY_VERSION_SPECIFIC_FILING = new QName(CMIS_NS, "capabilityVersionSpecificFiling");
+    public static final QName CAPABILITY_PWC_UPDATEABLE = new QName(CMIS_NS, "capabilityPWCUpdateable");
+    public static final QName CAPABILITY_PWC_SEARCHABLE = new QName(CMIS_NS, "capabilityPWCSearchable");
+    public static final QName CAPABILITY_ALL_VERIONS_SEARCHABLE = new QName(CMIS_NS, "capabilityAllVersionsSearchable");
+    public static final QName CAPABILITY_QUERY = new QName(CMIS_NS, "capabilityQuery");
+    public static final QName CAPABILITY_JOIN = new QName(CMIS_NS, "capabilityJoin");
+
+    // CMIS Object
+    public static final QName OBJECT = new QName(CMISRA_NS, "object");
+    public static final QName PROPERTIES = new QName(CMIS_NS, "properties");
+    public static final QName PROPERTY_ID = new QName("pdid");
+    public static final QName PROPERTY_DISPLAY_NAME = new QName("displayName");
+    public static final QName PROPERTY_VALUE = new QName(CMIS_NS, "value");
+    public static final QName STRING_PROPERTY = new QName(CMIS_NS, "propertyString");
+    public static final QName DECIMAL_PROPERTY = new QName(CMIS_NS, "propertyDecimal");
+    public static final QName INTEGER_PROPERTY = new QName(CMIS_NS, "propertyInteger");
+    public static final QName BOOLEAN_PROPERTY = new QName(CMIS_NS, "propertyBoolean");
+    public static final QName DATETIME_PROPERTY = new QName(CMIS_NS, "propertyDateTime");
+    public static final QName URI_PROPERTY = new QName(CMIS_NS, "propertyUri");
+    public static final QName ID_PROPERTY = new QName(CMIS_NS, "propertyId");
+    public static final QName XML_PROPERTY = new QName(CMIS_NS, "propertyXml");
+    public static final QName HTML_PROPERTY = new QName(CMIS_NS, "propertyHtml");
+
+    // CMIS Data Types
+    public static final String DATATYPE_STRING = "string";
+    public static final String DATATYPE_DECIMAL = "decimal";
+    public static final String DATATYPE_INTEGER = "integer";
+    public static final String DATATYPE_BOOLEAN = "boolean";
+    public static final String DATATYPE_DATETIME = "datetime";
+    public static final String DATATYPE_URI = "uri";
+    public static final String DATATYPE_ID = "id";
+    public static final String DATATYPE_XML = "xml";
+    public static final String DATATYPE_HTML = "html";
+
+    // CMIS Relationships
+    public static final String REL_SERVICE = "service";
+    public static final String REL_UP = "up";
+    public static final String REL_DOWN = "down";
+    public static final String REL_DESCRIBED_BY = "describedby";
+    public static final String REL_VERSION_HISTORY = "all-versions";
+    public static final String REL_CURRENT_VERSION = "current-version";
+    public static final String REL_WORKING_COPY = "working-copy";
+    public static final String REL_ROOT_DESCENDANTS = CMISLINK_NS + "/rootdescendants";
+    public static final String REL_TYPES_DESCENDANTS = CMISLINK_NS + "/typesdescendants";
+    public static final String REL_FOLDER_TREE = CMISLINK_NS + "/foldertree";
+    public static final String REL_ALLOWABLE_ACTIONS = CMISLINK_NS + "/allowableactions";
+    public static final String REL_POLICIES = CMISLINK_NS + "/policies";
+    public static final String REL_RELATIONSHIPS = CMISLINK_NS + "/relationships";
+    public static final String REL_ASSOC_SOURCE = CMISLINK_NS + "/source";
+    public static final String REL_ASSOC_TARGET = CMISLINK_NS + "/target";
+
+    // CMIS Nested feed
+    public static final QName CHILDREN = new QName(CMISRA_NS, "children");
+
+    // CMIS Property Types
+    public static final String PROP_TYPE_STRING = "string";
+    public static final String PROP_TYPE_DECIMAL = "decimal";
+    public static final String PROP_TYPE_INTEGER = "integer";
+    public static final String PROP_TYPE_BOOLEAN = "boolean";
+    public static final String PROP_TYPE_DATETIME = "datetime";
+    public static final String PROP_TYPE_URI = "uri";
+    public static final String PROP_TYPE_ID = "id";
+    public static final String PROP_TYPE_XML = "xml";
+    public static final String PROP_TYPE_HTML = "html";
+
+    // CMIS Allowable Actions
+    public static final QName ALLOWABLE_ACTIONS = new QName(CMIS_NS, "allowableActions");
+    public static final QName CAN_DELETE = new QName(CMIS_NS, "canDelete");
+    public static final QName CAN_UPDATE_PROPERTIES = new QName(CMIS_NS, "canUpdateProperties");
+    public static final QName CAN_GET_PROPERTIES = new QName(CMIS_NS, "canGetProperties");
+    public static final QName CAN_GET_RELATIONSHIPS = new QName(CMIS_NS, "canGetRelationships");
+    public static final QName CAN_GET_PARENTS = new QName(CMIS_NS, "canGetParents");
+    public static final QName CAN_GET_FOLDER_PARENT = new QName(CMIS_NS, "canGetFolderParent");
+    public static final QName CAN_GET_DESCENDANTS = new QName(CMIS_NS, "canGetDescendants");
+    public static final QName CAN_MOVE = new QName(CMIS_NS, "canMove");
+    public static final QName CAN_DELETE_VERSION = new QName(CMIS_NS, "canDeleteVersion");
+    public static final QName CAN_DELETE_CONTENT = new QName(CMIS_NS, "canDeleteContent");
+    public static final QName CAN_CHECKOUT = new QName(CMIS_NS, "canCheckout");
+    public static final QName CAN_CANCEL_CHECKOUT = new QName(CMIS_NS, "canCancelCheckout");
+    public static final QName CAN_CHECKIN = new QName(CMIS_NS, "canCheckin");
+    public static final QName CAN_SET_CONTENT = new QName(CMIS_NS, "canSetContent");
+    public static final QName CAN_GET_ALL_VERSIONS = new QName(CMIS_NS, "canGetAllVersions");
+    public static final QName CAN_ADD_TO_FOLDER = new QName(CMIS_NS, "canAddToFolder");
+    public static final QName CAN_REMOVE_FROM_FOLDER = new QName(CMIS_NS, "canRemoveFromFolder");
+    public static final QName CAN_VIEW_CONTENT = new QName(CMIS_NS, "canViewContent");
+    public static final QName CAN_ADD_POLICY = new QName(CMIS_NS, "canAddPolicy");
+    public static final QName CAN_GET_APPLIED_POLICIES = new QName(CMIS_NS, "canGetAppliedPolicies");
+    public static final QName CAN_REMOVE_POLICY = new QName(CMIS_NS, "canRemovePolicy");
+    public static final QName CAN_GET_CHILDREN = new QName(CMIS_NS, "canGetChildren");
+    public static final QName CAN_CREATE_DOCUMENT = new QName(CMIS_NS, "canCreateDocument");
+    public static final QName CAN_CREATE_FOLDER = new QName(CMIS_NS, "canCreateFolder");
+    public static final QName CAN_CREATE_RELATIONSHIP = new QName(CMIS_NS, "canCreateRelationship");
+    public static final QName CAN_CREATE_POLICY = new QName(CMIS_NS, "canCreatePolicy");
+    public static final QName CAN_DELETE_TREE = new QName(CMIS_NS, "canDeleteTree");
+
+    // CMIS Type Names
+    public static final String TYPE_DOCUMENT = "cmis:document";
+    public static final String TYPE_FOLDER = "cmis:folder";
+    public static final String TYPE_RELATIONSHIP = "cmis:relationship";
+    public static final String TYPE_POLICY = "cmis:policy";
+
+    // CMIS Properties Names
+    public static final String PROP_NAME = "cmis:Name";
+    public static final String PROP_OBJECT_ID = "cmis:ObjectId";
+    public static final String PROP_BASE_TYPE_ID = "cmis:BaseTypeId";
+    public static final String PROP_OBJECT_TYPE_ID = "cmis:ObjectTypeId";
+    public static final String PROP_CREATED_BY = "cmis:CreatedBy";
+    public static final String PROP_CREATION_DATE = "cmis:CreationDate";
+    public static final String PROP_LAST_MODIFIED_BY = "cmis:LastModifiedBy";
+    public static final String PROP_LAST_MODIFICATION_DATE = "cmis:LastModificationDate";
+    public static final String PROP_IS_IMMUTABLE = "cmis:IsImmutable";
+    public static final String PROP_IS_LATEST_VERSION = "cmis:IsLatestVersion";
+    public static final String PROP_IS_MAJOR_VERSION = "cmis:IsMajorVersion";
+    public static final String PROP_IS_LATEST_MAJOR_VERSION = "cmis:IsLatestMajorVersion";
+    public static final String PROP_VERSION_LABEL = "cmis:VersionLabel";
+    public static final String PROP_VERSION_SERIES_ID = "cmis:VersionSeriesId";
+    public static final String PROP_IS_VERSION_SERIES_CHECKED_OUT = "cmis:IsVersionSeriesCheckedOut";
+    public static final String PROP_VERSION_SERIES_CHECKED_OUT_BY = "cmis:VersionSeriesCheckedOutBy";
+    public static final String PROP_VERSION_SERIES_CHECKED_OUT_ID = "cmis:VersionSeriesCheckedOutId";
+    public static final String PROP_CHECKIN_COMMENT = "cmis:CheckinComment";
+    public static final String PROP_CONTENT_STREAM_LENGTH = "cmis:ContentStreamLength";
+    public static final String PROP_CONTENT_STREAM_MIMETYPE = "cmis:ContentStreamMimetype";
+    public static final String PROP_CONTENT_STREAM_FILENAME = "cmis:ContentStreamFilename";
+    public static final String PROP_CONTENT_STREAM_ID = "cmis:ContentStreamId";
+    public static final String PROP_PATH = "cmis:PathName";
+    public static final String PROP_SOURCE_ID = "cmis:SourceId";
+    public static final String PROP_TARGET_ID = "cmis:TargetId";
+    public static final String PROP_PARENT_ID = "cmis:ParentId";
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISExtensionFactory.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISExtensionFactory.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISExtensionFactory.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISExtensionFactory.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,83 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import org.apache.abdera.util.AbstractExtensionFactory;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyBoolean;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyDateTime;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyDecimal;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyHtml;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyId;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyInteger;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyString;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyUri;
+import org.apache.chemistry.abdera.ext.CMISProperty.CMISPropertyXml;
+
+
+/**
+ * CMIS Extension Factory for the Abdera ATOM Library.
+ */
+public class CMISExtensionFactory extends AbstractExtensionFactory implements CMISConstants {
+
+    public CMISExtensionFactory() {
+        super(CMIS_NS, CMISRA_NS);
+        addImpl(REPOSITORY_INFO, CMISRepositoryInfo.class);
+        addImpl(CAPABILITIES, CMISCapabilities.class);
+        addImpl(OBJECT, CMISObject.class);
+        addImpl(PROPERTIES, CMISProperties.class);
+        addImpl(STRING_PROPERTY, CMISPropertyString.class);
+        addImpl(DECIMAL_PROPERTY, CMISPropertyDecimal.class);
+        addImpl(INTEGER_PROPERTY, CMISPropertyInteger.class);
+        addImpl(BOOLEAN_PROPERTY, CMISPropertyBoolean.class);
+        addImpl(DATETIME_PROPERTY, CMISPropertyDateTime.class);
+        addImpl(URI_PROPERTY, CMISPropertyUri.class);
+        addImpl(ID_PROPERTY, CMISPropertyId.class);
+        addImpl(XML_PROPERTY, CMISPropertyXml.class);
+        addImpl(HTML_PROPERTY, CMISPropertyHtml.class);
+        addImpl(PROPERTY_VALUE, CMISValue.class);
+        addImpl(ALLOWABLE_ACTIONS, CMISAllowableActions.class);
+        addImpl(CAN_DELETE, CMISAllowableAction.class);
+        addImpl(CAN_UPDATE_PROPERTIES, CMISAllowableAction.class);
+        addImpl(CAN_GET_PROPERTIES, CMISAllowableAction.class);
+        addImpl(CAN_GET_RELATIONSHIPS, CMISAllowableAction.class);
+        addImpl(CAN_GET_PARENTS, CMISAllowableAction.class);
+        addImpl(CAN_GET_FOLDER_PARENT, CMISAllowableAction.class);
+        addImpl(CAN_GET_DESCENDANTS, CMISAllowableAction.class);
+        addImpl(CAN_MOVE, CMISAllowableAction.class);
+        addImpl(CAN_DELETE_VERSION, CMISAllowableAction.class);
+        addImpl(CAN_DELETE_CONTENT, CMISAllowableAction.class);
+        addImpl(CAN_CHECKOUT, CMISAllowableAction.class);
+        addImpl(CAN_CANCEL_CHECKOUT, CMISAllowableAction.class);
+        addImpl(CAN_CHECKIN, CMISAllowableAction.class);
+        addImpl(CAN_SET_CONTENT, CMISAllowableAction.class);
+        addImpl(CAN_GET_ALL_VERSIONS, CMISAllowableAction.class);
+        addImpl(CAN_ADD_TO_FOLDER, CMISAllowableAction.class);
+        addImpl(CAN_REMOVE_FROM_FOLDER, CMISAllowableAction.class);
+        addImpl(CAN_VIEW_CONTENT, CMISAllowableAction.class);
+        addImpl(CAN_ADD_POLICY, CMISAllowableAction.class);
+        addImpl(CAN_GET_APPLIED_POLICIES, CMISAllowableAction.class);
+        addImpl(CAN_REMOVE_POLICY, CMISAllowableAction.class);
+        addImpl(CAN_GET_CHILDREN, CMISAllowableAction.class);
+        addImpl(CAN_CREATE_DOCUMENT, CMISAllowableAction.class);
+        addImpl(CAN_CREATE_FOLDER, CMISAllowableAction.class);
+        addImpl(CAN_CREATE_RELATIONSHIP, CMISAllowableAction.class);
+        addImpl(CAN_CREATE_POLICY, CMISAllowableAction.class);
+        addImpl(CAN_DELETE_TREE, CMISAllowableAction.class);
+        addImpl(CHILDREN, CMISChildren.class);
+    }
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISExtensionFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISObject.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISObject.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISObject.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISObject.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,284 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ExtensibleElementWrapper;
+
+
+/**
+ * CMIS Object for the Abdera ATOM library.
+ */
+public class CMISObject extends ExtensibleElementWrapper {
+    
+    /**
+     * @param internal
+     */
+    public CMISObject(Element internal) {
+        super(internal);
+    }
+
+    /**
+     * @param factory
+     */
+    public CMISObject(Factory factory) {
+        super(factory, CMISConstants.OBJECT);
+    }
+
+    /**
+     * Gets all Properties for this CMIS Object
+     * 
+     * @return properties
+     */
+    public CMISProperties getProperties() {
+        Element child = getFirstChild(CMISConstants.PROPERTIES);
+        if (child == null) {
+            child = addExtension(CMISConstants.PROPERTIES);
+        }
+        return (CMISProperties) child;
+    }
+
+    /**
+     * Gets all Allowable Actions for this CMIS Object
+     * 
+     * @return allowable actions
+     */
+    public CMISAllowableActions getAllowableActions() {
+        Element child = getFirstChild(CMISConstants.ALLOWABLE_ACTIONS);
+        if (child == null) {
+            child = addExtension(CMISConstants.ALLOWABLE_ACTIONS);
+        }
+        return (CMISAllowableActions) child;
+    }
+
+    /**
+     * Gets name
+     * 
+     * @return name property
+     */
+    public CMISProperty getName() {
+        return getProperties().find(CMISConstants.PROP_NAME);
+    }
+
+    /**
+     * Gets id
+     * 
+     * @return id property
+     */
+    public CMISProperty getObjectId() {
+        return getProperties().find(CMISConstants.PROP_OBJECT_ID);
+    }
+
+    /**
+     * Gets base type
+     * 
+     * @return base type property
+     */
+    public CMISProperty getBaseTypeId() {
+        return getProperties().find(CMISConstants.PROP_BASE_TYPE_ID);
+    }
+
+    /**
+     * Gets object type
+     * 
+     * @return object type property
+     */
+    public CMISProperty getObjectTypeId() {
+        return getProperties().find(CMISConstants.PROP_OBJECT_TYPE_ID);
+    }
+
+    /**
+     * Created By
+     * 
+     * @return created by property
+     */
+    public CMISProperty getCreatedBy() {
+        return getProperties().find(CMISConstants.PROP_CREATED_BY);
+    }
+
+    /**
+     * Creation Date
+     * 
+     * @return creation date property
+     */
+    public CMISProperty getCreationDate() {
+        return getProperties().find(CMISConstants.PROP_CREATION_DATE);
+    }
+
+    /**
+     * Last Modified By
+     * 
+     * @return last modified by property
+     */
+    public CMISProperty getLastModifiedBy() {
+        return getProperties().find(CMISConstants.PROP_LAST_MODIFIED_BY);
+    }
+
+    /**
+     * Last Modified Date
+     * 
+     * @return last modified date property
+     */
+    public CMISProperty getLastModificationDate() {
+        return getProperties().find(CMISConstants.PROP_LAST_MODIFICATION_DATE);
+    }
+
+    /**
+     * Is immutable?
+     * 
+     * @return isImmutable property
+     */
+    public CMISProperty isImmutable() {
+        return getProperties().find(CMISConstants.PROP_IS_IMMUTABLE);
+    }
+
+    /**
+     * Gets Latest Version
+     * 
+     * @return latest version property
+     */
+    public CMISProperty isLatestVersion() {
+        return getProperties().find(CMISConstants.PROP_IS_LATEST_VERSION);
+    }
+
+    /**
+     * Is Major Version?
+     * 
+     * @return is major version property
+     */
+    public CMISProperty isMajorVersion() {
+        return getProperties().find(CMISConstants.PROP_IS_MAJOR_VERSION);
+    }
+
+    /**
+     * Is Latest Major Version?
+     * 
+     * @return is latest major version property
+     */
+    public CMISProperty isLatestMajorVersion() {
+        return getProperties().find(CMISConstants.PROP_IS_LATEST_MAJOR_VERSION);
+    }
+
+    /**
+     * Version label
+     * 
+     * @return version label property
+     */
+    public CMISProperty getVersionLabel() {
+        return getProperties().find(CMISConstants.PROP_VERSION_LABEL);
+    }
+
+    /**
+     * Version series id
+     * 
+     * @return version series id property
+     */
+    public CMISProperty getVersionSeriesId() {
+        return getProperties().find(CMISConstants.PROP_VERSION_SERIES_ID);
+    }
+
+    /**
+     * Version Series Checked Out
+     * 
+     * @return version series checked out property
+     */
+    public CMISProperty isVersionSeriesCheckedOut() {
+        return getProperties().find(CMISConstants.PROP_IS_VERSION_SERIES_CHECKED_OUT);
+    }
+
+    /**
+     * Version Series Checked Out By
+     * 
+     * @return version series checked out by property
+     */
+    public CMISProperty getVersionSeriesCheckedOutBy() {
+        return getProperties().find(CMISConstants.PROP_VERSION_SERIES_CHECKED_OUT_BY);
+    }
+
+    /**
+     * Version Series Checked Out Id
+     * 
+     * @return version series checked out id property
+     */
+    public CMISProperty getVersionSeriesCheckedOutId() {
+        return getProperties().find(CMISConstants.PROP_VERSION_SERIES_CHECKED_OUT_ID);
+    }
+
+    /**
+     * Checkin Comment
+     * 
+     * @return checkin comment property
+     */
+    public CMISProperty getCheckinComment() {
+        return getProperties().find(CMISConstants.PROP_CHECKIN_COMMENT);
+    }
+
+    /**
+     * Content Stream Length
+     * 
+     * @return content stream length property
+     */
+    public CMISProperty getContentStreamLength() {
+        return getProperties().find(CMISConstants.PROP_CONTENT_STREAM_LENGTH);
+    }
+
+    /**
+     * Content Stream Mimetype
+     * 
+     * @return content stream mimetype property
+     */
+    public CMISProperty getContentStreamMimeType() {
+        return getProperties().find(CMISConstants.PROP_CONTENT_STREAM_MIMETYPE);
+    }
+
+    /**
+     * Content Stream Filename
+     * 
+     * @return content stream filename property
+     */
+    public CMISProperty getContentStreamFilename() {
+        return getProperties().find(CMISConstants.PROP_CONTENT_STREAM_FILENAME);
+    }
+
+    /**
+     * Content Stream Id
+     * 
+     * @return content stream id property
+     */
+    public CMISProperty getContentStreamId() {
+        return getProperties().find(CMISConstants.PROP_CONTENT_STREAM_ID);
+    }
+
+    /**
+     * Source Id (Relationship)
+     * 
+     * @return source id property
+     */
+    public CMISProperty getSourceId() {
+        return getProperties().find(CMISConstants.PROP_SOURCE_ID);
+    }
+
+    /**
+     * Target Id (Relationship)
+     * 
+     * @return target id property
+     */
+    public CMISProperty getTargetId() {
+        return getProperties().find(CMISConstants.PROP_TARGET_ID);
+    }
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISObject.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperties.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperties.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperties.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperties.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,80 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ExtensibleElementWrapper;
+
+
+/**
+ * CMIS Properties Element Wrapper for the Abdera ATOM library.
+ */
+public class CMISProperties extends ExtensibleElementWrapper {
+    
+    /**
+     * @param internal
+     */
+    public CMISProperties(Element internal) {
+        super(internal);
+    }
+
+    /**
+     * @param factory
+     */
+    public CMISProperties(Factory factory) {
+        super(factory, CMISConstants.PROPERTIES);
+    }
+
+    /**
+     * Gets all property ids
+     * 
+     * @return list of property ids
+     */
+    public List<String> getIds() {
+        List<CMISProperty> props = getElements();
+        List<String> ids = new ArrayList<String>(props.size());
+        for (CMISProperty prop : props) {
+            ids.add(prop.getId());
+        }
+        return ids;
+    }
+
+    /**
+     * Finds property by id
+     * 
+     * @param id
+     *            property id
+     * @return property
+     */
+    public CMISProperty find(String id) {
+        List<Element> elements = getElements();
+        for (Element element : elements) {
+            if (element instanceof CMISProperty) {
+                CMISProperty prop = (CMISProperty) element;
+                if (id.equals(prop.getId())) {
+                    return prop;
+                }
+            }
+        }
+        return null;
+    }
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperties.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperty.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperty.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperty.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperty.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,420 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ExtensibleElementWrapper;
+
+
+/**
+ * CMIS Property for the Abdera ATOM library.
+ */
+public abstract class CMISProperty extends ExtensibleElementWrapper {
+    
+    /**
+     * @param internal
+     */
+    public CMISProperty(Element internal) {
+        super(internal);
+    }
+
+    /**
+     * @param factory
+     * @param qname
+     */
+    public CMISProperty(Factory factory, QName qname) {
+        super(factory, qname);
+    }
+
+    /**
+     * Gets the property type
+     * 
+     * @return type
+     */
+    public abstract String getType();
+
+    /**
+     * Gets the property id
+     * 
+     * @return name
+     */
+    public String getId() {
+        return getAttributeValue(CMISConstants.PROPERTY_ID);
+    }
+
+    /**
+     * Gets the property display name
+     * 
+     * @return display name
+     */
+    public String getDisplayName() {
+        return getAttributeValue(CMISConstants.PROPERTY_DISPLAY_NAME);
+    }
+
+    /**
+     * Is property value null?
+     * 
+     * @return true => null
+     */
+    public boolean isNull() {
+        return getFirstChild() == null ? true : false;
+    }
+
+    /**
+     * Is property value multi-valued?
+     * 
+     * @return true => more than one value exists
+     */
+    public boolean isMultiValued() {
+        List<CMISValue> children = getElements();
+        return children.size() > 1;
+    }
+
+    /**
+     * Gets property value
+     * 
+     * NOTE: Assumes there's only one value. In case of multi-valued, returns
+     * first value.
+     * 
+     * @return value (or null, if not specified)
+     */
+    public CMISValue getValue() {
+        CMISValue child = (CMISValue) getFirstChild(CMISConstants.PROPERTY_VALUE);
+        if (child != null) {
+            return child;
+        }
+        return null;
+    }
+
+    /**
+     * Gets property values
+     * 
+     * NOTE: Always returns a collection, even when only one value
+     * 
+     * @return
+     */
+    public List<CMISValue> getValues() {
+        return getElements();
+    }
+
+    /**
+     * Gets native value
+     * 
+     * NOTE: Short-cut for retrieving first value of property
+     * 
+     * @return property value (or null, if not specified)
+     */
+    public Object getNativeValue() {
+        CMISValue value = getValue();
+        return value == null ? null : value.getNativeValue();
+    }
+
+    /**
+     * Gets native values
+     * 
+     * NOTE: Short-cut for retrieving values as multi-valued collection
+     * 
+     * @return
+     */
+    public List<Object> getNativeValues() {
+        List<CMISValue> values = getValues();
+        ArrayList<Object> nativeValues = new ArrayList<Object>(values.size());
+        for (CMISValue value : values) {
+            nativeValues.add(value.getNativeValue());
+        }
+        return nativeValues;
+    }
+
+    /**
+     * Gets String value
+     * 
+     * NOTE: Short-cut for retrieving first value of property
+     * 
+     * @return string value
+     */
+    public String getStringValue() {
+        CMISValue value = getValue();
+        return value == null ? null : value.getStringValue();
+    }
+
+    /**
+     * Gets Decimal value
+     * 
+     * NOTE: Short-cut for retrieving first value of property
+     * 
+     * @return decimal value
+     */
+    public BigDecimal getDecimalValue() {
+        CMISValue value = getValue();
+        return value == null ? null : value.getDecimalValue();
+    }
+
+    /**
+     * Gets Integer value
+     * 
+     * NOTE: Short-cut for retrieving first value of property
+     * 
+     * @return integer value
+     */
+    public int getIntegerValue() {
+        CMISValue value = getValue();
+        return value == null ? null : value.getIntegerValue();
+    }
+
+    /**
+     * Gets Boolean value
+     * 
+     * NOTE: Short-cut for retrieving first value of property
+     * 
+     * @return boolean value
+     */
+    public boolean getBooleanValue() {
+        CMISValue value = getValue();
+        return value == null ? null : value.getBooleanValue();
+    }
+
+    /**
+     * Gets Date value
+     * 
+     * NOTE: Short-cut for retrieving first value of property
+     * 
+     * @return date value
+     */
+    public Date getDateValue() {
+        CMISValue value = getValue();
+        return value == null ? null : value.getDateValue();
+    }
+
+    /**
+     * String Property
+     */
+    public static class CMISPropertyString extends CMISProperty {
+        public CMISPropertyString(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyString(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see org.apache.abdera.ext.cmis.CMISProperty#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_STRING;
+        }
+    }
+
+    /**
+     * Decimal Property
+     */
+    public static class CMISPropertyDecimal extends CMISProperty {
+        public CMISPropertyDecimal(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyDecimal(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see org.apache.abdera.ext.cmis.CMISProperty#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_DECIMAL;
+        }
+    }
+
+    /**
+     * Integer Property
+     */
+    public static class CMISPropertyInteger extends CMISProperty {
+        public CMISPropertyInteger(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyInteger(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see org.apache.abdera.ext.cmis.CMISProperty#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_INTEGER;
+        }
+    }
+
+    /**
+     * Boolean Property
+     */
+    public static class CMISPropertyBoolean extends CMISProperty {
+        public CMISPropertyBoolean(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyBoolean(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see org.apache.abdera.ext.cmis.CMISProperty#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_BOOLEAN;
+        }
+    }
+
+    /**
+     * DateTime Property
+     */
+    public static class CMISPropertyDateTime extends CMISProperty {
+        public CMISPropertyDateTime(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyDateTime(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see org.apache.abdera.ext.cmis.CMISProperty#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_DATETIME;
+        }
+    }
+
+    /**
+     * URI Property
+     */
+    public static class CMISPropertyUri extends CMISPropertyString {
+        public CMISPropertyUri(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyUri(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see
+         * org.apache.abdera.ext.cmis.CMISProperty.CMISPropertyString#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_URI;
+        }
+    }
+
+    /**
+     * ID Property
+     */
+    public static class CMISPropertyId extends CMISPropertyString {
+        public CMISPropertyId(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyId(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see
+         * org.apache.abdera.ext.cmis.CMISProperty.CMISPropertyString#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_ID;
+        }
+    }
+
+    /**
+     * XML Property
+     */
+    public static class CMISPropertyXml extends CMISPropertyString {
+        public CMISPropertyXml(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyXml(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see
+         * org.apache.abdera.ext.cmis.CMISProperty.CMISPropertyString#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_XML;
+        }
+    }
+
+    /**
+     * HTML Property
+     */
+    public static class CMISPropertyHtml extends CMISPropertyString {
+        public CMISPropertyHtml(Element internal) {
+            super(internal);
+        }
+
+        public CMISPropertyHtml(Factory factory, QName qname) {
+            super(factory, qname);
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see
+         * org.apache.abdera.ext.cmis.CMISProperty.CMISPropertyString#getType()
+         */
+        @Override
+        public String getType() {
+            return CMISConstants.PROP_TYPE_HTML;
+        }
+    }
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISProperty.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISRepositoryInfo.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISRepositoryInfo.java?rev=805426&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISRepositoryInfo.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/CMISRepositoryInfo.java Tue Aug 18 14:27:55 2009
@@ -0,0 +1,119 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Authors:
+ *     David Caruana, Alfresco
+ */
+package org.apache.chemistry.abdera.ext;
+
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
+
+
+/**
+ * CMIS Repository Info for the Abdera ATOM library.
+ * 
+ * Encapsulates access and modification of CMIS extension values to ATOM Service
+ * Document.
+ */
+public class CMISRepositoryInfo extends ElementWrapper {
+    
+    public CMISRepositoryInfo(Element internal) {
+        super(internal);
+    }
+
+    public CMISRepositoryInfo(Factory factory) {
+        super(factory, CMISConstants.REPOSITORY_INFO);
+    }
+
+    public String getId() {
+        Element child = getFirstChild(CMISConstants.REPOSITORY_ID);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getName() {
+        Element child = getFirstChild(CMISConstants.REPOSITORY_NAME);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getRelatonship() {
+        Element child = getFirstChild(CMISConstants.REPOSITORY_RELATIONSHIP);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getDescription() {
+        Element child = getFirstChild(CMISConstants.REPOSITORY_DESCRIPTION);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getVendorName() {
+        Element child = getFirstChild(CMISConstants.VENDOR_NAME);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getProductName() {
+        Element child = getFirstChild(CMISConstants.PRODUCT_NAME);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getProductVersion() {
+        Element child = getFirstChild(CMISConstants.PRODUCT_VERSION);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getRootFolderId() {
+        Element child = getFirstChild(CMISConstants.ROOT_FOLDER_ID);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public String getVersionSupported() {
+        Element child = getFirstChild(CMISConstants.VERSION_SUPPORTED);
+        if (child != null) {
+            return child.getText();
+        }
+        return null;
+    }
+
+    public CMISCapabilities getCapabilities() {
+        Element child = getFirstChild(CMISConstants.CAPABILITIES);
+        if (child != null) {
+            return (CMISCapabilities) child;
+        }
+        return null;
+    }
+}



Mime
View raw message