I have it.  I was misunderstanding how the class part of the path search was 
happening.  Here is what I wanted and it "seems" to work, at least it comes up 
in intellsense:  <attr 
path="/api/package[@name='com.scalabledevelopment.math']/class[@name='Operations']/method[@name='multiplyfloat']"
 name="managedName">MultipleFloat</attr>
 I was missing the method name, now boom, it works.  Expect more dumb 
questions. Wally From: theevilprogram...@hotmail.com
To: monodroid@lists.ximian.com
Date: Thu, 21 Jun 2012 14:19:58 -0400
Subject: Re: [mono-android] java binding library





I decided to go back to the drawing board and create some simple .jar files 
that I could transform and then be less of a hassle.  I have a method called: 
multiplefloat which takes two floats and multiplies them together and returns a 
float.  I'd like to rename that method to MultipleFloat in the .NET side 
because I am a bad java programmer.  I've tried the following transforms in the 
Metadata.xml file with no luck.  Any suggestions?
 
<
metadata>


 
  <

attr 
path="/api/package[@name='com.scalabledevelopment.math.operations.multiplyfloat']"
 name="managedName">Com.Scalabledevelopment.Math.Operations.MultiplyFloat</attr>


  <

attr 
path="/api/package[@name='com.scalabledevelopment.math.operations']/class[@name='multiplyfloat']"
 name="managedName">Com.Scalabledevelopment.Math.Operations.MultiplyFloat</attr>


</


metadata>

 
> Date: Thu, 21 Jun 2012 18:13:41 +0900
> From: atsushi...@veritas-vos-liberabit.com
> To: monodroid@lists.ximian.com
> Subject: Re: [mono-android] java binding library
> 
> Hello,
> 
> On 2012/06/21 10:05, Wally McClure wrote:
> > I'm working on an example of using the java binding library.  I wanted 
> > to use a fairly well known java library, so a friend told me to use 
> > the commons-math jar library.  Ok, sounds good to me.  I plug this 
> > into a MfA java binding library, and of course, it generates a bunch 
> > of errors.  This is actually good.  Now, I need to go through and fix 
> > these errors as noted here: 
> > http://docs.xamarin.com/android/tutorials/Binding_a_Java_Library_%28.jar%29
> 
> This kind of Java-vs-C# mismatch always occurs and bites us. There are 
> common patterns of troubles. We have some listed (I have to say, that's 
> not very up to date though ...) :
> http://docs.xamarin.com/android/tutorials/Binding_a_Java_Library_%28.jar%29#Troublshooting_Bindings
> 
> >
> > Some of the errors that I am getting are:
> > Error    1    'Gamma': member names cannot be the same as their 
> > enclosing type    C:\Projects\MonoAndroidAppDev\New in 
> > 4.2\Projects\ExampleJavaBindings\BindingLibrary\obj\Debug\generated\src\Org.Apache.Commons.Math3.Special.Gamma.cs
> >     
> > 12    23    BindingLibrary
> 
> We convert Java names from camelCase to PascalCase and that results in 
> this kind of problem. Either the member or the type name has to be 
> renamed via metadata fixup, e.g.
> 
> <attr path="/api/package[@name=...]/class[@name=...]" 
> name="managedName">GanmaType</attr>
> 
> > Error    2    The type or namespace name 'FirstMoment' does not exist 
> > in the namespace 'Org.Apache.Commons.Math3.Stat.Descriptive.Moment' 
> > (are you missing an assembly reference?)    
> > C:\Projects\MonoAndroidAppDev\New in 
> > 4.2\Projects\ExampleJavaBindings\BindingLibrary\obj\Debug\generated\src\Org.Apache.Commons.Math3.Stat.Descriptive.Moment.Mean.cs
> >     
> > 30    70    BindingLibrary
> >
> The troubleshooting section in our site (mentioned above) contains "The 
> binding .dll builds but misses some Java types" row. It contains a 
> couple of common patterns, which may give you the answer.
> 
> > Error    5    Type 
> > 'Org.Apache.Commons.Math3.Stat.Clustering.EuclideanIntegerPoint' 
> > already defines a member called 
> > 'GetCentroidOf_Ljava_util_Collection_Handler' with the same parameter 
> > types    C:\Projects\MonoAndroidAppDev\New in 
> > 4.2\Projects\ExampleJavaBindings\BindingLibrary\obj\Debug\generated\src\Org.Apache.Commons.Math3.Stat.Clustering.EuclideanIntegerPoint.cs
> >     
> > 90    19    BindingLibrary
> >
> 
> The only possibility I can think of is some multiple-methods-to-events 
> conversion conflict case as Miljenko mentioned. Any other reason is 
> possible though.
> 
> > Error    29    The name 'Handle' does not exist in the current 
> > context    C:\Projects\MonoAndroidAppDev\New in 
> > 4.2\Projects\ExampleJavaBindings\BindingLibrary\obj\Debug\generated\src\Org.Apache.Commons.Math3.Stat.Descriptive.Moment.SecondMoment.cs
> >     
> > 23    22    BindingLibrary
> >
> > Error    33    The name 'SetHandle' does not exist in the current 
> > context    C:\Projects\MonoAndroidAppDev\New in 
> > 4.2\Projects\ExampleJavaBindings\BindingLibrary\obj\Debug\generated\src\Org.Apache.Commons.Math3.Stat.Descriptive.Moment.SecondMoment.cs
> >     
> > 51    5    BindingLibrary
> >
> 
> I wonder if this type involves "handle" member in the Java library. 
> That's what we haven't hit yet, but Handle is (as you would know) a 
> special member from Java.Lang.Object and hence should exist in almost 
> all types. In that case, this name conflict has to be again resolved by 
> metadata xml fixup.
> 
> > Error    35    'object' does not contain a constructor that takes 2 
> > arguments    C:\Projects\MonoAndroidAppDev\New in 
> > 4.2\Projects\ExampleJavaBindings\BindingLibrary\obj\Debug\generated\src\Org.Apache.Commons.Math3.Stat.Descriptive.Moment.SecondMoment.cs
> >     
> > 62    28    BindingLibrary
> >
> 
> Maybe this is due to other compilation error that caused type resolution 
> failure and thus C# compiler tries to lookup the member from 
> System.Object. This would change after you resolved other issues.
> 
> Atsushi Eno
> 
> > I'm wondering what the proper step is to go about fixing them.  Should 
> > I go through the code and manually fix this up?  Is there something in 
> > the various transform files I should do?  As much assistance as I can 
> > get in minute detail would be helpful.
> >
> > Wally
> >
> >
> >
> > _______________________________________________
> > Monodroid mailing list
> > Monodroid@lists.ximian.com
> >
> > UNSUBSCRIBE INFORMATION:
> > http://lists.ximian.com/mailman/listinfo/monodroid
> 
> _______________________________________________
> Monodroid mailing list
> Monodroid@lists.ximian.com
> 
> UNSUBSCRIBE INFORMATION:
> http://lists.ximian.com/mailman/listinfo/monodroid
                                          

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid                              
          
_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to