Hao,

Always good to see students show up on the dev list first before they submit the application.
Already thumbs up for the spirit.
Good luck!

cheers
--
Torsten

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]

Reply via email to