Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[glassfish-dev] Has EclipseLink 5.0.0-B06 passed the Standalone Persistence 3.2 TCK?

I am wondering if EclipseLink releases always pass the Persistence TCK before the release?  I assume yes but still wanted to know as we are seeing a GlassFish failure running a test that is also in the Standalone Persistence TCK [1]. 

The EE version of the test [2] fails on the call to "getEntityManager().remove(a1)" [3] with exception [4].  In the debugger I evaluated "getEntityManager().contains(a1)" just prior to the failure and see "true".  Are there any later EclipseLink code changes made after the 5.0.0-B06 release that might help with this failure? 

Scott

[1] https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-outside-container/spec-tests/src/main/java/ee/jakarta/tck/persistence/core/entitytest/cascadeall/manyXmany/Client.java#L283

[2] https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-inside-container/spec-tests/src/main/java/ee/jakarta/tck/persistence/core/entitytest/cascadeall/manyXmany/Client.java#L310

[3]
    public void cascadeAllMXMTest4() throws Exception {

logTrace( "Begin cascadeAllMXMTest4");
boolean pass = false;
A a1;
Collection newCol;
try {
final B b1 = new B("1", "b1", 5);
final B b2 = new B("2", "b2", 5);
final B b3 = new B("3", "b3", 5);
final B b4 = new B("4", "b4", 5);
Vector v1 = new Vector();
v1.add(b1);
v1.add(b2);
v1.add(b3);
v1.add(b4);

getEntityTransaction().begin();
logTrace( "New A instance");
a1 = new A("5", "bean5", 5, v1);
getEntityManager().persist(a1);

newCol = a1.getBCol();

dumpCollectionDataB(newCol);

if (newCol.contains(b1) && newCol.contains(b2) && newCol.contains(b3) && newCol.contains(b4)) {
try {
logTrace( "Remove instances");
getEntityManager().remove(findB("1"));
getEntityManager().remove(findB("2"));
getEntityManager().remove(findB("3"));
getEntityManager().remove(findB("4"));
getEntityManager().remove(a1);
if ((!getEntityManager().contains(a1))) {
pass = true;
}

getEntityTransaction().commit();
} catch (Exception fe) {
logErr( "Unexpected exception caught trying to remove entity instance :",
fe);
}
} else {
logErr( "Test failed");
pass = false;
}

} catch (Exception e) {
logErr( "Unexpected exception occurred", e);
}

if (!pass) {
throw new Exception("cascadeAllMXMTest4 failed");
}
}
[4] java.lang.IllegalArgumentException: Entity must be managed to call remove: ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany.B@3e7a7f36, try merging the detached and try the remove again.

Back to the top