Hi Umashanthi, Thanks for your interest in OpenJPA. I'm glad you were able to get the code and get it building. Besides reading the spec, the OpenJPA quick start guide[1] (especially the examples) is a good place to start.
Here is one SoC project idea... The JPA specification includes many annotations for the specification of metadata and mapping information within Java classes. In addition, the spec provides a means to supply the same information within XML configuration files (orm.xml). One primary benefit of XML config files is it allows modification of the ORM information without needing to recompile the source code. OpenJPA has many custom metadata and mapping annotations that can be used to provided functionality beyond the JPA specification. However, these extensions are available only through annotations. There is currently no means to specify the metadata or mapping extensions via XML. We've had several requests for this capability, but it hasn't seen much/any activity. In part, this effort would include: 1) Understanding OpenJPA's annotatation extensions. 2) Determining which annotations make sense to provide in XML configuration 3) Designing a schema for the XML-based configuration file (openjpa-orm.xml?) 4) Creating metadata and mapping parsers for the new XML mapping file 5) Wiring the new parsers into the existing code path. I think this would make a good SoC project because: 1) The work is well defined and fairly self contained. 2) It would be a good experience in adding additional capabilities to a mature piece of software. 3) It wouldn't require spending much/any time trying to understand OpenJPA internals - which can be very time consuming. Instead, you'll be learning about JPA and OpenJPA's powerful extensions - especially by learning what the extensions do and writing jUnits to test the capability via XML mappings. 4) This activity can be ongoing. Not all extensions need to be immediately available. Once the base framework is available, incomplete extensions can be added in the future. (ie. this effort does not have to be fully complete by the end of the SoC in order to be beneficial) Here are some links to the annotation extensions in JavaDoc: http://openjpa.apache.org/builds/latest/docs/javadoc/org/apache/openjpa/persistence/package-summary.html- Annotation Types Summary section http://openjpa.apache.org/builds/latest/docs/javadoc/org/apache/openjpa/persistence/jdbc/package-summary.html- Annotation Types Summary section If you are interested, I'd be happy to send you additional information to help you make a better evaluation and/or get started. -Jeremy [1] http://openjpa.apache.org/quick-start.html On Sun, Jan 30, 2011 at 2:53 AM, Umashanthi Pavalanathan < [email protected]> wrote: > Hi devs, > > I am an undergraduate student interested in contributing to OpenJPA and > would like to know whether you have any ideas for Google Summer of Code > 2011. > > I have checked out the source code and successfully built it with the help > of Mark. Currently I am in the process of studying the Java Persistence API > using the OpenJPA user guide. Any suggestions and links to resources that > would help me understand the concepts and get started with OpenJPA? > > > Thanks in advance, > ~Umashanthi >
