Dear All,

I am writing my own L2 Cache Provider for OpenJPA 2.0. To test this provider
I am extending the org.apache.openjpa.persistence.datacache.CacheTest
abstract class.

When executing CacheTest I need to enhance entities located in the
openjpa-persistence-jdbc project in
/src/test/java/org/apache/openjpa/persistence/datacache/common/apps

I have copied the enhancer.xml for openjpa-persistence-jdbc to my own sub
project say open-jpa-foo
and I am calling the openjpa-persistence-jdbc enhancer from open-jpa-foo
like so...
        <fileset id="enhance.path.ref"
                
dir="../openjpa-persistence-jdbc/target/test-classes/org/apache/openjpa/persistence/datacache/common/apps">
            <include name="**/*.class" />
            .......
            ........
        </fileset>

When running persistence-jdbc enhancer from my sub-project I see the
following error :
06  xml-persistence-unit  WARN   [main] openjpa.Enhance - Type "class
org.apache.openjpa.persistence.datacache.common.apps.AttachB" has no
metadata; enhancing
s persistence aware. If you intended for "class
org.apache.openjpa.persistence.datacache.common.apps.AttachB" to be
persistence-capable, then this means that OpenJPA could not find any
metadata for "class
org.apache.openjpa.persistence.datacache.common.apps.AttachB". This can
happen if the directory containing your metadata is not in your CLASSPATH,
or if your metadata files are not named properly. See the documentation on
metadata placement for more information.

java.io.FileNotFoundException: file:\C:\Documents and
Settings\Administrator\.m2\repository\org\apache\openjpa\openjpa-persistence-jdbc\2.0.0-SNAPSHOT\openjpa-p
sistence-jdbc-2.0.0-SNAPSHOT-tests.jar!\org\apache\openjpa\persistence\datacache\common\apps\AttachB.class
(The filename, directory name, or volume label syntax is incorrect.)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
      at serp.bytecode.BCClass.write(BCClass.java:179)
      at org.apache.openjpa.enhance.PCEnhancer.record(PCEnhancer.java:595)
      at org.apache.openjpa.enhance.PCEnhancer.record(PCEnhancer.java:581)
      at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4609)
      at
org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
      at
org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:171)
      at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

I see similar WARN messages when the enhancer in persistence-jdbc is run;
however the enhancer just keeps moving on.  When I run the enhancer from the
sub-project the enhancer just dies with the above exception.

I have confirmed that AttachB.class does indeed exist in C:\Documents and
Settings\Administrator\.m2\repository\org\apache\openjpa\openjpa-persistence-jdbc\2.0.0-SNAPSHOT\openjpa-persistence-jdbc-2.0.0-SNAPSHOT-tests.jar\org\apache\openjpa\persistence\datacache\common\apps\

Can someone explain this issue. How do I run one project's enhancer from
some other project.
Is there a better way to test with CacheTest. ?

Appreciate your help in this matter.

--Thanks,
Rohit Kelapure
-- 
View this message in context: 
http://n2.nabble.com/Error-running-enhancer-tp3807918p3807918.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to