Hi Oliver, Thank you for your guide. I will try org.apache.commons.configuration.plist, and read the links your offered.
On Sat, Apr 5, 2008 at 3:03 AM, Oliver Heger <[EMAIL PROTECTED]> wrote: > Hi Hao, > > I am one of the active committers for Commons Configuration. What you write > sounds very good, and I am pleased that you are interested in this > component. > > I was not involved in the creation of the project proposal, so I don't know > the details. I think this was done by Emmanuel Bourg (I hope he will join > this thread to provide further advise). > > In Jira, our bug tracking system [1], there are enhancement tickets for the > new configuration formats to implement [2-4]. These tickets also link to > pages with reference information. > > I would suggest using classes in the org.apache.commons.configuration.plist > package as examples. They are based on a grammar for reading specific > formats. You will probably have to do something similar. > > If you have further questions or comments, don't hesitate to post them to > this list! > > Regards > Oliver > > > [1] http://commons.apache.org/configuration/issue-tracking.html > [2] http://issues.apache.org/jira/browse/CONFIGURATION-258 > [3] http://issues.apache.org/jira/browse/CONFIGURATION-201 > [4] http://issues.apache.org/jira/browse/CONFIGURATION-198 > > Hao Zheng schrieb: > > > > > > > > > Dear all commons devs: > > > > I am a graduate student. I want to apply for the project "New file > > formats for Commons Configuration". I have submitted my proposal on > > Google. Please give me some suggestions on it. Thank you all. > > > > Abstract > > > > I have much experience in Java programming. For this project, I plan > > to find the most similar format for each new format first. Then I > > could implement the new format with the help of the old format. > > Existing tests can also be converted for the new format. In this way, > > I believe I can achieve the goal of this project. > > > > I am interested in Open Source development, and I am eager to > > participate in an open source project. I have used so many open source > > software/tools for a long time. GSoC is a good opportunity for me to > > contribute to open source community. I want to get started here, and > > continue to contribute even after the GSoC. > > > > 1. Biography > > > > I am a graduate student at CS department, Shanghai JiaoTong > > University, Shanghai, China. I have about 4 years experience in Java > > programming. I am proficient in Java, and have taken part in several > > large projects. I have used many open source library/tools, e.g. Ant, > > Commons, Tomcat, Log4j, Lucene, etc. from Apache. My resume could be > > accessed at http://www.apexlab.org/apex_wiki/hzheng. > > > > Recently, I am interested in Open Source development, and eager to > > participate in an open source project. GSoC is a good opportunity for > > me to contribute to Apache. I want te get started here, and continue > > to contribute even after the GSoC. Coincidently, I have suggested a > > new feature for Commons Email [1], just one week before Google > > announced GSoC 2008 [2]. The devs from Apache Commons thought my > > suggestion is useful, and let me file a JIRA asking for an enhancement > > [3]. Although the issue has not been resolved, it is still a good > > start for me to approach open source development. > > > > 2. Plan for Commons Configuration > > > > I have used some components of Apache Commons: DBCP, Email, Logging, > > and Pool. However, I have to admit I haven't used Commons > > Configuration. I take a glance at it, and feel it is easy to use, like > > most Commons components. I believe it is in my competencies. Here is > > my detailed plan. > > > > 2.1. Preparation Phase > > > > Learn completely how to use Commons Configuration, by which I can gain > > a deeper understanding of it. Then I will begin to read the existing > > code, to learn how to implement it. > > > > By now, I am not sure how it is implemented. I guess some > > lexical/syntax analyzer are used. I have taken a course on Compiler > > Implementation when I was an undergraduate. The course required to > > implement a compiler of a subset of Java language. I used JLex [4] for > > lexical analysis and Cup [5] for syntax analysis. > > > > As for the new formats, I have used JSON files when developing some > > web application. I will learn the format of YAML and OGDL in this > > phase. > > > > 2.2. Coding Phase > > > > Existing support for XML format will be a good reference. I am > > familiar with JSON, so I will talk about JSON particularly. JSON could > > be considered as "simplified XML", so I think existing XML > > implementation or tests could largely benefit JSON implementation. For > > the other two formats, maybe similar formats also exists. The detailed > > plan is: > > > > a). read one similar old format for reference > > b). implement the new format > > c). convert the tests for old format to tests for new format, and test > > my implementation > > > > 3. Schedule > > > > now - May 26: Preparation Phase. Learn more on Commons Configuration. > > Consult mentors on what to started first. Take part in the discussion > > on the dev maillist. > > > > May 27 - August 11: Coding Phase. In this 11 weeks, plan to implement > > 3 new formats: JSON, YAML, and OGDL, which means about 3-4 weeks per > > format. Write documentation and unit tests. > > > > August 12 - August 18: Revise some minor errors. Complete some > documentation. > > > > [References] > > > > [1]. My new feature suggestion on Feb 20, > > > http://mail-archives.apache.org/mod_mbox/commons-dev/200802.mbox/[EMAIL > PROTECTED] > > [2]. Google announced GSoC 2008 on Feb 26, > > > https://groups.google.com/group/google-summer-of-code-announce/browse_thread/thread/cc8d2165772e7de8 > > [3]. My JIRA, http://issues.apache.org/jira/browse/EMAIL-72 > > [4]. JLex, http://www.cs.princeton.edu/~appel/modern/java/JLex/ > > [5]. CUP, http://www2.cs.tum.edu/projects/cup/ > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]