bibryam / camel-cmis Goto Github PK
View Code? Open in Web Editor NEWCMIS connector for Apache Camel
CMIS connector for Apache Camel
Out of the box, camel-cmis solves one half of the eternal CRUD data access to cmis.
You can use the message body to query so you can retrieve objects OR use the body to create new objects/ Unfortunately, unless I missed it, there is no way to delete or update an existing object in CMIS.
To do that, one would have to drop back into the opemcmis/chemistry API. Once you are using that API, you may as well use it for the whole CRUD set for convenience and consistency's sake. Please add a way to add this functionality. Also willing to help if needed.
This component works against the Apache Chemistry In Memory CMIS repo, but if you try to use it against a real repository, such as Alfresco 5.0.d or 5.1.x, it fails to establish a CMIS session.
The problem appears to be in the CMISComponent class. The parameters are not being maintained. In a debugger, I can see that the username and password are null, despite being passed in successfully.
I'm still working through it, but I am curious as to why on line 36 the sessionFacade is instantiated twice--once before the endpoint instantiation and once inside the endpoint constructor. The first sessionFacade instantiation works, but the second one fails due to the null username/password.
protected Endpoint createEndpoint(String uri, final String remaining, final Map<String, Object> parameters) throws Exception {
boolean queryMode = removeQueryMode(parameters);
CMISSessionFacade sessionFacade = new CMISSessionFacade(remaining);
setProperties(sessionFacade, parameters);
CMISEndpoint endpoint = new CMISEndpoint(uri, this, new CMISSessionFacadeFactory() {
@Override
public CMISSessionFacade create() throws Exception {
CMISSessionFacade sessionFacade = new CMISSessionFacade(remaining);
setProperties(sessionFacade, parameters);
return sessionFacade;
}
});
endpoint.setQueryMode(queryMode);
return endpoint;
}
In version 2.12.4 any attempt to create an object that extends cmis:document fails because the code in that version only allows cmis:documents to be created not their extentions.
The code that does this resides in CMISSessionFacade:
public boolean isObjectTypeVersionable(String objectType) { if (CamelCMISConstants.CMIS_DOCUMENT.equals(objectType))
I believe that the more recent version of the camel-cmis component fixes this but I'm not using the latest and greatest camel and I'm wondering if the fix could be back ported. If you need help, I can fork and do a pull request .
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.