Hi Oscar,

Yup, you're right - there are indeed Eclipse files inside the folders. I
guess I was confused by the different names in [1] than those that result
[2] from importing to an Eclipse workspace - after which I see 13 projects
in both cases. So please ignore my previous remark.

I have added the projects, but still haven't changed their names. I was
planning to modify their project names when we get it integrated to SCA,
mainly because we will need to change the poms. Anyway, feel free to modify
the names whenever you want ; )


Per the reply I received on the Android Developers list [3] I started using
retrotranslator on JAR's instead of class files. For this I created a big
JAR file with all the Tuscany modules (including those you modified for
Android). I translated this big JAR (around 15MB) with retrotranslator [4].
Then I created a new workspace with only calculator-android and
android-jdk-classes as projects and added the translated JAR as an external
library for both projects. This resulted in errors [4] from the Android
build process.

I really do not understand this errors, but as this errors are only related
to testcase classes they can be ignored (removed from the jars). I also did
not understand why it's not find the .apk file:

"[2008-06-06 12:52:49 - calculator-android] Could not find
/bin/calculator-android.apk!"

To work around these errors I decided to take a different approach and copy
all the jar files contained in the individual modules to a separate folder
and then run retrotranslator on each JAR. The jars are found inside the
target folder of each module and are named as shown below:

tuscany-<NAME>-incubating-SNAPSHOT.jar

>From this I found that only the SCA modules have these JAR files inside
their respective target folders, whereas the Android modules I downloaded
from [1] don't have these files at all

Yep, this .jars are generated when the maven is executed. I'm not sure if
you should use this .jars, because they were compiled with no reference to
Android library. That's also why there are no .jar files for android
modules, because you did not execute the maven on them  (and you shouldn't).

So I decided to keep the Android
modules [2] and add the translated JARs as libraries where needed to have
the workspace build with no problems. If I get this running I would look
into creating JAR files from the Android modules and then return to only
having calculator-android and android-jdk-classes as projects and the rest
as JAR's added as external libraries. If this works out I could then look
into seeing which JAR's are important and which are not, in this way
reducing the total memory footprint and coming up with a "lightweight mobile
SCA core/runtime." Please let me know your thoughts on these efforts.

You haven't tried this yet, right? You may try it, but I do not like this
approach, because it will get difficult to debug sca classes as they are not
imported as eclipse projects.

If there is an option on retrotranslator to retrotranslate all the classes
in a folder, it should work as well as it works on classes inside .jar
files. So, I think you should try to understand why your first approach
(retrotranslating the eclipse project classes) is not working trying a
simpler scenario. Have you already tried it?

Also, if the restrotranslator gets to complicated, you may try the Luciano's
suggestion ; )


Kind Regards,
Adriano Crestani

On Fri, Jun 6, 2008 at 9:50 AM, Oscar Castaneda <
[EMAIL PROTECTED]> wrote:

> Hi Adriano,
>
>
> > Yep, they should be imported, if you check inside its folders, there are
> > the
> > eclipse project files, so they should be identified by the eclipse import
> > tool as an eclipse project.
>
>
> Yup, you're right - there are indeed Eclipse files inside the folders. I
> guess I was confused by the different names in [1] than those that result
> [2] from importing to an Eclipse workspace - after which I see 13 projects
> in both cases. So please ignore my previous remark.
>
> I don't think introspection is a good solution, hence you will need to
> > change how the sca reads the info about each service and also services
> > implemented for JVM would need to be adapted to run on Android. Let's
> avoid
> > to modify so much the SCA code, and lets try to keep retrotranslator in
> > mind
> > as a temporary workaround for annotations till next SDK release :S
>
>
> >  Also, if you get the retrotranslator working, forget the Luciano's
> > suggestion and vice-versa...do not try both at the same time ; )
> >
>
> Will do. Thanks for the advice it helps me to focus in the right direction
> :-)
>
> Now, a summary of what I've done up to now:
>
> Per the reply I received on the Android Developers list [3] I started using
> retrotranslator on JAR's instead of class files. For this I created a big
> JAR file with all the Tuscany modules (including those you modified for
> Android). I translated this big JAR (around 15MB) with retrotranslator [4].
> Then I created a new workspace with only calculator-android and
> android-jdk-classes as projects and added the translated JAR as an external
> library for both projects. This resulted in errors [4] from the Android
> build process.
>
> To work around these errors I decided to take a different approach and copy
> all the jar files contained in the individual modules to a separate folder
> and then run retrotranslator on each JAR. The jars are found inside the
> target folder of each module and are named as shown below:
>
> tuscany-<NAME>-incubating-SNAPSHOT.jar
>
> From this I found that only the SCA modules have these JAR files inside
> their respective target folders, whereas the Android modules I downloaded
> from [1] don't have these files at all. So I decided to keep the Android
> modules [2] and add the translated JARs as libraries where needed to have
> the workspace build with no problems. If I get this running I would look
> into creating JAR files from the Android modules and then return to only
> having calculator-android and android-jdk-classes as projects and the rest
> as JAR's added as external libraries. If this works out I could then look
> into seeing which JAR's are important and which are not, in this way
> reducing the total memory footprint and coming up with a "lightweight
> mobile
> SCA core/runtime." Please let me know your thoughts on these efforts.
>
>
> [1]
> https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/mobile-android/
> [2] http://androidindelft.googlepages.com/6Jun1.jpg
> [3] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/4Jun2008
> [4] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/5Jun2008
>
>
> On Wed, Jun 4, 2008 at 6:05 PM, Adriano Crestani <
> [EMAIL PROTECTED]>
> wrote:
>
> > Hi Oscar,
> >
> >
> > When I imported the projects from [3] the following projects were not
> > imported:
> >
> > core-android
> > host-android
> > extensibility
> >
> > Is this normal? Should they be imported?
> >
> > Yep, they should be imported, if you check inside its folders, there are
> > the
> > eclipse project files, so they should be identified by the eclipse import
> > tool as an eclipse project.
> >
> > Thanks for the detailed explanation. I'm going to give this a try as I
> > found
> > an introspection related comment [2] as a workaround to another
> annotations
> > problem with the current SDK.
> >
> > I don't think introspection is a good solution, hence you will need to
> > change how the sca reads the info about each service and also services
> > implemented for JVM would need to be adapted to run on Android. Let's
> avoid
> > to modify so much the SCA code, and lets try to keep retrotranslator in
> > mind
> > as a temporary workaround for annotations till next SDK release :S
> >
> > Also, if you get the retrotranslator working, forget the Luciano's
> > suggestion and vice-versa...do not try both at the same time ; )
> >
> > Any progress testing retrotranslator on a simpler scenario, just let us
> > know
> > ; )
> >
> > Kind Regards,
> > Adriano Crestani
> >
> >
> > On Wed, Jun 4, 2008 at 3:27 AM, Oscar Castaneda <
> > [EMAIL PROTECTED]> wrote:
> >
> > > Hi Adriano,
> > >
> > > At first, build a simple, but equivalent scenario, and test it.
> > >
> > >
> > > I think this is a great idea, especially because I found that the
> "native
> > > method not implemented" errors I'm getting [1] are still related to the
> > > annotations problem. I'm getting the same errors when converting the
> code
> > > to
> > > java 1.4. This makes me think that retrotranslator is actually not
> > working.
> > > Hopefully, testing with a simpler scenario will help me to understand
> the
> > > problem better.
> > >
> > > Sorry for the not-well-detailed info here. I meant you to do:
> > > >
> > > > Search in every sca code for the usage of Class.isAnnotationPresent
> or
> > > > getAnnotations or getAnnotation methods. If it checks for a the
> > > @Remotable
> > > > annotations force it to true, for example:
> > > >
> > > > Annotation isRemotable = class.isAnnotationPresent
> > > >>
> > > >> (Remotable.class); =>
> > > >> Annotation isRemotable = true;
> > > >>
> > > >> otherwise, which means, when it's not checking for the @Remotable
> > > >> annnotation, force to false. For example:
> > > >>
> > > >> Annotation isReference = class.isAnnotationPresent(Reference.class);
> > =>
> > > >> Annotation isReference = false;
> > > >
> > > >
> > >
> > > Thanks for the detailed explanation. I'm going to give this a try as I
> > > found
> > > an introspection related comment [2] as a workaround to another
> > annotations
> > > problem with the current SDK.
> > >
> > > Also, I have another question for you...
> > >
> > > When I imported the projects from [3] the following projects were not
> > > imported:
> > >
> > > core-android
> > > host-android
> > > extensibility
> > >
> > > Is this normal? Should they be imported?
> > >
> > >
> > > [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/2Jun2008
> > > [2]
> > >
> > >
> > >
> >
> http://code.google.com/p/android/issues/detail?id=268&can=1&q=annotations&colspec=ID%20Type%20Version%20Security%20Status%20Owner%20Summary#c3
> > > [3]
> > >
> >
> https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/mobile-android
> > >
> > >
> > > On Tue, Jun 3, 2008 at 4:32 AM, Adriano Crestani <
> > > [EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > Well detailed Oscar ; )
> > > >
> > > > It is one thing I learnt after playing hours with Android, you need
> to
> > > > rebuild every modified project which is imported in the android
> > project,
> > > > the
> > > > android project itself does not check for modifications on its
> > > dependencies
> > > > :S...so, when you rebuilt the imported project it recompiled the
> > > > uncommented
> > > > code at JavaRuntimeModuleActivator and the SCA started to check for
> > > > annotations once again, so you got the errors on [1], which means
> > > > retrotranslator is still not working. Have you tested it on a simpler
> > > > application as I previously suggested? Did it work? What was the most
> > > > critical scenario you tested it and it worked?
> > > >
> > > > " Voyager-2:30May ocastaneda$ java -jar
> > > > /../retrotranslator-transformer-1.2.6.jar -srcdir /../workspace
> > > > -target 1.5 -reflection safe -stripannot -classpath
> > > > /../retrotranslator-android-1.2.6.jar -verbose"
> > > >
> > > > You should also check if it's is working as expected, as I already
> > said,
> > > > does not go directly testing complex solutions on complex things like
> > > SCA.
> > > > At first, build a simple, but equivalent scenario, and test it. For
> > > > example,
> > > > a simple android app project that uses an java library project which
> > > access
> > > > annotations on classes placed on the android project. Like our
> android
> > > > calculator, it's an android app project (calculator-android) which
> uses
> > > > java
> > > > library projects (sca modules), and these libraries checks for
> > > annotations
> > > > on classes located at the android app project
> (CalculatorService.java,
> > > > AddService.java, etc). When you get it working on the simpler
> scenario,
> > > > then
> > > > you are ready to test it on the complexer sceneario
> > (calculator-android).
> > > >
> > > > Please, if you get the retrotranslator working in the simpler
> scenario,
> > > > send
> > > > us a patch with it. You can create a JIRA and attach it. If you need
> > any
> > > > help, just ask ; )
> > > >
> > > > "code that checks for @Remotable you force to true, otherwise force
> to
> > > > false."
> > > >
> > > > Sorry for the not-well-detailed info here. I meant you to do:
> > > >
> > > > Search in every sca code for the usage of Class.isAnnotationPresent
> or
> > > > getAnnotations or getAnnotation methods. If it checks for a the
> > > @Remotable
> > > > annotations force it to true, for example:
> > > >
> > > > Annotation isRemotable = class.isAnnotationPresent(Remotable.class);
> =>
> > > > Annotation isRemotable = true;
> > > >
> > > > otherwise, which means, when it's not checking for the @Remotable
> > > > annnotation, force to false. For example:
> > > >
> > > > Annotation isReference = class.isAnnotationPresent(Reference.class);
> =>
> > > > Annotation isReference = false;
> > > >
> > > > [1] -
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/2Jun2008
> > > >
> > > > Kind Regards,
> > > > Adriano Crestani
> > > >
> > > > On Mon, Jun 2, 2008 at 4:19 PM, Oscar Castaneda <
> > > > [EMAIL PROTECTED]> wrote:
> > > >
> > > > > Hi Adriano,
> > > > >
> > > > > I continued testing retrotranslator. Here's what I've done up to
> now.
> > > > >
> > > > > 1. Downloaded the modified code from [1].
> > > > >
> > > > > 2. Downloaded SCA modules from [2] and installed as shown below:
> > > > >
> > > > > svn checkout --revision 643746
> > > > >
> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules
> > > > >
> > > > > cd modules
> > > > >
> > > > > mvn clean install -Dtest=no
> > > > > mvn -Peclipse eclipse:eclipse -Dtest=no
> > > > >
> > > > >  3. Created a new eclipse workspace and set the M2_REPO variable as
> > > shown
> > > > > below:
> > > > >
> > > > > mvn -Declipse.workspace=/Users/.../workspace eclipse:add-maven-repo
> > > > >
> > > > >  4. Adjusted buildpath to eliminate build errors, added Android
> > library
> > > > to
> > > > > required modules, fixed references to jar files and other
> libraries.
> > > > >
> > > > > 5. Uncommented lines in
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.tuscany.sca.implementation.java.module.JavaRuntimeModuleActivator
> > > > >
> > > > > 6. Ran retrotranslator as instructed on the project site [3] and
> > shown
> > > > > below:
> > > > >
> > > > > Voyager-2:30May ocastaneda$ java -jar
> > > > > /../retrotranslator-transformer-1.2.6.jar -srcdir /../workspace
> > > > > -target 1.5 -reflection safe -stripannot -classpath
> > > > > /../retrotranslator-android-1.2.6.jar -verbose
> > > > >
> > > > >  The output can be found in [4].
> > > > > 7. Rebuilt project after uncommenting lines in
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.tuscany.sca.implementation.java.module.JavaRuntimeModuleActivator
> > > > >
> > > > > and then re-ran retrotranslator.
> > > > > 8. Debugging in Eclipse shows errors shown in [5] and Android
> errors
> > in
> > > > > [6].
> > > > >
> > > > >
> > > > >
> > > > > As always, I'm documenting my progress on the project log. I
> haven't
> > > > fully
> > > > > tested out Luciano's suggestions. I guess I'm puzzled by what you
> > mean
> > > by
> > > > > this:
> > > > >
> > > > > "code that checks for @Remotable you force to true, otherwise force
> > to
> > > > > false."
> > > > >
> > > > > I'll continue looking into it and hopefully get retrotranslator to
> > > work.
> > > > I
> > > > > also think it's a simpler option.
> > > > >
> > > > > Luciano: Thanks for your suggestions.
> > > > >
> > > > > [1]
> > > > >
> > > >
> > >
> >
> https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/mobile-android
> > > > >
> > > > > [2]
> > > https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/
> > > > >
> > > > > [3] http://retrotranslator.sourceforge.net/#android
> > > > >
> > > > > [4] http://androidindelft.googlepages.com/rt_output_30may2008.txt
> > > > >
> > > > > [5]
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/2Jun2008
> > > > > [6] http://androidindelft.googlepages.com/2Jun1.jpg
> > > > >
> > > > >
> > > > > On Tue, May 27, 2008 at 6:33 PM, Adriano Crestani <
> > > > > [EMAIL PROTECTED]> wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I tried what Luciano suggested. It really works. To get it
> working
> > > you
> > > > > > simply need to search on all modules where the code checks for
> > > > @Remotable
> > > > > > annotation and force it to true:
> > > > > >
> > > > > > "clazz.getAnnotation(Remotable.class) != null"   => true
> > > > > > "clazz.isAnnotationPresent(Remotable.class)" => true
> > > > > >
> > > > > > It works fine on the sca revision we are testing on Android and
> the
> > > > most
> > > > > > recent revision. I only tested it as a java application, not as
> an
> > > > > android
> > > > > > application.
> > > > > >
> > > > > > Unfortunatelly, I still think retrotranslator is a faster and
> > simpler
> > > > > > solution. Because the Luciano's suggestion only forces the SCA to
> > > > > recognize
> > > > > > the services with no annotations declared on their interfaces,
> but
> > it
> > > > > does
> > > > > > not avoid the Exceptions we are getting when the SCA invokes
> > methods
> > > > that
> > > > > > read annotations. So, our current problem is that we are not
> being
> > > able
> > > > > to
> > > > > > use these methods and not only because we are not being able to
> > read
> > > > the
> > > > > > annotations.
> > > > > >
> > > > > > Oscar, if you want to try the Luciano's suggestion, you will need
> > to
> > > > > > comment/adapt every sca code that tries to read the class
> > > annotations.
> > > > It
> > > > > > is
> > > > > > not necessary to comment/adapt the methods that read Method
> > > > annotations,
> > > > > > they are not throwning any exception. So, every code that checks
> > for
> > > > > > @Remotable you force to true, otherwise force to false.
> > > > > >
> > > > > > Any doubt about what I have said, just let me know ; )
> > > > > >
> > > > > > Suggestions are welcome : )
> > > > > >
> > > > > > Adriano Crestani
> > > > > >
> > > > > > On Wed, May 21, 2008 at 12:57 PM, Luciano Resende <
> > > > [EMAIL PROTECTED]>
> > > > > > wrote:
> > > > > >
> > > > > > > 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<http://people.apache.org/%7Eadrianocrestani/android_emulator.jpg>
> <http://people.apache.org/%7Eadrianocrestani/android_emulator.jpg>
> > <http://people.apache.org/%7Eadrianocrestani/android_emulator.jpg>
> > > <http://people.apache.org/%7Eadrianocrestani/android_emulator.jpg>
> > > > <http://people.apache.org/%7Eadrianocrestani/android_emulator.jpg>
> > > > > <http://people.apache.org/%7Eadrianocrestani/android_emulator.jpg>
> > > > > > <
> http://people.apache.org/%7Eadrianocrestani/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://people.apache.org/%7Elresende>
> <http://people.apache.org/%7Elresende>
> > <http://people.apache.org/%7Elresende>
> > > <http://people.apache.org/%7Elresende>
> > > > <http://people.apache.org/%7Elresende>
> > > > > <http://people.apache.org/%7Elresende><
> > > > > > http://people.apache.org/%7Elresende>
> > > > > > > http://lresende.blogspot.com/
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > best,
> > > > > -oscar
> > > > >
> > > > > Oscar Castañeda
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > best,
> > > -oscar
> > >
> > > Oscar Castañeda
> > >
> >
>
>
>
> --
> best,
> -oscar
>
> Oscar Castañeda
>

Reply via email to