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]