Hi,

In CMIS 0.6 there's no BaseType property defined on objects. The 2.7.4.1.1 you're reading talks about type definitions themselves, which express their base type info using a baseType (note the casing) attribute.

So the version of Alfresco you're testing probably doesn't target 0.6, or it's an extension which we can work around using your patch yes. Could you add it in a JIRA issue? Note btw that I think recent version of Alfresco don't target 0.6 anymore, but at least 0.61, which may explain discrepancies. Dave can you confirm?

In the coming days, after 0.62 is finalized, I'll update Chemistry to target 0.62 which has a number of important changes, for instance on mandatory properties and their names (and CMIS-defined property names are prefixed with "cmis:").

Florent


On 9 Jul 2009, at 12:05, Ugo Cei wrote:

The attached file is a feed produced by Alfresco (recent build from svn HEAD) responding to a CMIS query. Please notice the following snippet (line 35):

           <cmis:propertyString cmis:name="BaseType">
              <cmis:value>document</cmis:value>
           </cmis:propertyString>

When Chemistry tries to parse the file, it fails with the following error:

        No such property definition: BaseType in type: APPType(document)

Reading section 2.7.4.1.1 of the spec (v0.6), it seems that BaseType is one of the built-in properties of the Document type, so maybe Alfresco is right and Chemistry is wrong, but I am not familiar enough with the spec to decide whether this is the case.

A simple workaround is the following, but it's a workaround, not a solution:

Index: chemistry/chemistry-atompub-client/src/main/java/org/apache/ chemistry/atompub/client/stax/AbstractObjectReader.java
===================================================================
--- chemistry/chemistry-atompub-client/src/main/java/org/apache/ chemistry/atompub/client/stax/AbstractObjectReader.java (revision 792168) +++ chemistry/chemistry-atompub-client/src/main/java/org/apache/ chemistry/atompub/client/stax/AbstractObjectReader.java (working copy)
@@ -119,7 +119,7 @@
            T object, XmlProperty p, Type entryType) {
PropertyDefinition def = entryType.getPropertyDefinition(p.getName());
        if (def == null) {
-            if (p.getName().equals("ContentStreamURI")) {
+ if (p.getName().equals("ContentStreamURI") || p.getName().equals("BaseType")) {
                // ignore, old Alfresco compat
// see org.apache.chemistry.atompub.abdera.PropertiesElement
                return;

What should be the correct behaviour?

        Ugo


<results.xml>

--
Ugo Cei
Sourcesense - making sense of Open Source: http://www.sourcesense.com


--
Florent Guillaume, Head of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87

Reply via email to