private boolean containsClass(PersistenceUnitModel persistenceUnit, String className) { return persistenceUnit != null && persistenceUnit.getClasses() != null && persistenceUnit.getClasses().contains(new PersistableDataObject(className)); }
public void addAllProjectsPersistableDataObjects() { promises.promisify(dataModelerService, s -> { return s.findPersistableClasses(pathToPersistenceXml); }).then(classes -> { classes.stream() .filter(clazz -> !getPersistenceUnitModel().getClasses().contains(clazz)) .forEach(this::add); return promises.resolve(); }); }
private void setupPersistableDataObjectsTable() { persistableDataObjectsListPresenter.setup( view.getPersistableDataObjectsTable(), getPersistenceUnitModel().getClasses(), (className, presenter) -> presenter.setup(className, this)); }
@Test public void onNonPersistableDataObjectCreatedTest() { descriptorModel.getPersistenceUnit().getClasses().add(new PersistableDataObject("package1.PersistableObject")); DataObjectCreatedEvent createdEvent = new DataObjectCreatedEvent(module, dataObject); eventObserver.onDataObjectCreated(createdEvent); verify(descriptorService, times(0)).save(eq(descriptorPath), eq(descriptorModel), any(Metadata.class), anyString()); assertEquals(1, descriptorModel.getPersistenceUnit().getClasses().size()); }
if (unitModel.getClasses() != null && !unitModel.getClasses().isEmpty()) { ClassLoader moduleClassLoader = moduleClassLoaderHelper.getModuleClassLoader(module); unitModel.getClasses().forEach(clazz -> Optional.ofNullable(classValidator.validate( clazz.getValue(), moduleClassLoader)).ifPresent(messages::addAll));
@Test public void onNonPersistableDataObjectDeletedTest() { DataObject dataObject = new DataObjectImpl("package1", "NonPersistableObject"); DataObjectCreatedEvent createdEvent = new DataObjectCreatedEvent(module, dataObject); eventObserver.onDataObjectCreated(createdEvent); descriptorModel.getPersistenceUnit().getClasses().add(new PersistableDataObject(createdEvent.getCurrentDataObject().getClassName())); verify(descriptorService, times(0)).save(eq(descriptorPath), eq(descriptorModel), any(Metadata.class), anyString()); assertEquals(1, descriptorModel.getPersistenceUnit().getClasses().size()); }
@Test public void testValidateNonPersistableClass() { //add a non persistable class descriptor.getPersistenceUnit().getClasses().add(new PersistableDataObject(NonPersistableClass1.class.getName())); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //validation for the non persistable class should fail. expectedMessage = newErrorMessage(PersistenceDescriptorValidationMessages.CLASS_NOT_PERSISTABLE_ID, MessageFormat.format(PersistenceDescriptorValidationMessages.CLASS_NOT_PERSISTABLE, NonPersistableClass1.class.getName()), NonPersistableClass1.class.getName()); assertTrue(result.contains(expectedMessage)); }
@Test public void onPersistableDataObjectDeletedTest() { DataObjectDeletedEvent deletedEvent = new DataObjectDeletedEvent(module, dataObject); descriptorModel.getPersistenceUnit().getClasses().add(new PersistableDataObject(deletedEvent.getCurrentDataObject().getClassName())); eventObserver.onDataObjectDeleted(deletedEvent); verify(descriptorService, times(1)).save(eq(descriptorPath), eq(descriptorModel), any(Metadata.class), anyString()); assertFalse(descriptorModel.getPersistenceUnit().getClasses().contains(new PersistableDataObject(dataObject.getClassName()))); }
@Test public void onPersistableDataObjectCreatedTest() { DataObjectCreatedEvent createdEvent = new DataObjectCreatedEvent(module, dataObject); eventObserver.onDataObjectCreated(createdEvent); verify(descriptorService, times(1)).save(eq(descriptorPath), eq(descriptorModel), any(Metadata.class), anyString()); assertTrue(descriptorModel.getPersistenceUnit().getClasses().contains(new PersistableDataObject(dataObject.getClassName()))); }
public void onDataObjectDeleted(@Observes DataObjectDeletedEvent event) { Path descriptorPath; PersistenceDescriptorModel persistenceDescriptor; descriptorPath = descriptorService.calculatePersistenceDescriptorPath(event.getCurrentModule()); persistenceDescriptor = safeLoad(descriptorPath); if (persistenceDescriptor != null && containsClass(persistenceDescriptor.getPersistenceUnit(), event.getCurrentDataObject().getClassName())) { persistenceDescriptor.getPersistenceUnit().getClasses().remove(new PersistableDataObject(event.getCurrentDataObject().getClassName())); descriptorService.save(descriptorPath, persistenceDescriptor, null, "Entity removed from persistence descriptor"); } }
public void onDataObjectCreated(@Observes DataObjectCreatedEvent event) { Path descriptorPath; PersistenceDescriptorModel persistenceDescriptor; if (isPersistable(event.getCurrentDataObject())) { descriptorPath = descriptorService.calculatePersistenceDescriptorPath(event.getCurrentModule()); persistenceDescriptor = safeLoad(descriptorPath); if (persistenceDescriptor != null && !containsClass(persistenceDescriptor.getPersistenceUnit(), event.getCurrentDataObject().getClassName())) { persistenceDescriptor.getPersistenceUnit().getClasses().add(new PersistableDataObject(event.getCurrentDataObject().getClassName())); descriptorService.save(descriptorPath, persistenceDescriptor, null, "Entity added to persistence descriptor"); } } }
if ( persistenceUnit.getClasses() != null ) { for ( PersistableDataObject clazz : persistenceUnit.getClasses() ) { visitClass( persistenceUnitElement, clazz.getValue() );
private PersistenceDescriptorModel expectedDescriptor() { PersistenceDescriptorModel descriptor = new PersistenceDescriptorModel(); descriptor.setVersion( "2.1" ); PersistenceUnitModel persistenceUnit = new PersistenceUnitModel(); descriptor.setPersistenceUnit( persistenceUnit ); persistenceUnit.setName( "org.test.persistence-unit" ); persistenceUnit.setDescription( "org.test.description" ); persistenceUnit.setProvider( "org.test.Provider" ); persistenceUnit.setJtaDataSource( "java:jboss/datasources/ExampleDS" ); persistenceUnit.getMappingFile().add( "META-INF/Mapping1.xml" ); persistenceUnit.getMappingFile().add( "META-INF/Mapping2.xml" ); persistenceUnit.getJarFile().add( "file1.jar" ); persistenceUnit.getJarFile().add( "file2.jar" ); persistenceUnit.getClasses().add(new PersistableDataObject("org.test.Entity1") ); persistenceUnit.getClasses().add( new PersistableDataObject("org.test.Entity2") ); persistenceUnit.setExcludeUnlistedClasses( true ); persistenceUnit.setSharedCacheMode( CachingType.ALL ); persistenceUnit.setValidationMode( ValidationMode.AUTO ); persistenceUnit.setTransactionType( TransactionType.JTA ); persistenceUnit.addProperty( new Property( "property1", "property1_value" ) ); persistenceUnit.addProperty( new Property( "property2", "property2_value" ) ); return descriptor; }
private void assertEqualsPersistenceUnit( PersistenceUnitModel expectedPersistenceUnit, PersistenceUnitModel persistenceUnit ) { assertEquals( expectedPersistenceUnit.getName(), persistenceUnit.getName() ); assertEquals( expectedPersistenceUnit.getDescription(), persistenceUnit.getDescription() ); assertEquals( expectedPersistenceUnit.getProvider(), persistenceUnit.getProvider() ); assertEquals( expectedPersistenceUnit.getJtaDataSource(), persistenceUnit.getJtaDataSource() ); assertEquals( expectedPersistenceUnit.getNonJtaDataSource(), persistenceUnit.getNonJtaDataSource() ); assertEquals( expectedPersistenceUnit.getExcludeUnlistedClasses(), persistenceUnit.getExcludeUnlistedClasses() ); assertEquals( expectedPersistenceUnit.getClasses(), persistenceUnit.getClasses() ); assertEquals( expectedPersistenceUnit.getJarFile(), persistenceUnit.getJarFile() ); assertEquals( expectedPersistenceUnit.getMappingFile(), persistenceUnit.getMappingFile() ); assertEquals( expectedPersistenceUnit.getSharedCacheMode(), persistenceUnit.getSharedCacheMode() ); assertEquals( expectedPersistenceUnit.getTransactionType(), persistenceUnit.getTransactionType() ); assertEquals( expectedPersistenceUnit.getProperties(), persistenceUnit.getProperties() ); }