Hi Adriano, I was indeed using the sca modules not from the sandbox. As you suggested, I removed the tuscany-contribution-impl from my workspace and added the version you uploaded to the sandbox. Then, I uncommented the lines in
org.apache.tuscany.sca.implementation.java.module.JavaRuntimeModuleActivator following the comments pointing out why those lines had been commented. I'm no longer getting the ClassNotFoundException. However, it's getting stuck somewhere else (before getting there I guess)...I think this is the case because before and after commenting the code I get the same error in the Android emulator, an InstantiationException [1]. I also started tinkering with retrotranslator. First I tried doing it with Ant, but it seems that in order to build I have to include the whole tuscany projects in a way similar to how I now have in Eclipse. I also tried making a jar out of org.apache.tuscany.sca.implementation.java.module.JavaRuntimeModuleActivator and then feeding it to retrotranslator but unfortunately it's not translating anything, as shown below. Voyager-2:Retrotranslator-1.2.6-bin ocastaneda$ java -jar retrotranslator-transformer-1.2.6.jar -srcjar JavaRuntimeModuleActivator.jar -target 1.5 -reflection safe -stripannot -classpath retrotranslator-android-1.2.6.jar Processing 136 file(s) in JavaRuntimeModuleActivator.jar. Transformed 0 file(s). There's also a maven plugin, so I might try that...but first I'll give Ant another go. Hopefully Google will release a new SDK soon, otherwise as you say...retrotranslator will have to be the workaround to proceed with our project ;-) Thanks again for all your help...I'm getting ready for the official start :-) [1] http://androidindelft.googlepages.com/20may2008.html On Fri, May 16, 2008 at 12:20 PM, Adriano Crestani < [EMAIL PROTECTED]> wrote: > Hi Oscar, > > My mistake again, the eclipse project files of contribution-impl module > were > not uploaded, so you are probably using the modules you have downloaded > from > the sca modules. If you remove the tuscany-contribution-impl from your > workspace and add this module from the sandbox it will probably work. > Anyway, you will need to update your trunk again to get the project files > I'm uploading right now ; ) > > OK, if you wanna try the retrotranslator as a solution here is a tip: most > of the code that were using the Reflection API was commented on > > org.apache.tuscany.sca.implementation.java.module.JavaRuntimeModuleActivator > class, you just need to edit this class and remove the commented code (it's > described there). > > So, if you uncomment the code and the retrotranslador successfuly work, and > I hope it will, you will reach the > org.apache.tuscany.sca.binding.sca.impl.RuntimeSCAServiceBindingProvider > constructor and it should run OK. Exactly on this constructor I'm getting a > NPE when the code described above is commented. > > About the ant, go on and use it. Further we can evaluate better where we > place it in the entire SCA build process. BTW, we even dont know if we will > still be using the retrotranslator in future, right?! : ) > > Use the retrotranslator may help us a lot to workaround this problem for > now > and go on with our project ; ) > > Kind Regards, > Adriano Crestani > > On Wed, May 14, 2008 at 2:57 PM, Oscar Castaneda < > [EMAIL PROTECTED]> wrote: > > > Hi Adriano, > > > > Thanks alot for your answers. I was able to build the entire workspace > from > > your instructions. When running calculator-android as an "Android > > application" I'm getting a ClassNotFoundException [1] for > > > > > org.apache.tuscany.sca.contribution.processor.impl.DexContributionProcessor. > > Is the exception you referred to in your original email? > > > > ...when > > > you run the calculator-android project as an "Android application" you > > > should get an exception, that was generated initially by a NPE thrown > by > > > > org.apache.tuscany.sca.binding.sca.impl.RuntimeSCAServiceBindingProvider > > > constructor. This is caused because the latest Android SDK does not > > support > > > the Reflection API yet. So, the SCA cannot check the @Reference > > annotations > > > (I commented the code which tries to read the annotations, so when the > > > execution reach this constructor it throws the NPE). > > > > > > > > > Searching for the class in the exception I'm getting I found > > org.apache.tuscany.sca.extensibility.ServiceDiscovery. In > getServiceClasses > > it loads the service class I'm getting problems with when running > > calculator-android as an "Android application": > > > > > > > "org.apache.tuscany.sca.contribution.processor.impl.DexContributionProcessor;type=application/x-dex" > > > > > > I couldn't find the corresponding java file in my imported workspace and > > found that there is no package like > > org.apache.tuscany.sca.contribution.processor.impl. > > > > Am I missing something? Or are these the errors you would expect? > > > > I would like to get to the point where I get the exception you described > > and > > try to run retrotranslator from there. However, as I'm using the ADT > plugin > > in eclipse I would need to extract code that "declares or analyzes > > annotations you may extract it into a separate library that can be > > processed > > with Retrotranslator and added to the main project." That is, unless I > use > > Ant, in which case I would only need to add a few lines to build.xml. I'm > > continuing to look into this, any thoughts are more than welcome :-) > > > > [1] http://delftandroid.googlepages.com/14may2008.html > > > > > > On Mon, May 12, 2008 at 9:13 AM, Adriano Crestani < > > [EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > > > Thanks all for the feedback ; ) > > > > > > At first, I want to correct one mistake, on the first step I described > on > > > my > > > previous email, I should not have added the word "install", it probably > > > would lead the reader to run the "mvn clean install" in the downloaded > > > files, as Oscar did. Also, on this same step, the code should not be > > > downloaded from [1], but from [2]. > > > > > > Simon: > > > Thanks for the link ; ). As the Sun Java source codes are under CDDL > 1.0 > > > license, it's only needed to include the CDDL license header on each > > file, > > > and it's already done : ) > > > > > > Jean: > > > I think it is better to keep the code in the sandbox for now. At first, > > > it's > > > not working on the current SCA modules revision yet. And also, I'm > > > commenting many lines at some modules just to get a "first run" of > > > calculator-sample to further evaluate why and how this commented lines > > will > > > be adapted to be compatible with both: SCA Java and SCA Android. > > > > > > Oscar: > > > > > > - Are host-android and core-android a part of calculator-android? > > > > > > What do you mean when you say "part"? They are used by > > calculator-android, > > > and will prabably be added to tuscany sca modules in future > > > > > > - Should the calculator-android included in [1] have included an > > > "AndroidManifest.xml" file? > > > > > > Sorry, my mistake, I forgot to add to svn the eclipse project files of > > > these > > > projects. I have already commited these files and if you update your > > trunk > > > you will get them ; ). So, delete the ones you have created. > > > > > > - How can I fix the build errors? Is there something else needed in > > > addition > > > to including the Android Library? > > > > > > No, the Android library is really simples, it only contains the > > android.jar > > > file located in your Android SDK. > > > > > > Please, do not run the "mvn clean build" and "mvn -Peclipse > > > eclipse:eclipse" > > > commands on the sandbox files, the eclipse project files are already in > > > modules and you should build the modules using the eclipse for now. The > > > maven config files are not updated yet with the modifications I have > done > > > on > > > these modules, so they will not generate the correct project files, > > worse, > > > they will override the ones I have created. > > > > > > Then, clean and build your entire workspace, if you still get any > errors, > > > let me know ; ) > > > > > > - Should I import 'tuscany-databinding-saxon'? Or, why should this not > be > > > imported? > > > > > > It seems the revision I suggested already had the saxon module removed > > from > > > repo. So, you mistakenly removed another one that shouldn´t. Please, > > import > > > the databinding-saxon module again into your workspace. > > > > > > > > > Regards, > > > Adriano Crestani > > > > > > > > > [1] - https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/< > > > > > > https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/mobile-android/android-jdk-classes/src/javax/xml/ > > > > > > > [2] - > > > > > > https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/mobile-android > > > > > > On Sun, May 11, 2008 at 11:05 AM, Jean-Sebastien Delfino < > > > [EMAIL PROTECTED]> wrote: > > > > > > > Mike Edwards wrote: > > > > > > > > > Jean-Sebastien Delfino wrote: > > > > > > > > > > > Oscar Castaneda wrote: > > > > > > > > > > > > 1. Downloaded the modified code from [1] and installed as shown > > > > > > > below: > > > > > > > > > > > > > > svn checkout > > > > > > > https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/ > > > > > > > > > > > > > > cd mobile-android > > > > > > > > > > > > > > > > > > > > If there's no objection from others, I'd be happy to see this > code > > > > > > move from sandbox to trunk as we now have several people doing > > > development > > > > > > on this android integration. > > > > > > > > > > > > Adriano, you could start with something like > trunk/java/sca/android > > > > > > and later progressively try to converge the code with the code in > > > trunk, > > > > > > with architected plug points for the android specific code etc. > > > > > > > > > > > > Thoughts? > > > > > > > > > > > > > > > > I assume that moving to trunk does not also imply "making part of > the > > > > > main build"? > > > > > > > > > > I'd be a bit concerned at experimental code entering the build at > > this > > > > > stage. > > > > > > > > > > > > > > > Yours, Mike. > > > > > > > > > > > > > I think it's business as usual, code that doesn't work does not go in > > the > > > > main build, code that's getting stable can go in the main build at > some > > > > point when people have no specific objections, and different profiles > > can > > > be > > > > used to subset particular builds. > > > > > > > > -- > > > > Jean-Sebastien > > > > > > > > > > > > > > > -- > > best, > > -oscar > > > > Oscar Castañeda > > > -- best, -oscar Oscar Castañeda