Hi, Jeff! Java parser is a new project based on javacc. And the design of Java parser is similar to Eclipse, it also supports Annotation, that's why I choose it as java code parser. I also do some testing according to different case before really determine to use it. I satisfy with it because there is no bug found in the result of testing. And then I rebuilded it with adding some functions and AST nodes.
I can't assure the stability of Java paser, you can refer to implemetation of it, I suggest doing completed testing before you determine to use it. By the way I will send source code to you by mail if you wold like see my rebuilded version of Java parser. 2009/6/23 Jeff Butler <jeffgbut...@gmail.com> > I took a quick look and see that you are using this Java parser: > http://code.google.com/p/javaparser/ > > This project seems fairly new. I wonder how stable the project is? > > <http://code.google.com/p/javaparser/>Jeff Butler > > 2009/6/23 Jeff Butler <jeffgbut...@gmail.com> > > This looks very cool! >> Are you saying that WebExplore does support Java merging? If so then I'd >> be interested in seeing the code. >> >> Also, I would like to know about any bugs you've fixed in Ibator so we can >> include them in the base distribution. And if there's anything else you >> would like to see changed in Ibator to make tools like yours easier to >> write. >> >> Jeff Butler >> >> >> On Mon, Jun 22, 2009 at 10:33 PM, 刘孝林 <mailfor...@gmail.com> wrote: >> >>> Hi, jeff, I would like contribute some code to Ibator project. I >>> developed a tool which provide friendly GUI to make a configuration for >>> Ibator conveniently. It is named with "WebExplore" and exists as a plugin of >>> CoolSQL(http://coolsql.sourceforge.net/). As you said in mail, "java >>> file merging" is not supported outside of Eclipse, but supported by >>> WebExplore. In addition, Ibator is rebuilded with some bug fix and extended >>> functions including merging java file, plugin classloading, exporting Ibator >>> configuration to XML file with escaping XML keyword. The detailed >>> information about WebExplore: >>> http://coolsql.sourceforge.net/webexplore.html. >>> >>> >>> >>> 2009/6/22 Jeff Butler <jeffgbut...@gmail.com> >>> >>> Several topics: >>>> 1. Java file merging >>>> >>>> The code for merging Java files is only in the Eclipse plugin. It uses >>>> the Eclipse AST parser and AST rewriter and cannot run outside of Eclipse. >>>> If you want to merge Java code, you must run in Eclipse. >>>> >>>> In the far future, I hope to enable Java merging outside of Eclipse. >>>> The problem is that it's just so easy in Eclipse, and so difficult >>>> elsewhere! I think the long term solution is to write a specialized Java >>>> parser for Ibator using ANTLR or the like. Parsing Java source code is a >>>> non-trivial task and I have no interest in reinventing the wheel - so >>>> probably something like ANTLR is the right answer ultimately. If anyone is >>>> interested in making an important contribution to Ibator this would be a >>>> good area to look into :) >>>> >>>> 2. Plugin Classloading >>>> >>>> You must add your plugin classes to Ibator's runtime classpath. This >>>> cannot be done with <classPathEntry> elements in the configuration. >>>> Outside >>>> eclipse, you can do this by using the -cp argument, or by adding to the Ant >>>> classpath in the normal ways. Inside Eclipse, you must use the eclipse >>>> integrated Ant task and add to the classpath with the Eclipse launch >>>> configuration. The Ibator menu option in Eclipse does not allow >>>> modifications to the runtime classpath. >>>> >>>> From these two answers, you should deduce that the only way to use a >>>> plugin AND use Java merging is to use the Eclipse plugin provided Ant task >>>> (NOT the Ant task in the base Ibator distribution). If you want to >>>> automate >>>> this, you will have to run Ant inside Eclipse with headless Eclipse. >>>> >>>> 3. Maven >>>> >>>> I'm looking at maven for the Ibator build. If it works out, then I'll >>>> also provide a maven plugin to run Ibator. But, this plugin will not merge >>>> Java files (see #1 above). >>>> >>>> 4. The future >>>> >>>> My current focus is updates to Ibator for iBATIS3. I have some code >>>> *sort of* working now, but iBATIS3 is in Alpha stage only - so Clinton and >>>> I >>>> are working through some bugs in iBATIS3. I have done some refactoring of >>>> the Ibator code base to allow for iBATIS3 - but this is mostly internal and >>>> should not affect anyone (hopefully). Feel free to checkout the latest >>>> Ibator code from SVN and try it out. I don't think you'll see much >>>> difference. Note that the iBATIS3 support for Ibator is not in SVN yet - >>>> just the base Ibator refactorings. >>>> >>>> Hope that helps! >>>> Jeff Butler >>>> >>>> >>>> >>>> On Sun, Jun 21, 2009 at 10:20 PM, Chad McHenry <mchen...@gmail.com>wrote: >>>> >>>>> I was having trouble using my ibator plugin from eclipse, getting the >>>>> error "Cannot instantiate object of type >>>>> com.example.ibatis.ibator.plugins.ClassAnnotator" and found an old thread >>>>> [1] which references the same error. It appears it is still relevant (I >>>>> could only run my plugin via eclipse by putting my plugin classes into >>>>> $eclipse/plugins/org.apache.ibatis.ibator.core_1.2.1/ibator.jar). >>>>> >>>>> For using plugins, is the ant-task still the preferred way to use >>>>> Ibator? I use maven, and can use maven-antrun-plugin, but is it still true >>>>> that any changes made to generated files will be lost when using the ant >>>>> version since it does not merge java files? >>>>> >>>>> Are there plans, or a roadmap for Ibator? I'm spending a lot of time >>>>> getting this plugin working (and actually believe it will be worth it over >>>>> the course of multiple projects). I'm wondering if I can contribute back >>>>> to >>>>> the ibator-core, but would hesitate if there is going to be a drastic >>>>> redesign for ibatis-3.0. >>>>> >>>>> ...Chad >>>>> >>>>> [1] >>>>> http://www.nabble.com/Re:-ibator-question-about--element-p19222727.html >>>>> >>>>> >>>> >>> >> >