openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Albert Lee" <allee8...@gmail.com>
Subject Re: svn commit: r646377 - /openjpa/branches/1.0.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
Date Wed, 09 Apr 2008 15:48:24 GMT
Patrick,

The patch should not change the current behavior in your example.

    private void parseNamedQueries(AnnotatedElement el, NamedQuery...
queries) {
            ..........
            meta = getRepository().getCachedQueryMetaData(null,
query.name());
            if (meta != null) {
                if (_log.isWarnEnabled())
                    _log.warn(_loc.get("dup-query", query.name(), el));
//                return;
                continue;
            }
    }

If query.name() is found in the repository cache, the "before patch"
behavior is posting a "ignore" warning message and stop parsing the
remaining @NamedQuery in the queries input parameter. Basically it is an
no-op. The "after patch" behavior remains the same for @NamedQuery, since
there is only one entry in the queries list. The only change in behavior is
for @NamedQueries. If a duplicate NameQuery is found, it used to stop
parsing the remaining @NamedQuery. After the patch, it will ignore the
duplicated entry and continue to parse the remaining entries in the queries
input list.

I am already working on a test case to cover this change.

Albert Lee.

On Wed, Apr 9, 2008 at 10:21 AM, Patrick Linskey <plinskey@gmail.com> wrote:

> Hi,
>
> What is the impact of this change for the following pair of classes:
>
>    @Entity @NamedQuery(name="findAll", query="select item from LineItem
> item")
>    public class LineItem { ... }
>
>    @Entity @NamedQuery(name="findAll", query="select p from Person p")
>    public class Person { ... }
>
> The system should fail to parse that pair of classes. Do we have a test
> case that asserts that that's the case? Also, why are we doubly-parsing
> these named queries?
>
> In other words, does this change just mask some larger problem?
>
> -Patrick
>
>
> On Apr 9, 2008, at 9:31 AM, allee8285@apache.org wrote:
>
> > Author: allee8285
> > Date: Wed Apr  9 07:31:30 2008
> > New Revision: 646377
> >
> > URL: http://svn.apache.org/viewvc?rev=646377&view=rev
> > Log:
> > OPENJPA-565 - Ignore duplicate NamedQuery definition and continue to
> > parse the remaining entries in NamedQueries definition.
> >
> > Modified:
> >
> > openjpa/branches/1.0.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
> >
> > Modified:
> > openjpa/branches/1.0.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
> > URL:
> > http://svn.apache.org/viewvc/openjpa/branches/1.0.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java?rev=646377&r1=646376&r2=646377&view=diff
> >
> > ==============================================================================
> > ---
> > openjpa/branches/1.0.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
> > (original)
> > +++
> > openjpa/branches/1.0.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
> > Wed Apr  9 07:31:30 2008
> > @@ -1567,7 +1567,7 @@
> >            if (meta != null) {
> >                if (_log.isWarnEnabled())
> >                    _log.warn(_loc.get("dup-query", query.name(), el));
> > -                return;
> > +                continue;
> >            }
> >
> >            meta = getRepository().addQueryMetaData(null, query.name());
> > @@ -1608,7 +1608,7 @@
> >            if (meta != null) {
> >                if (_log.isWarnEnabled())
> >                    _log.warn(_loc.get("dup-query", query.name(), el));
> > -                return;
> > +                continue;
> >            }
> >
> >            meta = getRepository().addQueryMetaData(null, query.name());
> >
> >
> >
> --
> Patrick Linskey
> 202 669 5907
>
>
>
>
>


-- 
Albert Lee.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message