View | Details | Raw Unified | Return to bug 235619
Collapse All | Expand All

(-)src/org/eclipse/jpt/core/internal/context/persistence/GenericPersistence.java (+2 lines)
Lines 86-91 Link Here
86
			throw new IllegalArgumentException(new Integer(index).toString());
86
			throw new IllegalArgumentException(new Integer(index).toString());
87
		}
87
		}
88
		PersistenceUnit oldPersistenceUnit = persistenceUnit;
88
		PersistenceUnit oldPersistenceUnit = persistenceUnit;
89
		persistenceUnit.dispose();
89
		persistenceUnit = null;
90
		persistenceUnit = null;
90
		xmlPersistence.getPersistenceUnits().remove(index);
91
		xmlPersistence.getPersistenceUnits().remove(index);
91
		fireItemRemoved(PERSISTENCE_UNITS_LIST, index, oldPersistenceUnit);
92
		fireItemRemoved(PERSISTENCE_UNITS_LIST, index, oldPersistenceUnit);
Lines 97-102 Link Here
97
	}
98
	}
98
	
99
	
99
	protected void removePersistenceUnit_(PersistenceUnit oldPersistenceUnit) {
100
	protected void removePersistenceUnit_(PersistenceUnit oldPersistenceUnit) {
101
		persistenceUnit.dispose();
100
		persistenceUnit = null;
102
		persistenceUnit = null;
101
		fireItemRemoved(PERSISTENCE_UNITS_LIST, 0, oldPersistenceUnit);
103
		fireItemRemoved(PERSISTENCE_UNITS_LIST, 0, oldPersistenceUnit);
102
	}
104
	}
(-)src/org/eclipse/jpt/core/tests/internal/context/JpaFileTests.java (+30 lines)
Lines 290-295 Link Here
290
		assertEquals(persistenceUnit().impliedClassRefs().next(), javaJpaFile.rootStructureNodes().next().getParent());
290
		assertEquals(persistenceUnit().impliedClassRefs().next(), javaJpaFile.rootStructureNodes().next().getParent());
291
	}
291
	}
292
	
292
	
293
	public void testJavaRootStructureNodesPersistenceUnitRemovedFromResourceModel() throws Exception {
294
		OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
295
		
296
		ICompilationUnit cu = createTestEntity();
297
		JpaFile javaJpaFile = JptCorePlugin.getJpaFile((IFile) cu.getResource());
298
		
299
		JavaPersistentType javaPersistentType = ormPersistentType.getJavaPersistentType();
300
		assertEquals(javaPersistentType, javaJpaFile.rootStructureNodes().next());
301
		
302
		persistenceResource().getPersistence().getPersistenceUnits().remove(0);
303
304
		assertFalse(javaJpaFile.rootStructureNodes().hasNext());
305
		assertEquals(0, javaJpaFile.rootStructureNodesSize());
306
	}
307
	
308
	public void testJavaRootStructureNodesPersistenceUnitRemoved() throws Exception {
309
		OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
310
		
311
		ICompilationUnit cu = createTestEntity();
312
		JpaFile javaJpaFile = JptCorePlugin.getJpaFile((IFile) cu.getResource());
313
		
314
		JavaPersistentType javaPersistentType = ormPersistentType.getJavaPersistentType();
315
		assertEquals(javaPersistentType, javaJpaFile.rootStructureNodes().next());
316
		
317
		jpaProject().getRootContext().getPersistenceXml().getPersistence().removePersistenceUnit(0);
318
319
		assertFalse(javaJpaFile.rootStructureNodes().hasNext());
320
		assertEquals(0, javaJpaFile.rootStructureNodesSize());
321
	}
322
293
	public void testJavaRootStructureNodesOrmPersistentTypeRemoved() throws Exception {
323
	public void testJavaRootStructureNodesOrmPersistentTypeRemoved() throws Exception {
294
		OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
324
		OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
295
		
325
		

Return to bug 235619