[ 
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

        

Reply via email to