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