jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dpfis...@apache.org
Subject svn commit: r765129 [1/5] - in /jackrabbit/sandbox/chemistry: ./ chemistry-api/ chemistry-api/src/ chemistry-api/src/main/ chemistry-api/src/main/java/ chemistry-api/src/main/java/org/ chemistry-api/src/main/java/org/apache/ chemistry-api/src/main/java...
Date Wed, 15 Apr 2009 10:49:35 GMT
Author: dpfister
Date: Wed Apr 15 10:49:31 2009
New Revision: 765129

URL: http://svn.apache.org/viewvc?rev=765129&view=rev
Log:
Initial checkin of chemistry

Added:
    jackrabbit/sandbox/chemistry/
    jackrabbit/sandbox/chemistry/.hg_archival.txt   (with props)
    jackrabbit/sandbox/chemistry/.hgignore
    jackrabbit/sandbox/chemistry/NOTICE.txt   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/
    jackrabbit/sandbox/chemistry/chemistry-api/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/SPI.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Unfiling.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/VersioningState.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/property/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/property/Choice.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/property/Property.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/property/PropertyDefinition.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/property/PropertyType.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/property/Updatability.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/JoinCapability.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/QueryCapability.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/Repository.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/RepositoryCapabilities.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/RepositoryEntry.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/RepositoryInfo.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/repository/RepositoryService.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/type/
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/type/BaseType.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/type/ContentStreamPresence.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/type/Type.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/README.txt   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollection.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollectionForChildren.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollectionForOther.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollectionForTypes.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISProvider.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServiceResponse.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServlet.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISWorkspaceManager.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/org/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubServer.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/resources/
    jackrabbit/sandbox/chemistry/chemistry-atompub-server/src/test/resources/log4j.properties   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AllowableActionsElement.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/CMIS.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/ObjectElement.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/PropertiesElement.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-backups/
    jackrabbit/sandbox/chemistry/chemistry-backups/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-backups/src/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/org/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/org/apache/chemistry/backups/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/org/apache/chemistry/backups/DataSerializer.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-backups/src/main/java/org/apache/chemistry/backups/RepositoryBackup.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-backups/src/test/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/test/java/
    jackrabbit/sandbox/chemistry/chemistry-backups/src/test/java/TestBackup.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/
    jackrabbit/sandbox/chemistry/chemistry-commons/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleConnection.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleContentStream.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleData.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleDocument.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleFolder.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleObject.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleObjectEntry.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimplePolicy.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleProperty.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimplePropertyDefinition.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleRelationship.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleRepository.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleType.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/org/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/impl/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/impl/simple/
    jackrabbit/sandbox/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/impl/simple/TestSimpleRepository.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-parent/
    jackrabbit/sandbox/chemistry/chemistry-parent/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-tests/
    jackrabbit/sandbox/chemistry/chemistry-tests/README.txt   (with props)
    jackrabbit/sandbox/chemistry/chemistry-tests/pom.xml   (with props)
    jackrabbit/sandbox/chemistry/chemistry-tests/src/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/org/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/org/apache/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/MainServlet.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryTestFactory.java   (with props)
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/resources/
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/resources/dog.jpg   (with props)
    jackrabbit/sandbox/chemistry/chemistry-tests/src/main/resources/log4j.properties   (with props)
    jackrabbit/sandbox/chemistry/pom.xml   (with props)

Added: jackrabbit/sandbox/chemistry/.hg_archival.txt
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/.hg_archival.txt?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/.hg_archival.txt (added)
+++ jackrabbit/sandbox/chemistry/.hg_archival.txt Wed Apr 15 10:49:31 2009
@@ -0,0 +1,2 @@
+repo: 0aab03edd79bc332319d4d61a828b6e327b2101d
+node: 290816414298cc85dafb41a9e41c8c63264daab5

Propchange: jackrabbit/sandbox/chemistry/.hg_archival.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/chemistry/.hgignore
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/.hgignore?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/.hgignore (added)
+++ jackrabbit/sandbox/chemistry/.hgignore Wed Apr 15 10:49:31 2009
@@ -0,0 +1,9 @@
+syntax:glob
+.classpath
+.metadata
+.project
+.settings
+bin
+target
+*~
+*.orig

Added: jackrabbit/sandbox/chemistry/NOTICE.txt
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/NOTICE.txt?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/NOTICE.txt (added)
+++ jackrabbit/sandbox/chemistry/NOTICE.txt Wed Apr 15 10:49:31 2009
@@ -0,0 +1,39 @@
+Chemistry CMIS project
+
+Based on source code originally developed by Nuxeo (http://nuxeo.com/).
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This product includes software developed by Day Software (http://www.day.com/).
+
+The following copyright notice has been taken from the CMIS Specification document:
+
+    (c) 2006-2008 EMC Corporation (EMC), International Business Machines Corporation (IBM), and Microsoft 
+    Corporation. All rights reserved. 
+
+    Upon adoption as a standard, permission to copy and display the "Content Management Interoperability Services" 
+    Specification, in any medium without fee or royalty is hereby granted, provided that you include the following on 
+    ALL copies of the "Content Management Interoperability Services" Specification, or portions thereof, that you 
+    make: 
+    1. A link or URL to the "Content Management Interoperability Services" Specification at this location: <tbd>. 
+    2. The copyright notice as shown in the "Content Management Interoperability Services" Specification. 
+
+    Upon adoption as a standard, EMC Corporation (EMC), International Business Machines Corporation (IBM), and 
+    Microsoft Corporation (collectively, the "Authors") each agree to grant you a royalty-free license, under 
+    reasonable, non-discriminatory terms and conditions to their respective patents to the extent that the Authors 
+    that they deem necessary to implement the "Content Management Interoperability Services" Specification. 
+    THE "CONTENT MANAGEMENT INTEROPERABILITY SERVICES" SPECIFICATION IS PROVIDED "AS IS," AND THE 
+    AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 
+    WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT 
+    THE CONTENTS OF THE "CONTENT MANAGEMENT INTEROPERABILITY SERVICES" SPECIFICATION ARE SUITABLE 
+    FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY 
+    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. 
+    THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL 
+    DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE "CONTENT MANAGEMENT 
+    INTEROPERABILITY SERVICES" SPECIFICATION.
+     
+    The name and trademarks of the Authors MAY NOT be used in any manner, including advertising or publicity 
+    pertaining to the "Content Management Interoperability Services" Specification or its contents without specific, 
+    written prior permission. Title to copyright in the "Content Management Interoperability Services" Specification 
+    will at all times remain with the Authors.

Propchange: jackrabbit/sandbox/chemistry/NOTICE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/chemistry/chemistry-api/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/pom.xml?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/pom.xml (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/pom.xml Wed Apr 15 10:49:31 2009
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   Copyright 2009 Nuxeo SA <http://nuxeo.com>
+
+   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>
+
+  <parent>
+    <groupId>org.apache.chemistry</groupId>
+    <artifactId>chemistry-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+  </parent>
+  <artifactId>chemistry-api</artifactId>
+  <name>Chemistry API</name>
+
+</project>

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * A CMIS Object.
+ * <p>
+ * This differs from an {@link ObjectEntry} by the fact that it is a "live"
+ * object: it will automatically fetch any missing information from the
+ * repository if needed, and the values set on this object will be stored into
+ * the repository when the object is saved.
+ *
+ * @author Florent Guillaume
+ */
+public interface CMISObject extends ObjectEntry {
+
+    /**
+     * The parent folder, or the single folder in which the object is filed.
+     * <p>
+     * For a folder, returns the parent folder, or {@code null} if there is no
+     * parent (for the root folder).
+     * <p>
+     * For a non-folder, if the object is single-filed then the folder in which
+     * it is filed is returned, otherwise if the folder is unfiled then {@code
+     * null} is returned. An exception is raised if the object is multi-filed.
+     *
+     * @return the parent folder, or {@code null}.
+     */
+    Folder getParent();
+
+    /**
+     * Sets a property value.
+     * <p>
+     * Setting a {@code null} value removes the property.
+     * <p>
+     * Whether the value is saved immediately or not is repository-specific, see
+     * {@link #save()}.
+     *
+     * @param name the property name
+     * @param value the property value, or {@code null}
+     */
+
+    void setValue(String name, Serializable value);
+
+    /**
+     * Sets several property values.
+     * <p>
+     * Setting a {@code null} value removes a property.
+     * <p>
+     * Whether the values are saved immediately or not is repository-specific,
+     * see {@link #save()}.
+     *
+     * @param values the property values
+     */
+    void setValues(Map<String, Serializable> values);
+
+    /**
+     * Saves the modifications done to the object through {@link #setValue},
+     * {@link #setValues} and {@link Document#setContentStream}.
+     * <p>
+     * Note that a repository is not required to wait until a {@code save()} is
+     * called to actually save the modifications, it may do so as soon as
+     * {@code setValue()} is called.
+     * <p>
+     * Calling {@code save()} is needed for objects newly created through
+     * {@link Connection#newDocument} and similar methods.
+     */
+    void save();
+
+    /*
+     * ----- convenience methods for specific properties -----
+     */
+
+    void setName(String name);
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMISObject.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,410 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.chemistry.repository.Repository;
+
+/**
+ * A Connection to a CMIS Repository.
+ * <p>
+ * The connection can be used to interact with all the services provided by the
+ * CMIS repository.
+ *
+ * @author Florent Guillaume
+ * @author Bogdan Stefanescu
+ */
+public interface Connection {
+
+    /**
+     * Gets the SPI for this connection.
+     * <p>
+     * The SPI is used to access lower-level features of the connection.
+     *
+     * @return the SPI connection
+     */
+    SPI getSPI();
+
+    /**
+     * Closes the connection to the repository and releases all associated
+     * resources.
+     */
+    void close();
+
+    /**
+     * Gets the repository to which this connection is associated.
+     */
+    Repository getRepository();
+
+    /**
+     * Gets the root folder for this repository.
+     */
+    Folder getRootFolder();
+
+    /**
+     * Gets the direct children of a folder.
+     *
+     * @return the list of children
+     */
+    List<ObjectEntry> getChildren(ObjectEntry folder);
+
+    /**
+     * The root entry. You can use this start traversing the repository and 
+     * to get the root document.
+     * 
+     * @return the root entry. Never returns null.
+     */
+    ObjectEntry getRootEntry();
+    
+    /*
+     * ----- Factories -----
+     */
+
+    /**
+     * Creates a new, unsaved document.
+     * <p>
+     * If a folder is provided, it is used as the future parent for the
+     * document. Otherwise if it is {@code null}, the document will be unfiled.
+     *
+     * @param typeId the type ID
+     * @param folder the parent folder, or {@code null}
+     */
+    Document newDocument(String typeId, ObjectEntry folder);
+
+    /**
+     * Creates a new, unsaved folder.
+     *
+     * @param typeId the type ID
+     * @param folder the parent folder
+     */
+    Folder newFolder(String typeId, ObjectEntry folder);
+
+    /**
+     * Creates a new, unsaved relationship.
+     *
+     * @param typeId the type ID
+     */
+    Relationship newRelationship(String typeId);
+
+    /**
+     * Creates a new, unsaved policy.
+     * <p>
+     * If a folder is provided, it is used as the future parent for the policy.
+     * Otherwise if it is {@code null}, the policy will be unfiled.
+     *
+     * @param typeId the type ID
+     * @param folder the parent folder, or {@code null}
+     */
+    Policy newPolicy(String typeId, ObjectEntry folder);
+
+    /*
+     * ----- Object Services -----
+     */
+
+    /**
+     * Gets an object given its ID.
+     *
+     * @param objectId the object ID
+     * @param returnVersion the version to be returned
+     * @return the object
+     */
+    CMISObject getObject(String objectId, ReturnVersion returnVersion);
+
+    /**
+     * Moves the specified filed object from one folder to another.
+     * <p>
+     * The target folder is that into which the object has to be moved. When the
+     * object is multi-filed, a source folder to be moved out of must be
+     * specified.
+     *
+     * @param object the object
+     * @param targetFolder the target folder
+     * @param sourceFolder the source folder, or {@code null}
+     */
+    void moveObject(ObjectEntry object, ObjectEntry targetFolder,
+            ObjectEntry sourceFolder);
+
+    /**
+     * Deletes the specified object.
+     * <p>
+     * When a filed object is deleted, it is removed from all folders it is
+     * filed in.
+     * <p>
+     * This service deletes a specific version of a document object. To delete
+     * all versions, use {@link #deleteAllVersions}.
+     * <p>
+     * Deletion of a private working copy (checked out version) is the same as
+     * to cancel checkout.
+     *
+     * @param object the object
+     */
+    void deleteObject(ObjectEntry object);
+
+    /**
+     * Deletes a tree of objects.
+     * <p>
+     * Deletes the tree rooted at the specified folder (including that folder).
+     * <p>
+     * If a non-folder object is removed from the last folder it is filed in, it
+     * can continue to survive outside of the folder structure if the repository
+     * supports unfiling; this is controlled based on the unfiling parameter.
+     * <p>
+     * For repositories that support version-specific filing, this may delete
+     * some versions of a document but not necessarily all versions. For
+     * repositories that do not support version-specific filing, if a document
+     * is to be deleted, all versions are deleted.
+     * <p>
+     * This method is not transactional. However, if
+     * {@link Unfiling#DELETE_SINGLE_FILED DELETE_SINGLE_FILED} and some objects
+     * fail to delete, then single-filed objects are either deleted or kept,
+     * never just unfiled. This is so that user can call this method again to
+     * recover from the error by using the same tree.
+     * <p>
+     * The order in which deletion will happen is unspecified; however, any
+     * objects that are not deleted (e.g., because a previous object failed to
+     * delete) remain valid objects (including any applicable filing
+     * constraint).
+     * <p>
+     * Returns the collection of IDs of objects that could not be deleted. If
+     * all objects could be deleted, an empty collection is returned. If at
+     * least one object could not be deleted, then if continueOnFailure is
+     * {@code false} that single object ID is returned, otherwise all IDs of
+     * objects that could not be deleted are returned.
+     *
+     * @param folder the folder
+     * @param unfiling how to unfile non-folder objects, if {@code null} then
+     *            same as {@link Unfiling#DELETE}
+     * @param continueOnFailure {@code true} if failure to delete one object
+     *            should not stop deletion of other objects
+     * @return the collection of IDs of objects that could not be deleted
+     */
+    Collection<String> deleteTree(ObjectEntry folder, Unfiling unfiling,
+            boolean continueOnFailure);
+
+    /**
+     * Adds an existing non-folder, fileable object to a folder.
+     *
+     * @param object the object
+     * @param folder the folder
+     */
+    void addObjectToFolder(ObjectEntry object, ObjectEntry folder);
+
+    /**
+     * Removes a non-folder object from a folder or from all folders.
+     * <p>
+     * If folderId is {@code null}, then the the object is removed from all
+     * folders.
+     * <p>
+     * This never deletes the object, which means that if unfiling is not
+     * supported, and an object is to be removed from the last folder it exists
+     * in, or is to be removed from all folders, an exception will be thrown.
+     *
+     * @param object the object
+     * @param folder the folder, or {@code null} for all folders
+     */
+    void removeObjectFromFolder(ObjectEntry object, ObjectEntry folder);
+
+    /*
+     * ----- Discovery Services -----
+     */
+
+    /**
+     * Queries the repository for queryable objects.
+     * <p>
+     * The query is based on properties or an optional full-text string.
+     * <p>
+     * Content-streams are not returned as part of the query.
+     * <p>
+     * If searchAllVersions is {@code true}, and {@code CONTAINS()} is used in
+     * the query, an exception will be thrown if full-text search is not
+     * supported or if the repository does not have previous versions in the
+     * full-text index.
+     * <p>
+     * Returns a result table produced by the query statement. Typically each
+     * row of this table corresponds to an object, and each column corresponds
+     * to a property or a computed value as specified by the {@code SELECT}
+     * clause of the query statement.
+     *
+     * @param statement the SQL statement
+     * @param searchAllVersions {@code true} if all versions (not only that
+     *            latest) must be searched
+     * @return the matching objects
+     */
+    // TODO returns a result set actually, there may be computed values
+    Collection<ObjectEntry> query(String statement, boolean searchAllVersions);
+
+    /*
+     * ----- Versioning Services -----
+     */
+
+    /**
+     * Checks out a document.
+     * <p>
+     * Creates a private working copy of the document, copies the metadata and
+     * optionally content.
+     * <p>
+     * It is up to the repository to determine if updates to the current version
+     * (not private working copy) and prior versions are allowed if checked out.
+     * <p>
+     * Some repositories may not support updating of private working copies and
+     * the updates must then be supplied via {@link #checkIn}.
+     * <p>
+     * This method may remove update permission on prior versions.
+     * <p>
+     * The ID of the private working copy is returned.
+     * <p>
+     * The return value contentCopied[0] is set to {@code true} if the content
+     * is copied, {@code false} if not. Whether the content is copied on
+     * check-out or not is repository-specific.
+     *
+     * @param document the document
+     * @return the private working copy
+     */
+    CMISObject checkOut(ObjectEntry document);
+
+    /**
+     * Cancels a check-out.
+     * <p>
+     * Reverses the effect of a check-out. Removes the private working copy of
+     * the checked-out document, allowing other documents in the version series
+     * to be checked out again.
+     *
+     * @param document the private working copy
+     */
+    void cancelCheckOut(ObjectEntry document);
+
+    /**
+     * Checks in a private working copy.
+     * <p>
+     * Makes the private working copy the current version of the document.
+     *
+     * @param document the private working copy
+     * @param major {@code true} if the version is a major version
+     * @param comment a check-in comment, or {@code null}
+     * @return the the new version of the document
+     */
+    CMISObject checkIn(ObjectEntry document, boolean major, String comment);
+
+    /**
+     * Gets the latest version.
+     * <p>
+     * Returns the latest version, or the latest major version, of the specified
+     * document.
+     * <p>
+     * If the latest major version is requested and the series has no major
+     * version, an exception is thrown.
+     *
+     * @param document the document
+     * @param major {@code true} if the last major version is requested
+     * @return the latest version or latest major version
+     */
+    CMISObject getLatestVersion(ObjectEntry document, boolean major);
+
+    /**
+     * Gets all the versions of a document.
+     * <p>
+     * Returns the list of all document versions for the specified version
+     * series, sorted by CREATION_DATE descending. All versions that the user
+     * can access, including checked-out version and private working copy, are
+     * returned.
+     *
+     * @param document the document
+     * @param filter the properties filter, or {@code null} for all properties
+     */
+    Collection<ObjectEntry> getAllVersions(ObjectEntry document, String filter);
+
+    /**
+     * Deletes all the versions of a document.
+     * <p>
+     * Deletes all document versions in the version series of the specified
+     * document.
+     *
+     * @param document the document
+     */
+    void deleteAllVersions(ObjectEntry document);
+
+    /*
+     * ----- Relationship Services -----
+     */
+
+    /**
+     * Gets the relationships having as source or target a given document.
+     * <p>
+     * Returns a list of relationships associated with the given object,
+     * optionally of a specified relationship type, and optionally in a
+     * specified direction.
+     * <p>
+     * If typeId is {@code null}, returns relationships of any type.
+     * <p>
+     * Ordering is repository specific but consistent across requests.
+     *
+     * @param object the object
+     * @param direction the direction of relationships to include
+     * @param typeId the type ID, or {@code null}
+     * @param includeSubRelationshipTypes {@code true} if relationships of any
+     *            sub-type of typeId are to be returned as well
+     * @return the list of relationships
+     */
+    List<ObjectEntry> getRelationships(ObjectEntry object,
+            RelationshipDirection direction, String typeId,
+            boolean includeSubRelationshipTypes);
+
+    /*
+     * ----- Policy Services -----
+     */
+
+    /**
+     * Applies a policy to an object.
+     * <p>
+     * The target object must be controllable.
+     *
+     * @param policy the policy
+     * @param object the target object
+     */
+    void applyPolicy(Policy policy, ObjectEntry object);
+
+    /**
+     * Removes a policy from an object.
+     * <p>
+     * Removes a previously applied policy from a target object. The policy is
+     * not deleted, and may still be applied to other objects.
+     * <p>
+     * The target object must be controllable.
+     *
+     * @param policy the policy
+     * @param object the target object
+     */
+    void removePolicy(Policy policy, ObjectEntry object);
+
+    /**
+     * Gets the policies applied to an object.
+     * <p>
+     * Returns the list of policy objects currently applied to a target object.
+     * Only policies that are directly (explicitly) applied to the target object
+     * are returned.
+     * <p>
+     * The target object must be controllable.
+     *
+     * @param object the target object
+     */
+    Collection<Policy> getAppliedPolicies(ObjectEntry object);
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Connection.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+
+/**
+ * A CMIS Content Stream.
+ *
+ * @author Florent Guillaume
+ */
+public interface ContentStream {
+
+    /**
+     * The content stream length.
+     */
+    long getLength();
+
+    /**
+     * The content stream MIME type.
+     */
+    String getMimeType();
+
+    /**
+     * The content stream file name, or {@code null} if none is provided.
+     */
+    String getFilename();
+
+    /**
+     * The content stream URI.
+     */
+    URI getURI();
+
+    /**
+     * The actual byte stream for this content stream.
+     *
+     * @throws IOException
+     */
+    InputStream getStream() throws IOException;
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ContentStream.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * A CMIS Document.
+ *
+ * @author Florent Guillaume
+ */
+public interface Document extends CMISObject {
+
+    /**
+     * The folder in which the document is filed.
+     * <p>
+     * If the document is unfiled, {@code null} is returned. If the document is
+     * filed in multiple folders, an exception is raised.
+     * <p>
+     * This is a convenience method for the common case where documents are not
+     * multi-filed.
+     *
+     * @return the parent folder, or {@code null}.
+     */
+    Folder getParent();
+
+    /**
+     * Gets the byte stream for this document.
+     *
+     * @return the byte stream
+     */
+    InputStream getStream() throws IOException;
+
+    /**
+     * Gets the content stream for this document.
+     *
+     * @return the content stream
+     */
+    ContentStream getContentStream();
+
+    /**
+     * Sets the content stream for this document.
+     *
+     * @param contentStream
+     * @throws IOException if the stream could not be read
+     */
+    void setContentStream(ContentStream contentStream) throws IOException;
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Document.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+import java.util.List;
+
+import org.apache.chemistry.type.BaseType;
+
+/**
+ * A CMIS Folder.
+ *
+ * @author Florent Guillaume
+ */
+public interface Folder extends CMISObject {
+
+    /**
+     * Gets the direct children of a folder.
+     *
+     * @param type the base type, or {@code null} for all types
+     * @param orderBy an {@code ORDER BY} clause, or {@code null}
+     * @return the list of children
+     */
+    List<ObjectEntry> getChildren(BaseType type, String orderBy);
+
+    // getDescendants and getParents kept on the Connection
+
+    /**
+     * Creates a new, unsaved document.
+     */
+    Document newDocument(String typeId);
+
+    /**
+     * Creates a new, unsaved folder.
+     */
+    Folder newFolder(String typeId);
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Folder.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,195 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.chemistry.property.Property;
+import org.apache.chemistry.type.Type;
+
+/**
+ * A CMIS Object entry returned from a search or a listing.
+ * <p>
+ * This is a read-only view of a subset of the properties of a CMIS object. The
+ * actual subset will be determined by the method called to return this Entry,
+ * and by the actual implementation.
+ *
+ * @author Florent Guillaume
+ */
+public interface ObjectEntry {
+
+    /**
+     * The object's type definition.
+     */
+    Type getType();
+
+    /**
+     * Gets a property.
+     *
+     * @param name the property name
+     * @return the property
+     */
+    Property getProperty(String name);
+
+    /**
+     * Gets all the properties.
+     *
+     * @return a map of the properties
+     */
+    Map<String, Property> getProperties();
+
+    /**
+     * Gets a property value.
+     *
+     * @param name the property name
+     * @return the property value
+     */
+    Serializable getValue(String name);
+
+    /**
+     * The allowable actions, if requested.
+     */
+    Collection<String> getAllowableActions();
+
+    /**
+     * The relationships in relation to this document, if requested.
+     */
+    Collection<ObjectEntry> getRelationships();
+
+    /*
+     * ----- link to Document/Folder/etc classes -----
+     */
+
+    /**
+     * Gets the full {@link Document} corresponding to this entry.
+     */
+    Document getDocument();
+
+    /**
+     * Gets the full {@link Folder} corresponding to this entry.
+     */
+    Folder getFolder();
+
+    /**
+     * Gets the full {@link Relationship} corresponding to this entry.
+     */
+    Relationship getRelationship();
+
+    /**
+     * Gets the full {@link Policy} corresponding to this entry.
+     */
+    Policy getPolicy();
+
+    /*
+     * ----- convenience methods -----
+     */
+
+    String getString(String name);
+
+    String[] getStrings(String name);
+
+    BigDecimal getDecimal(String name);
+
+    BigDecimal[] getDecimals(String name);
+
+    Integer getInteger(String name);
+
+    Integer[] getIntegers(String name);
+
+    Boolean getBoolean(String name);
+
+    Boolean[] getBooleans(String name);
+
+    Calendar getDateTime(String name);
+
+    Calendar[] getDateTimes(String name);
+
+    URI getURI(String name);
+
+    URI[] getURIs(String name);
+
+    String getId(String name);
+
+    String[] getIds(String name);
+
+    String getXML(String name);
+
+    String[] getXMLs(String name);
+
+    String getHTML(String name);
+
+    String[] getHTMLs(String name);
+
+    /*
+     * ----- convenience methods for specific properties -----
+     */
+
+    String getId();
+
+    URI getURI();
+
+    String getTypeId();
+
+    String getCreatedBy();
+
+    Calendar getCreationDate();
+
+    String getLastModifiedBy();
+
+    Calendar getLastModificationDate();
+
+    String getChangeToken();
+
+    String getName();
+
+    boolean isImmutable();
+
+    boolean isLatestVersion();
+
+    boolean isMajorVersion();
+
+    boolean isLatestMajorVersion();
+
+    String getVersionLabel();
+
+    String getVersionSeriesId();
+
+    boolean isVersionSeriesCheckedOut();
+
+    String getVersionSeriesCheckedOutBy();
+
+    String getVersionSeriesCheckedOutId();
+
+    String getCheckinComment();
+
+    /**
+     * Checks if the entry has an associated content stream.
+     * <p>
+     * Note that the content stream may be present but still have length 0.
+     *
+     * @return {@code true} if the entry has an associated content stream
+     */
+    boolean hasContentStream();
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ObjectEntry.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+/**
+ * A CMIS Policy.
+ *
+ * @author Florent Guillaume
+ */
+public interface Policy extends CMISObject {
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Policy.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+/**
+ * A CMIS Relationship.
+ *
+ * @author Florent Guillaume
+ */
+public interface Relationship extends CMISObject {
+
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/Relationship.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+/**
+ * The choice of which relationships having a given document as source or target
+ * are to be included in a list of objects.
+ *
+ * @author Florent Guillaume
+ */
+public enum RelationshipDirection {
+
+    /**
+     * The relationships having the given document as a source are included.
+     */
+    SOURCE("source"),
+
+    /**
+     * The relationships having the given document as a target are included.
+     */
+    TARGET("target"),
+
+    /**
+     * The relationships having the given document as either a source or a
+     * target are included.
+     */
+    EITHER("either");
+
+    private final String value;
+
+    private RelationshipDirection(String value) {
+        this.value = value;
+    }
+
+    @Override
+    public String toString() {
+        return value;
+    }
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/RelationshipDirection.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url

Added: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java?rev=765129&view=auto
==============================================================================
--- jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java (added)
+++ jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java Wed Apr 15 10:49:31 2009
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009 Nuxeo SA <http://nuxeo.com>
+ *
+ * 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:
+ *     Florent Guillaume
+ */
+package org.apache.chemistry;
+
+/**
+ * Flag specifying what version of a given document is to be returned.
+ *
+ * @author Florent Guillaume
+ */
+public enum ReturnVersion {
+
+    /**
+     * Returns the document specified.
+     */
+    THIS("this"),
+
+    /**
+     * Returns the latest version of the document.
+     */
+    LATEST("latest"),
+
+    /**
+     * Returns the latest major version of the document.
+     */
+    LATEST_MAJOR("latestmajor");
+
+    private final String value;
+
+    private ReturnVersion(String value) {
+        this.value = value;
+    }
+
+    @Override
+    public String toString() {
+        return value;
+    }
+}

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/sandbox/chemistry/chemistry-api/src/main/java/org/apache/chemistry/ReturnVersion.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev Url



Mime
View raw message