Author: fmui
Date: Fri Aug 22 11:47:19 2014
New Revision: 1619757
URL: http://svn.apache.org/r1619757
Log:
Web Service client: added workaround for servers that don't allow
getRepositoryInfo() for repositories returned by getRepositories()
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java?rev=1619757&r1=1619756&r2=1619757&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java
Fri Aug 22 11:47:19 2014
@@ -35,8 +35,10 @@ import org.apache.chemistry.opencmis.com
import
org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
import org.apache.chemistry.opencmis.commons.enums.CmisVersion;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
+import
org.apache.chemistry.opencmis.commons.impl.dataobjects.RepositoryInfoImpl;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisException;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisExtensionType;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisRepositoryEntryType;
@@ -89,8 +91,17 @@ public class RepositoryServiceImpl exten
// iterate through the list and fetch repository infos
for (CmisRepositoryEntryType entry : entries) {
- CmisRepositoryInfoType info =
port.getRepositoryInfo(entry.getRepositoryId(), null);
- infos.add(convert(info));
+ try {
+ CmisRepositoryInfoType info =
port.getRepositoryInfo(entry.getRepositoryId(), null);
+ infos.add(convert(info));
+ } catch (CmisBaseException e) {
+ // getRepositoryInfo() failed for whatever reason
+ // -> provide at least a repository info stub
+ RepositoryInfoImpl info = new RepositoryInfoImpl();
+ info.setId(entry.getRepositoryId());
+ info.setName(entry.getRepositoryName());
+ infos.add(info);
+ }
}
} catch (CmisException e) {
throw convertException(e);