Hi All! I've hit a couple of issues with the Data Module and wanted to know if it was worth fixing.
First, my sample app can be found at [1] (note you'll need JDK8 to run) and you can run the test JPATest to see the results, using mvn -Dtest=JPATest -Ddeltaspike.version=1.0.2 First issue you'll note is that the following output (or something similar to it will be given): java.lang.IllegalArgumentException: URL does not exist: archive:se-examples.jar/META-INF/persistence.xml at org.apache.deltaspike.data.impl.meta.unit.DescriptorReader.readFromUrl(DescriptorReader.java:64) at org.apache.deltaspike.data.impl.meta.unit.DescriptorReader.readAllFromClassPath(DescriptorReader.java:50) at org.apache.deltaspike.data.impl.meta.unit.PersistenceUnitReader.readAll(PersistenceUnitReader.java:37) at org.apache.deltaspike.data.impl.meta.unit.PersistenceUnits.readPersistenceXmls(PersistenceUnits.java:98) at org.apache.deltaspike.data.impl.meta.unit.PersistenceUnits.init(PersistenceUnits.java:45) at org.apache.deltaspike.data.impl.RepositoryExtension.beforeBeanDiscovery(RepositoryExtension.java:73) (full stack available at [2], test.log). It seems like the RepositoryExtension is picking up on my persistence.xml and aggressively trying to parse them (at this point, I don't have any @Repository's defined in my app). For some reason it cannot parse this URL but it does seem to pick up the persistence.xml from target/classes/META-INF so it does eventually parse it. To work around this, I wrapped DescriptorReader.readAllFromClassPath's result.add with an exception check. I figure if it can't read the descriptor, no reason to make the whole app die. What do you think? Second issue, after fixing this one, was that AbstractEntityRepository was being picked up as a @Repository and erroring out saying that there's no entity for it. This one I wasn't expecting. To fix it, in RepsitoryComponents, I added an explicit check if it was the base class, if it was return null rather than exception and check for null in the add method. This also fixed things and the tests started running fine. This fix seems more hacky, and I'm wondering if I'm just doing something wrong to make this class be picked up. You can see the summary of changes in the gist's patch.txt. John [1]: https://github.com/johnament/restful-and-beyond-tut2184 [2]: https://gist.github.com/johnament/d4a55ce7251062ee0b85
