Hi

For me some help is:
   obj\Debug\api.xml
but in AchartEngine there are no properties, but some internal (that appear in each class)

api.xml has helped me to see how to  build query.

Like Jon said could You show him/us Your project?

I got it!

1. Took your code.
   http://pastebin.com/JuBSjkdz
2. Created in eclipse poject..
    1. only one java Operations.class
    2. Pakaged this into jar with export...
3. fired up VS added JavaBinding project
    1. added jar
    2. checked properties: InputJar
    3. compiled - fine
    4. generated code
       
HolisticWare_JavaBindingProjects\WallyMath\obj\Debug\generated\src\Com.Wally.Math.Operations.cs
    5. several properties
        1. decided to change prop MultipleItems
           Snippet Snippet

                        [Register  ("Multiple_Items")]
                        public  static  int  MultipleItems {
                                get  {
                                        if  (Multiple_Items_jfieldId 
==IntPtr.Zero)
                                                Multiple_Items_jfieldId =JNIEnv.GetStaticFieldID 
(class_ref,"Multiple_Items","I");
                                        return  JNIEnv.GetStaticIntField 
(class_ref, Multiple_Items_jfieldId);
                                }
                                set  {
                                        if  (Multiple_Items_jfieldId 
==IntPtr.Zero)
                                                Multiple_Items_jfieldId =JNIEnv.GetStaticFieldID 
(class_ref,"Multiple_Items","I");
                                        JNIEnv.SetStaticField (class_ref, 
Multiple_Items_jfieldId,value);
                                }
                        }

    6. opened up Transforms/Metadata.xml
        1. tried property
           Snippet

              <attr
                
path="/api/package[@name='com.wally.math']/class[@name='Operations']/property[@name='Multiple_Items']"
                name="managedName"
              >ThresholdClassAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</attr>

           and method
           Snippet

           <attr
                
path="/api/package[@name='com.wally.math']/class[@name='Operations']/method[@name='Multiple_Items']"
                name="managedName"
              >ThresholdClassAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</attr>

        2.

           build is ok, but in Outpu Window You can find:
              C:\Program Files\MSBuild\Novell\generator.exe obj\Debug\api.xml
           --csdir=obj\Debug\generated\src --enumdir=obj\Debug\generated\enums
           --enummetadata=obj\Debug\generated\metadata
           --assembly=WallyMath
           --ref="C:\Program Files\Reference 
Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll"
           --ref="C:\Program Files\Reference 
Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll"
           --ref="C:\Program Files\Reference 
Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll"
           --ref="C:\Program Files\Reference 
Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll"
           --ref="C:\Program Files\Reference 
Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll"
           --fixup=Transforms\Metadata.xml
           --enumfields=Transforms\EnumFields.xml
           --enummethods=Transforms\EnumMethods.xml --api-level=8 --global 
--public  (TaskId:27)
           BINDINGSGENERATOR : warning :
           <attr 
path="/api/package[@name='com.wally.math']/class[@name='Operations']/method[@name='Multiple_Items']"/>
           matched no nodes

        3. then open up api.xml + search for something familiar
           (attribute from cs file or prop name)
           found:
           Snippet

<field deprecated="not deprecated" final="false" name="Multiple_Items" static="true" transient="false" type="int" type-generic-aware="int" visibility="public" volatile="false">
           </field>

        4.

           instinct told me to try with **field** andMultiple_Items

           Snippet<attr
                
path="/api/package[@name='com.wally.math']/class[@name='Operations']/filed[@name='Multiple_Items']"
                name="managedName"
>ThresholdClassAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</attr>
        5.

           generated cs file:
           Snippet              [Register  ("Multiple_Items")]
                        public  static  int  
ThresholdClassAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA {
                                get  {
                                        if  (Multiple_Items_jfieldId 
==IntPtr.Zero)
                                                Multiple_Items_jfieldId =JNIEnv.GetStaticFieldID 
(class_ref,"Multiple_Items","I");
                                        return  JNIEnv.GetStaticIntField 
(class_ref, Multiple_Items_jfieldId);
                                }
                                set  {
                                        if  (Multiple_Items_jfieldId 
==IntPtr.Zero)
                                                Multiple_Items_jfieldId =JNIEnv.GetStaticFieldID 
(class_ref,"Multiple_Items","I");
                                        JNIEnv.SetStaticField (class_ref, 
Multiple_Items_jfieldId,value);
                                }
                        }
           Property changed!
           Register is the same


Writeup:

 * read output window for

   BINDINGSGENERATOR : warning :
   <attr 
path="/api/package[@name='com.wally.math']/class[@name='Operations']/method[@name='Multiple_Items']"/>
   matched no nodes

   for misspelled words (I wrote filed instead of field - after remake
   to make sure - when I wrote this)
 * use api.xml to find attributes of what to change! props, fields, methods


HTH

I'm gonna grab a beer and hit the sack

nite
mel
On 2012.06.26 16:49, Wally McClure wrote:
Mel,

A really dumb question. What am I looking for your charting engine project? I see how you have changed an event name, but making the suggested change to a method doesn't work for me. Any suggestions are appreciated while I labor with my dunce cap on. http://en.wikipedia.org/wiki/Dunce_cap

Wally

------------------------------------------------------------------------
Date: Tue, 26 Jun 2012 06:50:27 +0200
From: mcvje...@holisticware.net
To: monodroid@lists.ximian.com
CC: theevilprogram...@hotmail.com
Subject: Re: [mono-android] transforming a property in a java library project

Hi Wally

On 2012.06.25 22:23, Wally McClure wrote:

    As a followup to this, I am getting a bunch of generator.exe
    errors that look like this:
    ------ Build started: Project: BindingLibrary, Configuration:
    Debug Any CPU ------

    C:\Program Files
    (x86)\MSBuild\Novell\Xamarin.Android.Bindings.targets(197,5):
    error MSB6006: "generator.exe" exited with code -532462766.

    ------ Build started: Project: ExampleJavaBindings, Configuration:
    Debug Any CPU ------

    ========== Build: 0 succeeded or up-to-date, 2 failed, 0 skipped
    ==========

something like:
It seems that xml breaks generator.exe.
I have filed bug report when there is whietspace in element content:
 <attr
path="/api/package[@name='org.achartengine.tools']/class[@name='Pan']/method[@name='addPanListener']" <mailto:/api/package[@name=%27org.achartengine.tools%27]/class[@name=%27Pan%27]/method[@name=%27addPanListener%27]>
    name="propertyName"
  >
  Panned
</attr>


And now about Your errors - inline

    ------------------------------------------------------------------------
    From: theevilprogram...@hotmail.com
    <mailto:theevilprogram...@hotmail.com>
    To: monodroid@lists.ximian.com <mailto:monodroid@lists.ximian.com>
    Subject: transforming a property in a java library project
    Date: Mon, 25 Jun 2012 15:51:18 -0400

    I have created a class called operations in .java file in
    eclipse.  Everything compiles as intended in Eclipse.  I want to
    then import my jar file into a java binding project in MfA 4.2.  I
    have INTENTIONALLY created a property in java that will result in
    a conflict with an initializer in C#.  My question is how do I go
    about fixing this via the transform .xml files?

    In the EnumMethods.xml file, I have tried:
      <mapping jni-class="com/scalabledevelopment/math/Operations">
        <method jni-name="Operations" parameter="Operations"
          clr-enum-type="FixedOperations" />
      </mapping>

    as will as:
      <mapping jni-class="com/scalabledevelopment/math/Operations">
        <method jni-name="Operations"
          clr-enum-type="FixedOperations" />
      </mapping>


It seems it is xml again - from what I can see (blurred) w/o coffee this early in the morning.
You're closing <mapping> twice: with /> and </mapping>...


    Neither of the above options helps me.

    I have tried to go into Metadata.xml and use the following:
    <attr
    
path="/api/package[@name='com.scalabledevelopment.math']/class[@name='Operations']/property[@name='Operations']"
    
<mailto:/api/package[@name=%27com.scalabledevelopment.math%27]/class[@name=%27Operations%27]/property[@name=%27Operations%27]>
    name="managedName" >NumOperations</attr>


And here I think it is not property, but method!
Props are methods....

try:

<attr path="/api/package[@name='com.scalabledevelopment.math']/class[@name='Operations']/method[@name='Operations']" <mailto:/api/package[@name=%27com.scalabledevelopment.math%27]/class[@name=%27Operations%27]/method[@name=%27Operations%27]> name="managedName" >NumOperations</attr>

see my sample above.... (achartengine wrapped)
real world (acharengine + admob)
https://github.com/moljac/HolisticWare_JavaBindingProjects

AdMob is not done (yet)


    Unfortunately, I have no luck there as well.

    My other option is to go into the source file at
    obj/Debug/generated/src/.cs file.  I can fix the error there, but
    won't the file be overwritten the next time I perform a compile?

it will - so no use. Don't do it.


    Ideas, thoughts, and whatever are appreciated.

try commenting/uncommenting metadata.xml in my project. It helped me a lot...

regards

mel


    Wally


    _______________________________________________
    Monodroid mailing list
    Monodroid@lists.ximian.com  <mailto:Monodroid@lists.ximian.com>

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



--
Miljenko Cvjetko dipl.ing. ET
        Direktor/CEO
        Projektant rješenja/Solution Architect  
        Razvojni programer/Senior developer
        Voditelj projekta/Project Manager

IX južna obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e:mcvje...@holisticware.net  <mailto:mcvje...@holisticware.net>
w:http://www.holisticware.net


--
Miljenko Cvjetko dipl.ing. ET
        Direktor/CEO
        Projektant rješenja/Solution Architect  
        Razvojni programer/Senior developer
        Voditelj projekta/Project Manager

IX južna obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvje...@holisticware.net
w: http://www.holisticware.net

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

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

Reply via email to