You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2010/01/21 15:31:19 UTC
svn commit: r901722 - in /incubator/chemistry/trunk/chemistry:
chemistry-api/src/main/java/org/apache/chemistry/
chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/
chemistry-atompub/src/main/java/org/apache/chemistry/atompub/
Author: fguillaume
Date: Thu Jan 21 14:31:19 2010
New Revision: 901722
URL: http://svn.apache.org/viewvc?rev=901722&view=rev
Log:
CMIS-99: Add xsi:type to cmisra:type for JAXB
Modified:
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMIS.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISTypesCollection.java
incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPub.java
Modified: incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMIS.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMIS.java?rev=901722&r1=901721&r2=901722&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMIS.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/CMIS.java Thu Jan 21 14:31:19 2010
@@ -16,6 +16,10 @@
*/
package org.apache.chemistry;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.xml.namespace.QName;
/**
@@ -229,4 +233,24 @@
public static final QName DISPLAY_NAME_NONS = new QName("displayName");
+ // types from schema
+
+ public static final QName SCHEMA_TYPE_DOCUMENT = CMISName("cmisTypeDocumentDefinitionType");
+
+ public static final QName SCHEMA_TYPE_FOLDER = CMISName("cmisTypeFolderDefinitionType");
+
+ public static final QName SCHEMA_TYPE_RELATIONSHIP = CMISName("cmisTypeRelationshipDefinitionType");
+
+ public static final QName SCHEMA_TYPE_POLICY = CMISName("cmisTypePolicyDefinitionType");
+
+ public static final Map<BaseType, QName> SCHEMA_TYPES;
+
+ static {
+ Map<BaseType, QName> map = new HashMap<BaseType, QName>();
+ map.put(BaseType.DOCUMENT, SCHEMA_TYPE_DOCUMENT);
+ map.put(BaseType.FOLDER, SCHEMA_TYPE_FOLDER);
+ map.put(BaseType.RELATIONSHIP, SCHEMA_TYPE_RELATIONSHIP);
+ map.put(BaseType.POLICY, SCHEMA_TYPE_POLICY);
+ SCHEMA_TYPES = Collections.unmodifiableMap(map);
+ }
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISTypesCollection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISTypesCollection.java?rev=901722&r1=901721&r2=901722&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISTypesCollection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISTypesCollection.java Thu Jan 21 14:31:19 2010
@@ -64,6 +64,8 @@
Factory factory = request.getAbdera().getFactory();
Feed feed = factory.newFeed();
feed.declareNS(CMIS.CMIS_NS, CMIS.CMIS_PREFIX);
+ feed.declareNS(AtomPubCMIS.CMISRA_NS, AtomPubCMIS.CMISRA_PREFIX);
+ feed.declareNS(AtomPub.XSI_NS, AtomPub.XSI_PREFIX);
feed.setId(getId(request));
feed.setTitle(getTitle(request));
feed.addLink(request.getResolvedUri().toString(), "self");
@@ -138,6 +140,9 @@
// CMIS-specific
Element te = factory.newElement(AtomPubCMIS.TYPE, entry);
te.setAttributeValue(AtomPubCMIS.ID, tid);
+ QName schemaType = CMIS.SCHEMA_TYPES.get(type.getBaseType());
+ te.setAttributeValue(AtomPub.XSI_TYPE, schemaType.getPrefix() + ':'
+ + schemaType.getLocalPart());
Element el;
// note: setText is called in a separate statement as JDK 5 has problems
// compiling when it's on one line (compiler generics bug)
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPub.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPub.java?rev=901722&r1=901721&r2=901722&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPub.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPub.java Thu Jan 21 14:31:19 2010
@@ -31,6 +31,10 @@
* ----- Namespaces -----
*/
+ public static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
+
+ public static final String XSI_PREFIX = "xsi";
+
public static final String ATOM_NS = "http://www.w3.org/2005/Atom";
public static final String APP_NS = "http://www.w3.org/2007/app";
@@ -39,6 +43,8 @@
* ----- XML Qualified Names-----
*/
+ public static final QName XSI_TYPE = new QName(XSI_NS, "type");
+
public static final QName ATOM_FEED = new QName(ATOM_NS, "feed");
public static final QName ATOM_ENTRY = new QName(ATOM_NS, "entry");