[ 
https://issues.apache.org/jira/browse/CAY-1604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Huss closed CAY-1604.
--------------------------
    Resolution: Abandoned

> Android support for ROP apps
> ----------------------------
>
>                 Key: CAY-1604
>                 URL: https://issues.apache.org/jira/browse/CAY-1604
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: ROP
>    Affects Versions: 3.1M2
>         Environment: Tested Android 2.3, Cayenne 3.1
>            Reporter: John Huss
>            Priority: Minor
>              Labels: patch
>         Attachments: android java beans.patch, cayenne-android-support.patch, 
> tutorial-rop-android.zip
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> I tried out Cayenne ROP on Android and this is what I found: it doesn't work 
> out of the box, but it can be made to work with a bit of effort.
> The Hessian library refers to a few classes that are not present in Android:
> java.rmi.Remote
> java.rmi.RemoteException
> Cayenne itself refers to a few other classes missing in Android:
> java.beans.PropertyDescriptor
> java.beans.IntrospectionException
> So references to these need to be dealt with.  Here is what I did:
> 1) Use the existing open source"hessdroid" library instead of the regular 
> hessian library
> 2) Remove reference to java.rmi.Remote from 
> org.apache.cayenne.remote.RemoteService
> 3) Change RemoteException to IOException in 
> org.apache.cayenne.remote.RemoteService
> 4) Use the java.beans code from Apache Harmony repackaged as 
> com.googlecode.openbeans. I created the "openbeans" project on Google Code to 
> host this code.
> Only the cayenne-client library needs to be changed in this way.  The server 
> can stay the same, but it needs to have access to the openbeans library so 
> that those classes are defined.
> With these changes I was able to run the ROP client tutorial code in an 
> Android app.  I've attached the patch so you can see exactly what was needed. 
>  I don't know what the proper course of action would be to integrate 
> something like this; presumably these aren't the kind of changes you would 
> want to make to the core library, just to an android-only version.  So maybe 
> you have an idea.
> I've attached the patch and the example project.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to