[
https://issues.apache.org/jira/browse/CMIS-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jean Marie PASCAL updated CMIS-507:
-----------------------------------
Attachment: chemistry-opencmis-android.zip
Source Code of Android OpenCMIS
> OpenCMIS client for Android devices
> -----------------------------------
>
> Key: CMIS-507
> URL: https://issues.apache.org/jira/browse/CMIS-507
> Project: Chemistry
> Issue Type: Improvement
> Components: opencmis-client, opencmis-client-bindings,
> opencmis-commons
> Affects Versions: OpenCMIS 0.6.0
> Environment: All Android devices
> Reporter: Jean Marie PASCAL
> Labels: android, client, mobile, opencmis
> Attachments: chemistry-opencmis-android.zip
>
>
> Hello Chemistry,
> As new employee of Alfresco Mobile team, I just start a project to port
> OpenCMIS into Android devices.
> Indeed, OpenCMIS as is doesn't work on android device due to the fact that
> Android SDK is different than JDK. They share some common package but clearly
> not all and clearly not all for using OpenCMIS in android.
> So after few days of work, I created a "partial/draft" client version of
> OpenCMIS called chemistry-opencmis-android.
> What's chemistry-opencmis-android ?
> It's a maven project that create an android opencmis client into a single jar
> file : chemistry-opencmis-android.jar
> This library is a merge of opencmis-client-* and opencmis-commons-*
> dependencies into one jar. Some of them have been modified (More informations
> below).
> The project has 2 external dependencies : android.jar (for specific android
> dependencies) and simple-json (browser binding)
> I tested this project into Ice Cream Sandwich and Honeycomb android device.
> Major part of opencmis services (repository, navigation, object...) works
> pretty well but there are still some "functional holes" (extension
> parameters, ACL, versionning...). Yes it's draft version :)
> What I did...
> In general,
> - Merged opencmis-client-* and opencmis-commons-* package into one.
> - removed all webservices binding references
> - removed jaxb dependency (replaced it by opencmis data object)
> - modified atompubparser to use xmlpullparser provided by android.
> - commented or deleted all external dependencies that was not provided by
> android like commons-logging, osgi...
> In details,
> - chemistry-opencmis-commons-api :
> --- add a file : AtomPropertyType.java
> - chemistry-opencmis-commons-impl :
> --- remove converter, JaxbHelper files and tube packges
> --- add AtomPubConverter
> - chemistry-opencmis-client-api : nothing
> - chemistry-opencmis-client-impl
> --- remove osgi package
> - chemistry-opencmis-client-bindings
> --- deleted webservices + local package
> --- removed commons-logging and jaxb dependencies
> --- rewrite atompubparser and atomentrywriter to use xmlpullparser
> --- rewrite all services to use only opencmis object
> --- create an atompubconverter : to create opencmis object after a parsing
> phase
> So my final questions :
> What do you think about this approach ?
> and if it's correct could I share, contribute and improve this version into
> chemistry and have some extra dev hands to help me in this task ?
> And the last How to build my project ?
> You need
> - maven 3.x +
> - android.jar as artifact in your maven repository. I used
> https://github.com/mosabua/maven-android-sdk-deployer to deploy android sdk
> into my local repository
> then simply run a mvn install. You will have a single jar that you can
> incorporate to any android application as any dependency.
> Thanks for all.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira