You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(29) |
Aug
(75) |
Sep
(32) |
Oct
(147) |
Nov
(31) |
Dec
(49) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(46) |
Feb
(35) |
Mar
(148) |
Apr
(33) |
May
(53) |
Jun
(46) |
Jul
(60) |
Aug
(44) |
Sep
(135) |
Oct
(23) |
Nov
(68) |
Dec
(42) |
2011 |
Jan
(94) |
Feb
(55) |
Mar
(114) |
Apr
(78) |
May
(64) |
Jun
(10) |
Jul
(31) |
Aug
(2) |
Sep
(25) |
Oct
(13) |
Nov
(8) |
Dec
(24) |
2012 |
Jan
(5) |
Feb
(33) |
Mar
(31) |
Apr
(19) |
May
(24) |
Jun
(23) |
Jul
(14) |
Aug
(15) |
Sep
(12) |
Oct
(3) |
Nov
(4) |
Dec
(19) |
2013 |
Jan
(8) |
Feb
(20) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(1) |
Nov
(4) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
(6) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
(7) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Panayotis K. <pan...@pa...> - 2010-03-27 11:03:20
|
> But I like your proposal and I would like to make that change. I think > NSProxy might even help us with some other problems in XMLVM (@Wolfgang, > Panayotis: overloading of UIView.drawRect). Nice idea! > > Arno Although the idea is really interesting, I belive we should add this functionality when categories or inheritance is not sufficient enough. For example, UIView.drawRect is only needed for Android. There we can simply create a new object which overwrites the original behavior of drawRect and use this derived object under Android compatibility library (as I said in a previous post) |
From: Panayotis K. <pan...@pa...> - 2010-03-27 11:00:48
|
On 27 Μαρ 2010, at 10:56 π.μ., Arno Puder wrote: > > I like the idea of a general mechanism to add state to categories. This > would be beneficial in different parts of XMLVM as well. I hope we can > consolidate Gergely's and Panayotis' approach. > > @Panayotis: would you mind taking a look at Gergely's approach in the > patch he submitted and report how your approach differs from his? > Of course! > I think we really need to move to smaller patches, otherwise these > double effort situations will occur more often. > To say the truth, I find it difficult to send small patches with the current mechanism. Perhaps I am missing something there. Usually I have my private repository with many many changes, which have accumulated due to the usage of the library. If I use the upload tool, it tries to upload everything (and thus creating a huge patch). If I diff and send the patch, the online system does not accept it. How can I send then a patch with only a subset of my changes in my local copy? What are the expected diff structure. to manually define changes with diff? |
From: Gergely K. <ger...@ma...> - 2010-03-27 10:06:29
|
Hi Paul, 2010/3/27 Paul Poley <bay...@gm...> > Resending to everyone on the distribution list instead of just Gergely: > Could someone change the reply-to in the list config to point to the mailing list? > > I am not sure I fully understand the need to use categories, since the only > code that should ever access the Java API in Objective-C is in fact the same > API. To put it another way, once the Java API is fully implemented in > Obj-C, there would not ever be a case that I would explicitly reference a > Java class in Obj-C. > I am not sure that I understand what you mean. Using categories enables us to extend existing ObjC collection classes with the Java interface. This means, that we don't have to reimplement List and Map functionality, we only have to create a wrapper for the native NS* implementations. Categories are the easiest way to do that in ObjC. > > That said, I am not sure how to have both a category and a subclass. This > brings up two issues (proxy solves these?): > > 1) HashMap should be a subclass of java.lang.Object, but I do not know how > to do this using categories. > Well, in the ObjC compat lib we try to map as many Java types directly to ObjC types, as possible. If you look at the java_lang_Object implementation: it is just a typedef of NSObject, and NSObject is extended with the necessary methods using the cat_java_lang_Object category. Since ObjC is a dynamically typed OO environment, where the fact whether a message (selector) is understood by an object is evaluated at runtime, any NSObject derivative will behave like a java_lang_Object. The only part which needs special treatment is the reflection and instanceof handling, so it will correctly determine the type of such classes. > 2) If I need more specific member variables, I cannot add them. > > > Here's an example that will NOT work: > > > typedef NSMutableDictionary java_util_HashMap; > > > @interface NSMutableDictionary (cat_java_util_HashMap) : java_lang_Object { > > NSObject* someObject; > > } > > > Yes, this is an issue with categories. If you look at the patch I referenced, you will see how we solved this problem with regards to the synchronized implementation, where we need to store a NSCondition for each java_lang_Object. A similar method has been proposed by Panayotis. However, in case of implementing java.util.HashMap, you don't need to use member variables. In fact using a set of Entries in HashMap to store elements is an implementation detail. You can either: 1. generate Entries for entrySet() on demand. 2. store the Entries in the underlying NSDictionary. Probably solution 2 is the best, and makes it easy to support the semantics of entrySet. > > As XMLVM is a work in progress, I have found that not all of the > implemented API in Obj-C follows the Java contracts exactly, so I don't mind > ignoring this minor blip in HashMap. As a side note, the primary issue I'm > referring to is classes with synchronization lacking said implementation. I > am trying to follow the Java API as much as possible. > Yes. Currently we implement the Java API on a "on demand" basis. Unfortunately we also don't have a test suite yet, so there are probably many nuances that don't follow the standard Java API behavior. I was thinking about making sure that we can use JUnit, and then start using it for creating tests. Internally we created some basic tests for our implementations, but it does not use a framework currently. I saw your patch in the review queue, but I had the outlined approach implemented previously, as you can see from the patch. I wanted to bring this issue up on the mailing list earlier, so it is purely a coincidence with your patch. :) Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 Fax: +36 27 998 622 |
From: Arno P. <ar...@pu...> - 2010-03-27 09:17:31
|
that sounds like a fascinating solution to an old problem! (although I have to admit I had to read your post twice to understand it :) ) Gergely: would you mind for the benefit of the people on the mailing list to post some code sniplet that shows the general approach? Kind of a distilled template to show how you do it? Probably easier than to go into your patch. But I like your proposal and I would like to make that change. I think NSProxy might even help us with some other problems in XMLVM (@Wolfgang, Panayotis: overloading of UIView.drawRect). Nice idea! Arno On 3/26/10 10:58 AM, Gergely Kis wrote: > Hi, > > There are already multiple patches in the review queue for the > Collections Framework. Following my previous suggestion, I am now trying > to open a discussion regarding the design of the collections framework. > In our patch (http://xmlvm-reviews.appspot.com/18002) you can already > see a partial implementation of this suggestion. > > Requirements: > 1. Need to support seamless integration between regular ObjC types > (NSArray ... etc.) and Java classes -> use categories > 2. Need to support subclassing for non-final classes. This is a problem > with using class clusters as the basis. > > The proposal: > 1. Create the interfaces as protocols (java_util_List, java_util_Map ... > etc.) > 2. Implement the interfaces as categories of the non-mutable ObjC > collection classes. (NSArray, NSSet, NSDictionary) > - The mutator methods are implemented to throw > UnsupportedOperationException. In essence you receive the same behavior > as if you used Collections.unmodifiable*() methods > 3. Only implement the mutator methods in the NSMutable* collection classes. > > At this point any ObjC collection can be used as a regular Java collection. > Now we need to implement the actual concrete classes. > > However class clusters cannot be subclassed easily. > The solution is to implement the concrete classes using NSProxy. (See > how java_util_Vector is implemented in our patch). > However, this implementation adds an unnecessary indirection and > performance overhead. So the idea is to detect in the proxy class init > function whether a subclass is instantiated. > If it is not a subclass, then simply return the appropriate NSMutable* > instance. Otherwise return the proxy. > > What do you think? If you agree with this approach we can clean up our > implementation, and submit it separately. > > Best Regards, > Gergely > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... <mailto:ger...@ma...> > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > Fax: +36 27 998 622 > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > > > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Arno P. <ar...@pu...> - 2010-03-27 09:01:34
|
Consider class UIView in Cocoa. It has a property 'subviews' that allows you access to all children of a given UIView. This list of children is returned as NSArray*. By using categories, we can make java_util_List a category of NSArray. The huge advantage is that you can simply pass NSArray* through to the Java side where it can be transparently accessed as java.util.List. If it were anything else, you would have to first convert the data structure. Arno On 3/26/10 7:40 PM, Paul Poley wrote: > Resending to everyone on the distribution list instead of just Gergely: > > > I am not sure I fully understand the need to use categories, since the > only code that should ever access the Java API in Objective-C is in fact > the same API. To put it another way, once the Java API is fully > implemented in Obj-C, there would not ever be a case that I would > explicitly reference a Java class in Obj-C. > > > However, I am happy to conform to this, as there seems to be a consensus > that this is the way to go. > > > I will be looking further into the details tomorrow, such as how you > mentioned proxies, so please excuse any oversight for the time being. I > would just like to keep up the conversation. > > > That said, I am not sure how to have both a category and a subclass. > This brings up two issues (proxy solves these?): > > 1) HashMap should be a subclass of java.lang.Object, but I do not know > how to do this using categories. > > 2) If I need more specific member variables, I cannot add them. > > > Here's an example that will NOT work: > > > typedef NSMutableDictionary java_util_HashMap; > > > @interface NSMutableDictionary (cat_java_util_HashMap) : java_lang_Object { > > NSObject* someObject; > > } > > > > Above, both extending java_lang_Object and attempting to add a member > variable will cause a compile error. > > > To further expand upon my concerns, in my proposed HashMap > implementation (in patch 32001), I used member variables, but this isn't > possible with categories to my understanding. Technically the HashMap > should be backed by an entrySet member variable (it isn't because it's > backed by an NSMutableDictionary). > > > As XMLVM is a work in progress, I have found that not all of the > implemented API in Obj-C follows the Java contracts exactly, so I don't > mind ignoring this minor blip in HashMap. As a side note, the primary > issue I'm referring to is classes with synchronization lacking said > implementation. I am trying to follow the Java API as much as possible. > > > Gergely, > > I assume my patch (32001) is what inspired your e-mail. Although we're > working in the same area, I don't think we're conflicting in a horrible > way (correct me if you think I am wrong). E.g. see HashSet in both of > our patches. > > > Could you elaborate on your comment "Need to support subclassing for > non-final classes"? It sounds like you're expressing the same issue I am. > > > I plan on taking a better look at this tomorrow to make sure we're on > the same page. > > > Per Wolfgang's comments, I will be refactoring HashMap & HashSet to use > categories. Please feel free to comment on my updated patch when I > complete it. > > > On Fri, Mar 26, 2010 at 12:58 PM, Gergely Kis <ger...@ma... > <mailto:ger...@ma...>> wrote: > > Hi, > > There are already multiple patches in the review queue for the > Collections Framework. Following my previous suggestion, I am now > trying to open a discussion regarding the design of the collections > framework. In our patch (http://xmlvm-reviews.appspot.com/18002) you > can already see a partial implementation of this suggestion. > > Requirements: > 1. Need to support seamless integration between regular ObjC types > (NSArray ... etc.) and Java classes -> use categories > 2. Need to support subclassing for non-final classes. This is a > problem with using class clusters as the basis. > > The proposal: > 1. Create the interfaces as protocols (java_util_List, java_util_Map > ... etc.) > 2. Implement the interfaces as categories of the non-mutable ObjC > collection classes. (NSArray, NSSet, NSDictionary) > - The mutator methods are implemented to throw > UnsupportedOperationException. In essence you receive the same > behavior as if you used Collections.unmodifiable*() methods > 3. Only implement the mutator methods in the NSMutable* collection > classes. > > At this point any ObjC collection can be used as a regular Java > collection. > Now we need to implement the actual concrete classes. > > However class clusters cannot be subclassed easily. > The solution is to implement the concrete classes using NSProxy. > (See how java_util_Vector is implemented in our patch). > However, this implementation adds an unnecessary indirection and > performance overhead. So the idea is to detect in the proxy class > init function whether a subclass is instantiated. > If it is not a subclass, then simply return the appropriate > NSMutable* instance. Otherwise return the proxy. > > What do you think? If you agree with this approach we can clean up > our implementation, and submit it separately. > > Best Regards, > Gergely > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... <mailto:ger...@ma...> > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > Fax: +36 27 998 622 > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > <mailto:xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > > > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Arno P. <ar...@pu...> - 2010-03-27 08:56:21
|
I like the idea of a general mechanism to add state to categories. This would be beneficial in different parts of XMLVM as well. I hope we can consolidate Gergely's and Panayotis' approach. @Panayotis: would you mind taking a look at Gergely's approach in the patch he submitted and report how your approach differs from his? I think we really need to move to smaller patches, otherwise these double effort situations will occur more often. Arno On 3/26/10 11:07 AM, Gergely Kis wrote: > Hi, > > Actually we did something very similar with the "synchronized" > implementation. > We needed to store locks for each method somewhere, and created > something called "XMLVMRegistry" which stores the locks for each object > that uses them. > > You can take a look at our approach in our patch, xmlvm.m and xmlvm.h. > It was not a generalized object store, but it can certainly be extended > in that direction. > > > Best Regards, > Gergely > > 2010/3/25 Panayotis Katsaloulis <pan...@pa... > <mailto:pan...@pa...>> > > > On 25 Μαρ 2010, at 3:44 μ.μ., Arno Puder wrote: > > > > > gimme, gimme! :-) > > > > These are two different things: support for weak references and > allowing > > additional state information for categories. Both would be > extremely useful! > > > > Arno > > > > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... <mailto:ger...@ma...> > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > Fax: +36 27 998 622 > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > > > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Arno P. <ar...@pu...> - 2010-03-27 08:50:47
|
On 3/26/10 1:55 PM, Gergely Kis wrote: > So essentially if one replaces everything in compat-lib with a new > implementation, then it is fine. Yes, but I hope you are not insinuating anything with that observation. :-) > It is my interpretation of the GPL that these two cases would both be > considered derived work. How you break up your contribution is up to > > > I am confused. I develop code that is not based on XMLVM in any way, > like the NSRecursiveCondition in the patch I submitted. Why would you > consider it derived work? So I can't reuse it in a different project > without making it GPL? > > Or am I misunderstanding something? Is NSRecursiveCondition part of your application or an enhancement to XMLVM? I guess it is the latter. In this case you contribute it to XMLVM and it will fall under the GPL (because we, the core team, will add it to XMLVM since you gave us the permission to do so by signing the CLA). If it is part of your application and your application is linked against XMLVM, then it also must be placed under the GPL (unless we have granted you a linking exception). In both cases you retain copyright of your work and of course you are free to use your work in other projects. If you don't submit NSRecursiveCondition to us and you view it as part of your application, it is also covered by the linking exception (which means you can keep it closed source). Arno |
From: Paul P. <bay...@gm...> - 2010-03-27 02:40:16
|
Resending to everyone on the distribution list instead of just Gergely: I am not sure I fully understand the need to use categories, since the only code that should ever access the Java API in Objective-C is in fact the same API. To put it another way, once the Java API is fully implemented in Obj-C, there would not ever be a case that I would explicitly reference a Java class in Obj-C. However, I am happy to conform to this, as there seems to be a consensus that this is the way to go. I will be looking further into the details tomorrow, such as how you mentioned proxies, so please excuse any oversight for the time being. I would just like to keep up the conversation. That said, I am not sure how to have both a category and a subclass. This brings up two issues (proxy solves these?): 1) HashMap should be a subclass of java.lang.Object, but I do not know how to do this using categories. 2) If I need more specific member variables, I cannot add them. Here's an example that will NOT work: typedef NSMutableDictionary java_util_HashMap; @interface NSMutableDictionary (cat_java_util_HashMap) : java_lang_Object { NSObject* someObject; } Above, both extending java_lang_Object and attempting to add a member variable will cause a compile error. To further expand upon my concerns, in my proposed HashMap implementation (in patch 32001), I used member variables, but this isn't possible with categories to my understanding. Technically the HashMap should be backed by an entrySet member variable (it isn't because it's backed by an NSMutableDictionary). As XMLVM is a work in progress, I have found that not all of the implemented API in Obj-C follows the Java contracts exactly, so I don't mind ignoring this minor blip in HashMap. As a side note, the primary issue I'm referring to is classes with synchronization lacking said implementation. I am trying to follow the Java API as much as possible. Gergely, I assume my patch (32001) is what inspired your e-mail. Although we're working in the same area, I don't think we're conflicting in a horrible way (correct me if you think I am wrong). E.g. see HashSet in both of our patches. Could you elaborate on your comment "Need to support subclassing for non-final classes"? It sounds like you're expressing the same issue I am. I plan on taking a better look at this tomorrow to make sure we're on the same page. Per Wolfgang's comments, I will be refactoring HashMap & HashSet to use categories. Please feel free to comment on my updated patch when I complete it. On Fri, Mar 26, 2010 at 12:58 PM, Gergely Kis <ger...@ma...>wrote: > Hi, > > There are already multiple patches in the review queue for the Collections > Framework. Following my previous suggestion, I am now trying to open a > discussion regarding the design of the collections framework. In our patch ( > http://xmlvm-reviews.appspot.com/18002) you can already see a partial > implementation of this suggestion. > > Requirements: > 1. Need to support seamless integration between regular ObjC types (NSArray > ... etc.) and Java classes -> use categories > 2. Need to support subclassing for non-final classes. This is a problem > with using class clusters as the basis. > > The proposal: > 1. Create the interfaces as protocols (java_util_List, java_util_Map ... > etc.) > 2. Implement the interfaces as categories of the non-mutable ObjC > collection classes. (NSArray, NSSet, NSDictionary) > - The mutator methods are implemented to throw > UnsupportedOperationException. In essence you receive the same behavior as > if you used Collections.unmodifiable*() methods > 3. Only implement the mutator methods in the NSMutable* collection classes. > > At this point any ObjC collection can be used as a regular Java collection. > Now we need to implement the actual concrete classes. > > However class clusters cannot be subclassed easily. > The solution is to implement the concrete classes using NSProxy. (See how > java_util_Vector is implemented in our patch). > However, this implementation adds an unnecessary indirection and > performance overhead. So the idea is to detect in the proxy class init > function whether a subclass is instantiated. > If it is not a subclass, then simply return the appropriate NSMutable* > instance. Otherwise return the proxy. > > What do you think? If you agree with this approach we can clean up our > implementation, and submit it separately. > > Best Regards, > Gergely > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > Fax: +36 27 998 622 > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > |
From: Sascha H. <sa...@xm...> - 2010-03-26 21:03:58
|
On Fri, Mar 26, 2010 at 9:55 PM, Gergely Kis <ger...@ma...>wrote: > Hi, > > 2010/3/25 Arno Puder <ar...@pu...> > > >> > Just to clarify: This means that if no part of the compatibility library >> > (and of course the Android library) of XMLVM is used in a project, then >> > the resulting software is not subject to the GPL, and it can be >> > redistributed under any license without a linking exception. >> > >> > Is this the correct interpretation? >> >> Yes. If you only used XMLVM's compiler, the generated code would not be >> covered by the GPL. Note however, that the generated code without the >> library (e.g., xmlvm.m) will not do much. Once you link xmlvm.m, the GPL >> does apply to your application. >> > > So essentially if one replaces everything in compat-lib with a new > implementation, then it is fine. > > >> > Any contribution that we (or anybody else) make will have 2 parts: >> > - original work: something that was created independently of the >> > existing parts of XMLVM, e.g. a new class or method in a class. >> > - derived work: something that was created based on existing code in >> > XMLVM, e.g. when a method is changed to fix a bug, or the xsl is >> > changed...etc. >> >> It is my interpretation of the GPL that these two cases would both be >> considered derived work. How you break up your contribution is up to >> > > I am confused. I develop code that is not based on XMLVM in any way, like > the NSRecursiveCondition in the patch I submitted. Why would you consider it > derived work? So I can't reuse it in a different project without making it > GPL? > It is my understanding as well, that you can take the code that you contributed, and use it somewhere else. But you cannot use modifications, that have been made to your class by somebody else, and use them. > > Or am I misunderstanding something? > > > Best Regards, > Gergely > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > Fax: +36 27 998 622 > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > |
From: Gergely K. <ger...@ma...> - 2010-03-26 20:56:25
|
Hi, 2010/3/25 Arno Puder <ar...@pu...> > > > Just to clarify: This means that if no part of the compatibility library > > (and of course the Android library) of XMLVM is used in a project, then > > the resulting software is not subject to the GPL, and it can be > > redistributed under any license without a linking exception. > > > > Is this the correct interpretation? > > Yes. If you only used XMLVM's compiler, the generated code would not be > covered by the GPL. Note however, that the generated code without the > library (e.g., xmlvm.m) will not do much. Once you link xmlvm.m, the GPL > does apply to your application. > So essentially if one replaces everything in compat-lib with a new implementation, then it is fine. > > Any contribution that we (or anybody else) make will have 2 parts: > > - original work: something that was created independently of the > > existing parts of XMLVM, e.g. a new class or method in a class. > > - derived work: something that was created based on existing code in > > XMLVM, e.g. when a method is changed to fix a bug, or the xsl is > > changed...etc. > > It is my interpretation of the GPL that these two cases would both be > considered derived work. How you break up your contribution is up to > I am confused. I develop code that is not based on XMLVM in any way, like the NSRecursiveCondition in the patch I submitted. Why would you consider it derived work? So I can't reuse it in a different project without making it GPL? Or am I misunderstanding something? Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 Fax: +36 27 998 622 |
From: Gergely K. <ger...@ma...> - 2010-03-26 18:14:49
|
Hi, Actually we did something very similar with the "synchronized" implementation. We needed to store locks for each method somewhere, and created something called "XMLVMRegistry" which stores the locks for each object that uses them. You can take a look at our approach in our patch, xmlvm.m and xmlvm.h. It was not a generalized object store, but it can certainly be extended in that direction. Best Regards, Gergely 2010/3/25 Panayotis Katsaloulis <pan...@pa...> > > On 25 Μαρ 2010, at 3:44 μ.μ., Arno Puder wrote: > > > > > gimme, gimme! :-) > > > > These are two different things: support for weak references and allowing > > additional state information for categories. Both would be extremely > useful! > > > > Arno > > > -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 Fax: +36 27 998 622 |
From: Gergely K. <ger...@ma...> - 2010-03-26 17:59:27
|
Hi, There are already multiple patches in the review queue for the Collections Framework. Following my previous suggestion, I am now trying to open a discussion regarding the design of the collections framework. In our patch ( http://xmlvm-reviews.appspot.com/18002) you can already see a partial implementation of this suggestion. Requirements: 1. Need to support seamless integration between regular ObjC types (NSArray ... etc.) and Java classes -> use categories 2. Need to support subclassing for non-final classes. This is a problem with using class clusters as the basis. The proposal: 1. Create the interfaces as protocols (java_util_List, java_util_Map ... etc.) 2. Implement the interfaces as categories of the non-mutable ObjC collection classes. (NSArray, NSSet, NSDictionary) - The mutator methods are implemented to throw UnsupportedOperationException. In essence you receive the same behavior as if you used Collections.unmodifiable*() methods 3. Only implement the mutator methods in the NSMutable* collection classes. At this point any ObjC collection can be used as a regular Java collection. Now we need to implement the actual concrete classes. However class clusters cannot be subclassed easily. The solution is to implement the concrete classes using NSProxy. (See how java_util_Vector is implemented in our patch). However, this implementation adds an unnecessary indirection and performance overhead. So the idea is to detect in the proxy class init function whether a subclass is instantiated. If it is not a subclass, then simply return the appropriate NSMutable* instance. Otherwise return the proxy. What do you think? If you agree with this approach we can clean up our implementation, and submit it separately. Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 Fax: +36 27 998 622 |
From: Gergely K. <ger...@ma...> - 2010-03-26 15:50:27
|
Hi Olaf, If you look at our patch in XMLVM review, you will see a basic implementation of Calendar in our huge preview patch. http://xmlvm-reviews.appspot.com/18002/show Please check, if it works for you. Best Regards, Gergely 2010/3/26 Olaf Gottschalk <Zor...@gm...> > Hi XMLVM community!! > > Now that I finally got everything running (thanks to Arno and Wolfgang!) I > wanted to work on my own Android programs. > > But within my first *real* application I wanted to port, I encounter a > somewhat large number of errors indicating missing header files: > > java_util_Calendar.h > Android_os_SystemClock.h > Android_widget_AdapterView_OnItemSelectedListener.h > Android_widget_SpinnerAdapter.h > Android_widget_Spinner.h > Android_content_pm_PackageManager.h > > Is that really related to missing compatibility framework components? > Things that have not yet been wrapped? Is there a list of what's already > mapped and what is still to do? > > Thanks! > Olaf > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 Fax: +36 27 998 622 |
From: Stand T. <sta...@gm...> - 2010-03-26 15:26:20
|
to be sure you compiled against --target=android-on-iphone thx timo On Fri, Mar 26, 2010 at 10:10 AM, Olaf Gottschalk <Zor...@gm...> wrote: > Hi XMLVM community!! > > Now that I finally got everything running (thanks to Arno and Wolfgang!) I > wanted to work on my own Android programs. > > But within my first *real* application I wanted to port, I encounter a > somewhat large number of errors indicating missing header files: > > java_util_Calendar.h > Android_os_SystemClock.h > Android_widget_AdapterView_OnItemSelectedListener.h > Android_widget_SpinnerAdapter.h > Android_widget_Spinner.h > Android_content_pm_PackageManager.h > > Is that really related to missing compatibility framework components? > Things that have not yet been wrapped? Is there a list of what's already > mapped and what is still to do? > > Thanks! > Olaf > |
From: Olaf G. <Zor...@gm...> - 2010-03-26 15:10:41
|
Hi XMLVM community!! Now that I finally got everything running (thanks to Arno and Wolfgang!) I wanted to work on my own Android programs. But within my first *real* application I wanted to port, I encounter a somewhat large number of errors indicating missing header files: java_util_Calendar.h Android_os_SystemClock.h Android_widget_AdapterView_OnItemSelectedListener.h Android_widget_SpinnerAdapter.h Android_widget_Spinner.h Android_content_pm_PackageManager.h Is that really related to missing compatibility framework components? Things that have not yet been wrapped? Is there a list of what's already mapped and what is still to do? Thanks! Olaf |
From: Olaf G. <Zor...@gm...> - 2010-03-26 14:37:39
|
Thanks Arno, thanks Wolfgang! Your last two posts gave me the missing link - but still, I am a little bit confused. In my first post, I already had those questions: how do the ressources get into the Xcode project and why does the cross compilation not make use of class/dex files!! The answer: the in-parameter should point to the classes, not the sources? And: there is a resource parameter (which is not described in the documentation... :-( ) I am now trying to understand the build.xml, but it's rather painful. Could someone give me a short example how you cross compile... I have never (manually) used javac - I always do everything in Eclipse... So, having ANY Android program in Eclipse. 1) run it in the Android emulator - this will compile it to .class files (and also to an .apk - but is that also used by xmlvm??) 2) the correct command line arguemts for xmlvm: -in=pointing to which directory?? the project? the apk? -target=android-on-iphone -out=(i never used it, always cross compiled to the current dir) -resource=the res directory of the Android project? plus the Manifest? what else? 3) opening the Xcodeproject file in Xcode, press Build & Run That's it? Am I right?? Thanks a lot!! Olaf |
From: Wolfgang K. <wol...@xm...> - 2010-03-26 14:22:57
|
Looking at the command you use to cross-compile SayHello, I see that the resources are missing. The same is true for iFireworks. Have a look at the xmlvm commands which are used in build.xml. This will probably give you the hint you need to understand what is going wrong. -- Wolfgang Olaf Gottschalk wrote: > yes! > That works! > > But tell me, where's the difference? I thought that the ant command prepares xmlvm itself - not the demos. Thus, after building xmlvm, I created a new, empty directory and ran: > > xmlvm --in=<path-to-xmlvm>/demo/iphone/ifireworks --target=iphone --app-name=ifireworks. > make > > => which leads directly to the linker error described. > > Even SayHello works fine using the dist/demo/android/sayhello pre-build Xcode project!! > > But what on earth is different when I try to cross-compile it myself??? > Again, all I do in an empty directory is > > xmlvm --in=<path-to-xmlvm>/demo/android/sayhello --target=android-on-iphone --app-name=sayhello > make > > Can you try it that way, too? Or did you do it like that? > > My problem is: I want to port my own program, not SayHello... :-) Thus, I need to get it running "myself", not through the dist. :-( > > Thanks again!!! > Olaf > > > -------- Original-Nachricht -------- > >> Datum: Fri, 26 Mar 2010 07:08:24 -0700 >> Von: Arno Puder <ar...@pu...> >> An: Olaf Gottschalk <Zor...@gm...> >> CC: xml...@li... >> Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone >> > > >> after running 'ant', try: >> >> open dist/demo/iphone/ifireworks/iphone/iFireworks.xcodeproj/ >> >> this works flawlessly for me. If this does not work for you, I'm running >> out of ideas what might be the problem with your configuration. >> >> Arno >> > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Arno P. <ar...@pu...> - 2010-03-26 14:22:31
|
ok, I think I know what you do wrong. You first have to compile the Java sources with javac, *then* run xmlvm over the generated class files. Your --in argument points to the *source* directory, not the directory where the .class files should reside. Since there are no .class files in the --in directory you specified, you get the errors you observed. Arno On 3/26/10 7:19 AM, Olaf Gottschalk wrote: > yes! > That works! > > But tell me, where's the difference? I thought that the ant command prepares xmlvm itself - not the demos. Thus, after building xmlvm, I created a new, empty directory and ran: > > xmlvm --in=<path-to-xmlvm>/demo/iphone/ifireworks --target=iphone --app-name=ifireworks. > make > > => which leads directly to the linker error described. > > Even SayHello works fine using the dist/demo/android/sayhello pre-build Xcode project!! > > But what on earth is different when I try to cross-compile it myself??? > Again, all I do in an empty directory is > > xmlvm --in=<path-to-xmlvm>/demo/android/sayhello --target=android-on-iphone --app-name=sayhello > make > > Can you try it that way, too? Or did you do it like that? > > My problem is: I want to port my own program, not SayHello... :-) Thus, I need to get it running "myself", not through the dist. :-( > > Thanks again!!! > Olaf > > > -------- Original-Nachricht -------- >> Datum: Fri, 26 Mar 2010 07:08:24 -0700 >> Von: Arno Puder<ar...@pu...> >> An: Olaf Gottschalk<Zor...@gm...> >> CC: xml...@li... >> Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone > >> >> after running 'ant', try: >> >> open dist/demo/iphone/ifireworks/iphone/iFireworks.xcodeproj/ >> >> this works flawlessly for me. If this does not work for you, I'm running >> out of ideas what might be the problem with your configuration. >> >> Arno > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Olaf G. <Zor...@gm...> - 2010-03-26 14:19:15
|
yes! That works! But tell me, where's the difference? I thought that the ant command prepares xmlvm itself - not the demos. Thus, after building xmlvm, I created a new, empty directory and ran: xmlvm --in=<path-to-xmlvm>/demo/iphone/ifireworks --target=iphone --app-name=ifireworks. make => which leads directly to the linker error described. Even SayHello works fine using the dist/demo/android/sayhello pre-build Xcode project!! But what on earth is different when I try to cross-compile it myself??? Again, all I do in an empty directory is xmlvm --in=<path-to-xmlvm>/demo/android/sayhello --target=android-on-iphone --app-name=sayhello make Can you try it that way, too? Or did you do it like that? My problem is: I want to port my own program, not SayHello... :-) Thus, I need to get it running "myself", not through the dist. :-( Thanks again!!! Olaf -------- Original-Nachricht -------- > Datum: Fri, 26 Mar 2010 07:08:24 -0700 > Von: Arno Puder <ar...@pu...> > An: Olaf Gottschalk <Zor...@gm...> > CC: xml...@li... > Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone > > after running 'ant', try: > > open dist/demo/iphone/ifireworks/iphone/iFireworks.xcodeproj/ > > this works flawlessly for me. If this does not work for you, I'm running > out of ideas what might be the problem with your configuration. > > Arno |
From: Arno P. <ar...@pu...> - 2010-03-26 14:08:35
|
after running 'ant', try: open dist/demo/iphone/ifireworks/iphone/iFireworks.xcodeproj/ this works flawlessly for me. If this does not work for you, I'm running out of ideas what might be the problem with your configuration. Arno On 3/26/10 7:03 AM, Olaf Gottschalk wrote: > No, iFireworks does not work. I get a linker error... > But I am not sure. For ifireworks I used xmlvm --in=.... --target=iphone -app-name=ifireworks and in running the resulting makefile or using Xcode gives the mentioned linker error. > :-( > Olaf > > > > Here it is: > > Ld build/Debug-iphonesimulator/ifireworks.app/ifireworks normal i386 > cd /Users/q163557/ifireworks > setenv MACOSX_DEPLOYMENT_TARGET 10.5 > setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" > /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk -L/Users/q163557/ifireworks/build/Debug-iphonesimulator -F/Users/q163557/ifireworks/build/Debug-iphonesimulator -filelist /Users/q163557/ifireworks/build/ifireworks.build/Debug-iphonesimulator/ifireworks.build/Objects-normal/i386/ifireworks.LinkFileList -mmacosx-version-min=10.5 -framework OpenGLES -framework Foundation -framework AVFoundation -framework UIKit -framework QuartzCore -framework CoreGraphics -o /Users/q163557/ifireworks/build/Debug-iphonesimulator/ifireworks.app/ifireworks > > Undefined symbols: > "_main", referenced from: > start in crt1.10.5.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > |
From: Olaf G. <Zor...@gm...> - 2010-03-26 14:04:01
|
No, iFireworks does not work. I get a linker error... But I am not sure. For ifireworks I used xmlvm --in=.... --target=iphone -app-name=ifireworks and in running the resulting makefile or using Xcode gives the mentioned linker error. :-( Olaf Here it is: Ld build/Debug-iphonesimulator/ifireworks.app/ifireworks normal i386 cd /Users/q163557/ifireworks setenv MACOSX_DEPLOYMENT_TARGET 10.5 setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk -L/Users/q163557/ifireworks/build/Debug-iphonesimulator -F/Users/q163557/ifireworks/build/Debug-iphonesimulator -filelist /Users/q163557/ifireworks/build/ifireworks.build/Debug-iphonesimulator/ifireworks.build/Objects-normal/i386/ifireworks.LinkFileList -mmacosx-version-min=10.5 -framework OpenGLES -framework Foundation -framework AVFoundation -framework UIKit -framework QuartzCore -framework CoreGraphics -o /Users/q163557/ifireworks/build/Debug-iphonesimulator/ifireworks.app/ifireworks Undefined symbols: "_main", referenced from: start in crt1.10.5.o ld: symbol(s) not found collect2: ld returned 1 exit status |
From: Arno P. <ar...@pu...> - 2010-03-26 13:39:15
|
very difficult to figure out what is different on your machine. Can you try one of the iPhone demos (e.g., iFireworks)? Arno On 3/26/10 6:22 AM, Olaf Gottschalk wrote: > I checked out the trunk just yesterday. Do I have to do anything special then? The only file that changed since then is ReferenceCounting.java... > > Olaf > > > -------- Original-Nachricht -------- >> Datum: Fri, 26 Mar 2010 14:16:37 +0100 >> Von: Wolfgang Korn<wol...@xm...> >> An: Olaf Gottschalk<Zor...@gm...> >> CC: Arno Puder<ar...@pu...>, xml...@li... >> Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone > >> I just tried SayHello and it worked fine. Are sure to have the most >> recent version of XMLVM? I remember having that kind of problem after >> applying patch 19001. I had to update the Android compat lib to make use >> of the now supported folder structures for resources. >> >> -- Wolfgang |
From: Olaf G. <Zor...@gm...> - 2010-03-26 13:22:46
|
I checked out the trunk just yesterday. Do I have to do anything special then? The only file that changed since then is ReferenceCounting.java... Olaf -------- Original-Nachricht -------- > Datum: Fri, 26 Mar 2010 14:16:37 +0100 > Von: Wolfgang Korn <wol...@xm...> > An: Olaf Gottschalk <Zor...@gm...> > CC: Arno Puder <ar...@pu...>, xml...@li... > Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone > I just tried SayHello and it worked fine. Are sure to have the most > recent version of XMLVM? I remember having that kind of problem after > applying patch 19001. I had to update the Android compat lib to make use > of the now supported folder structures for resources. > > -- Wolfgang |
From: Wolfgang K. <wol...@xm...> - 2010-03-26 13:16:50
|
I just tried SayHello and it worked fine. Are sure to have the most recent version of XMLVM? I remember having that kind of problem after applying patch 19001. I had to update the Android compat lib to make use of the now supported folder structures for resources. -- Wolfgang Olaf Gottschalk wrote: > Versions in use here: > > Mac OS 10.6.2 > Xcode 3.2.1 > Java 1.6.0_15 > > Olaf > > -------- Original-Nachricht -------- > >> Datum: Fri, 26 Mar 2010 06:05:17 -0700 >> Von: Arno Puder <ar...@pu...> >> An: xml...@li... >> Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone >> > > >> I just tried SayHello and it works fine on my system. Which version of >> Xcode are you using? >> >> Arno >> > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Olaf G. <Zor...@gm...> - 2010-03-26 13:08:39
|
Versions in use here: Mac OS 10.6.2 Xcode 3.2.1 Java 1.6.0_15 Olaf -------- Original-Nachricht -------- > Datum: Fri, 26 Mar 2010 06:05:17 -0700 > Von: Arno Puder <ar...@pu...> > An: xml...@li... > Betreff: Re: [xmlvm-users] Help needed: problems getting started with android-on-iphone > > I just tried SayHello and it works fine on my system. Which version of > Xcode are you using? > > Arno |