FYI, if you comment out the code that checks if a interface is
remoteble, you could have a version of the calculator without any
annotations, and the runtime would introspect the references for the
multiple services. But note that, the introspection code will only be
activated if there is no SCA annotations on the class.

On Wed, May 21, 2008 at 1:21 AM, Adriano Crestani
<[EMAIL PROTECTED]> wrote:
> Ah, the expected exception should look like this on android emulator:
> http://people.apache.org/~adrianocrestani/android_emulator.jpg
>
> On Tue, May 20, 2008 at 11:54 PM, Adriano Crestani <
> [EMAIL PROTECTED]> wrote:
>
>> Hi Oscar,
>>
>> 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].
>>
>> Have you debugged to check exactly where this exception is being thrown? I
>> have done the procedure I previously described  again and I got it "running"
>> as expected, which means, running till the expected exception is thrown.
>>
>> 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 ;-)
>>
>> Unfortunately the rumors say the new SDK version will not be released until
>> july 28th :S. So, it's really good you have already started working on the
>> retrotranslator, it will probably be the best workaround for the annotations
>> problem till the next SDK release.
>>
>> I suggest you to forget about the build process right now, before, check if
>> this retrotranslator works and if it really works on android platform. I´m
>> really getting upset with Android, even its API methods does not work as
>> expected :@. Anyway, try initially to compile a simple class (coded by you),
>> which contains annotations, and access these annotations. If it works, make
>> it more complex and test again, do it until you reach a scenario as complex
>> as the SCA (a lot of external jars with annotated classes accessed by the
>> other external jars and the Android app). Got it? : )
>>
>> Regards,
>> Adriano Crestani
>>
>>
>> On Tue, May 20, 2008 at 1:53 PM, Oscar Castaneda <
>> [EMAIL PROTECTED]> wrote:
>>
>>> 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
>>>
>>
>>
>



-- 
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/

Reply via email to