Author: fguillaume
Date: Fri Jul 10 15:52:10 2009
New Revision: 792994
URL: http://svn.apache.org/viewvc?rev=792994&view=rev
Log:
CMIS-22: Make capabilities parsing more tolerant
Modified:
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/JoinCapability.java
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/QueryCapability.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/stax/ServiceDocumentReader.java
Modified:
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/JoinCapability.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/JoinCapability.java?rev=792994&r1=792993&r2=792994&view=diff
==============================================================================
---
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/JoinCapability.java
(original)
+++
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/JoinCapability.java
Fri Jul 10 15:52:10 2009
@@ -60,6 +60,14 @@
return o;
}
+ public static JoinCapability get(String value, JoinCapability def) {
+ JoinCapability o = all.get(value);
+ if (o == null) {
+ o = def;
+ }
+ return o;
+ }
+
@Override
public String toString() {
return value;
Modified:
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/QueryCapability.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/QueryCapability.java?rev=792994&r1=792993&r2=792994&view=diff
==============================================================================
---
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/QueryCapability.java
(original)
+++
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/QueryCapability.java
Fri Jul 10 15:52:10 2009
@@ -70,6 +70,14 @@
return o;
}
+ public static QueryCapability get(String value, QueryCapability def) {
+ QueryCapability o = all.get(value);
+ if (o == null) {
+ o = def;
+ }
+ return o;
+ }
+
@Override
public String toString() {
return value;
Modified:
incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/stax/ServiceDocumentReader.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/stax/ServiceDocumentReader.java?rev=792994&r1=792993&r2=792994&view=diff
==============================================================================
---
incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/stax/ServiceDocumentReader.java
(original)
+++
incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/stax/ServiceDocumentReader.java
Fri Jul 10 15:52:10 2009
@@ -20,8 +20,8 @@
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Map;
import java.util.List;
+import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
@@ -51,6 +51,7 @@
protected abstract void setInfo(T repo, RepositoryInfo info);
+ @SuppressWarnings("unchecked")
public T[] read(ReadContext context, InputStream in) throws IOException {
try {
StaxReader reader = StaxReader.newReader(in);
@@ -109,9 +110,11 @@
} else if
(localName.equals(CMIS.CAPABILITY_VERSION_SPECIFIC_FILING.getLocalPart())) {
caps.setHasVersionSpecificFiling(Boolean.parseBoolean(reader.getElementText()));
} else if
(localName.equals(CMIS.CAPABILITY_QUERY.getLocalPart())) {
-
caps.setQueryCapability(QueryCapability.get(reader.getElementText()));
+ caps.setQueryCapability(QueryCapability.get(
+ reader.getElementText(),
QueryCapability.NONE));
} else if
(localName.equals(CMIS.CAPABILITY_JOIN.getLocalPart())) {
-
caps.setJoinCapability(JoinCapability.get(reader.getElementText()));
+ caps.setJoinCapability(JoinCapability.get(
+ reader.getElementText(),
JoinCapability.NO_JOIN));
}
}
} else if (localName.equals("repositorySpecificInformation")) {
@@ -146,9 +149,11 @@
} else if
(localName.equals(CMIS.CAPABILITY_VERSION_SPECIFIC_FILING.getLocalPart())) {
caps.setHasVersionSpecificFiling(Boolean.parseBoolean(el2.getText()));
} else if
(localName.equals(CMIS.CAPABILITY_QUERY.getLocalPart())) {
-
caps.setQueryCapability(QueryCapability.get(el2.getText()));
+ caps.setQueryCapability(QueryCapability.get(
+ el2.getText(), QueryCapability.NONE));
} else if
(localName.equals(CMIS.CAPABILITY_JOIN.getLocalPart())) {
-
caps.setJoinCapability(JoinCapability.get(el2.getText()));
+ caps.setJoinCapability(JoinCapability.get(
+ el2.getText(), JoinCapability.NO_JOIN));
}
}
} else if (localName.equals("repositorySpecificInformation")) {