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
>

Reply via email to