private void visitClass(PersistenceUnitModel persistenceUnit, NodeList nodes) { persistenceUnit.setClasses(parseSimpleTextElementList(nodes).stream().map(p -> new PersistableDataObject(p)).collect(Collectors.toList())); }
public PersistableDataObjectsItemPresenter setup(final PersistableDataObject className, final PersistencePresenter parentPresenter) { this.parentPresenter = parentPresenter; this.persistableDataObjects = className; view.init(this); view.setClassName(className.getValue()); return this; }
public void onClassNameChange(final String className){ persistableDataObjects.setValue(className); parentPresenter.fireChangeEvent(); }
private boolean containsClass(PersistenceUnitModel persistenceUnit, String className) { return persistenceUnit != null && persistenceUnit.getClasses() != null && persistenceUnit.getClasses().contains(new PersistableDataObject(className)); }
unitModel.getClasses().forEach(clazz -> Optional.ofNullable(classValidator.validate( clazz.getValue(), moduleClassLoader)).ifPresent(messages::addAll));
public void add(final String className) { persistableDataObjectsListPresenter.add(new PersistableDataObject(className)); fireChangeEvent(); }
visitClass( persistenceUnitElement, clazz.getValue() );
@Test public void testSetup() { persistableDataObjectsItemPresenter.setup(new PersistableDataObject("ClassName"), mock(PersistencePresenter.class)); verify(view).init(eq(persistableDataObjectsItemPresenter)); verify(view).setClassName(eq("ClassName")); }
@Test public void testAddNewPersistableDataObject() { persistencePresenter.addNewPersistableDataObject(); verify(persistableDataObjectsListPresenter).add(eq(new PersistableDataObject(""))); }
@Test public void testAddPersistableDataObject() { final String className = "ClassName"; persistencePresenter.add(className); verify(persistableDataObjectsListPresenter).add(eq(new PersistableDataObject(className))); }
@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()); }
@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"); } }
@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()); }
private PersistenceDescriptorModel createValidDescriptor() { PersistenceDescriptorModel descriptor = new PersistenceDescriptorModel(); descriptor.setVersion(VERSION); PersistenceUnitModel unit = new PersistenceUnitModel(); descriptor.setPersistenceUnit(unit); unit.setJtaDataSource(JTA_DATASOURCE); unit.setName(PERSISTENCE_UNIT_NAME); unit.setProvider(PERSISTENCE_PROVIDER); unit.setTransactionType(TransactionType.JTA); List<Property> properties = new ArrayList<>(); properties.add(new Property("name1", "value1")); properties.add(new Property("name2", "value2")); unit.setProperties(properties); List<PersistableDataObject> classes = new ArrayList<>(); classes.add(new PersistableDataObject(PersistableClass1.class.getName())); classes.add(new PersistableDataObject(PersistableClass2.class.getName())); classes.add(new PersistableDataObject(PersistableClass3.class.getName())); descriptor.getPersistenceUnit().setClasses(classes); return 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"); } } }
private PersistenceDescriptorEditorContent newPersistenceDescriptorEditorContent() { final PersistenceDescriptorEditorContent content = new PersistenceDescriptorEditorContent(); final PersistenceDescriptorModel model = new PersistenceDescriptorModel(); model.setVersion("2.0"); final PersistenceUnitModel unitModel = new PersistenceUnitModel(); model.setPersistenceUnit(unitModel); unitModel.setName("UnitName"); unitModel.setTransactionType(TransactionType.JTA); unitModel.setProvider("ProviderClass"); unitModel.setJtaDataSource("JTADataSource"); unitModel.setClasses(Arrays.asList(new PersistableDataObject("Class1"), new PersistableDataObject("Class2"))); content.setDescriptorModel(model); content.setOverview(new Overview()); return content; } }
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; }