*
* Note that the method does not place "default" back in the list of active fetch groups, OPENJPA-2413
* was opened to note this behavior.
*/
public void testClearFetchGroups001() {
OpenJPAEntityManagerFactory emf2 = createNamedEMF(getPersistenceUnitName(),
FGManager.class, FGDepartment.class, FGEmployee.class, FGAddress.class,
"openjpa.FetchGroups", "Default,DescFetchGroup");
OpenJPAEntityManager em = emf2.createEntityManager();
FetchPlan fp = em.getFetchPlan();
assertNotNull(fp);
assertNotNull(fp.getFetchGroups());
assertEquals(2, fp.getFetchGroups().size());
assertTrue(fp.getFetchGroups().contains("Default")); // Not the same as "default"
assertTrue(fp.getFetchGroups().contains("DescFetchGroup"));
FetchConfiguration fetchCfg = ((org.apache.openjpa.persistence.EntityManagerImpl) em)
.getBroker()
.getFetchConfiguration();
assertTrue(fetchCfg.isDefaultPUFetchGroupConfigurationOnly());
fp.clearFetchGroups(); // OPENJPA-2413: now places "default" in the list of active fetch groups.
assertNotNull(fp.getFetchGroups());
assertEquals(1, fp.getFetchGroups().size());
assertTrue(fp.getFetchGroups().contains("default"));
assertFalse(fetchCfg.isDefaultPUFetchGroupConfigurationOnly());
FGManager mgr = managerSet.iterator().next();
assertNotNull(mgr);
FGManager findMgr = em.find(FGManager.class, mgr.getId());
em.close();
emf2.close();
assertEquals(mgr.getId(), findMgr.getId());
assertEquals(mgr.getFirstName(), findMgr.getFirstName());
assertEquals(mgr.getLastName(), findMgr.getLastName());
assertNull(findMgr.getDescription()); // Should be lazy-loaded