chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hubick <ch...@hubick.com>
Subject OpenCMIS Client Questions
Date Wed, 15 Sep 2010 05:42:43 GMT
Hi,

Having not updated my Chemistry client-using code from the custom
patched version I had been using since before the OpenCMIS project
merge, I decided it was time to give the chemistry-opencmis-client-impl
0.1.0-incubating-RC2 artifacts in the staging repository a try.

My first problem was that chemistry-opencmis-commons-impl and
chemistry-opencmis-client-bindings both require jaxws-rt 2.1.7, which is
only available from http://download.java.net/maven/1/ and the Maven
3.0-beta-3 I am using no longer has support for legacy Maven 1
repositories:
https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html#Maven3.xCompatibilityNotes-LegacystyleRepositories
I was forced to manually locate, download, and install it into my local
repo as a workaround.  The Maven 2 repo seems to have several versions
of jaxws-rt 2.2 available, which could make things easier for users if
it's not a huge upgrade.

My next problem was PersistentSessionImpl.connect() throwing
"IllegalStateException: Repository Id is not set!", and I am wondering
if it's still possible to connect to a default repository without
specifying an ID?  It doesn't appear like there would be API for the
client to return a list of ID's before connecting a Session?

The SessionFactory.createSession() method doesn't declare any
exceptions, checked or otherwise.  The API of my software using this
client declares different exceptions for problems with "configuration",
"operational", "software", "content", etc, and so I'm left wondering
what things to catch here so that I can properly wrap them.  Am I
basically supposed to just look at _all_ CmisBaseException subclasses
then, and pick the ones I might want to handle specially? (ie, a user
can't know which method might throw which ones specifically)

Neither the Javadoc for SessionFactory nor Session mention anything
about the thread safety of Sessions?  I really hope they are safe - as
if not, it looks like I'm in trouble as far as any shared cache reuse?

My last, and I think biggest problem, is that I'm wondering if, given an
arbitrary Document reference, if there is some way to access a URL
through which one could retrieve that document directly from the
repository via HTTP?  Once I have used CMIS to locate a Document needed
by a client, I would rather not have to use the CMIS client library to
proxy all further access to the repository, as this would almost
certainly prevent a lot of potential HTTP features (proper
Cache-Control, Accept-Ranges, etc) which might be utilized directly.

Much Thanks for the library, and any direction you might provide! :)

-- 
Chris Hubick
mailto:chris@hubick.com
http://www.hubick.com/chris/


Mime
View raw message