chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pascal Gillet <pascalgil...@ymail.com>
Subject Fileshare repository
Date Wed, 09 Oct 2013 09:24:01 GMT
Hy everyone,

I struggle to create CMIS objects using the client API (not the bindings API) with the FileShare
server.
I thought CMIS FileShare should have worked out of the box without any complex configuration,
but it does not seem to be the case.

I managed to deploy the FileShare server into Tomcat:

1    [localhost-startStop-1] INFO  org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory
 – Added login 'test'.
3    [localhost-startStop-1] INFO  org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory
 – Added login 'cmisuser'.
4    [localhost-startStop-1] INFO  org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory
 – Added login 'reader'.
69   [localhost-startStop-1] INFO  org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory
 – Added repository 'test': /home/pgillet/test
1002 [localhost-startStop-1] INFO  org.apache.chemistry.opencmis.fileshare.TypeManager  –
Added type 'myTestDocumentType'.
1003 [localhost-startStop-1] INFO  org.apache.chemistry.opencmis.server.impl.CmisRepositoryContextListener
 – Initialized Services Factory: org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory

I configured my repository.properties file to use the type definitions in the example-type.xml
file (this file is originally embedded in the WAR archive). I do not even know if it useful
or not.

Then, I try to run the following test:

public static void main(String[] args) {
// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> params = new HashMap<String, String>();

// user credentials
params.put(SessionParameter.USER, "test");
params.put(SessionParameter.PASSWORD, "test");

// connection settings
params.put(SessionParameter.ATOMPUB_URL,
"http://localhost:8080/glue-content/atom");
params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
// params.put(SessionParameter.REPOSITORY_ID, "test");

// create session
List<Repository> repositories = factory.getRepositories(params);
for (Repository r : repositories) {
    System.out.println("Found repository: " + r.getName());
}
Repository repository = repositories.get(0);
Session session = repository.createSession();
System.out.println("Got a connection to repository: " 
    + repository.getName() + ", with id: "
    + repository.getId());

// Access to root folder
Folder root = session.getRootFolder(); // line 65: Here is the problem !
                ...



Everything works fine until the last instruction. I have the following output:

11:17:02.583 [main] DEBUG o.a.c.o.c.b.s.atompub.CmisAtomPubSpi - Initializing AtomPub SPI...
11:17:05.474 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom
Found repository: test
11:17:08.153 [main] DEBUG o.a.c.o.c.b.s.atompub.CmisAtomPubSpi - Initializing AtomPub SPI...
11:17:08.154 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom?repositoryId=test
Got a connection to repository: test, with id: test
11:17:08.419 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom/test/id?id=%40root%40&filter=&includeAllowableActions=true&includeACL=false&includePolicyIds=false&includeRelationships=none&renditionFilter=cmis%3Anone
11:17:08.637 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom/test/type?id=cmis%3Afolder
Exception in thread "main" java.lang.IllegalArgumentException: Object type must have property
definitions!
at org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.initialize(AbstractCmisObject.java:95)
at org.apache.chemistry.opencmis.client.runtime.FolderImpl.<init>(FolderImpl.java:68)
at org.apache.chemistry.opencmis.client.runtime.repository.ObjectFactoryImpl.convertObject(ObjectFactoryImpl.java:572)
at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:414)
at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:489)
at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:483)
at com.glue.feed.ContentTest.main(ContentTest.java:65)


I guess that I am missing some configuration step somewhere! I tried to google the error message,
but it seems that no one is experiencing the problem.
Thank you very much for you help,
Pascal GILLET
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message