public Document visit() { Element element = document.createElement( PersistenceDescriptorXMLMarshaller.PERSISTENCE ); element.setAttribute( PersistenceDescriptorXMLMarshaller.VERSION, descriptorModel.getVersion() ); element.setAttribute( "xmlns", "http://java.sun.com/xml/ns/persistence" ); element.setAttribute( "xmlns:orm", "http://java.sun.com/xml/ns/persistence/orm" ); element.setAttribute( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" ); element.setAttribute( "xsi:schemaLocation", "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd" ); document.appendChild( element ); if ( descriptorModel.getPersistenceUnit() != null ) { visitPersistenceUnit( element, descriptorModel.getPersistenceUnit() ); } return document; }
private PersistenceUnitModel getPersistenceUnitModel() { return persistenceDescriptorEditorContent.getDescriptorModel().getPersistenceUnit(); }
public String buildJPAMarshallingStrategyValue(KieModule kieModule) { PersistenceDescriptorModel pdModel = pdService.load(kieModule); if (pdModel != null) { return "new org.drools.persistence.jpa.marshaller.JPAPlaceholderResolverStrategy(\"" + pdModel.getPersistenceUnit().getName() + "\", classLoader)"; } return null; }
public String buildJPAMarshallingStrategyValue(KieModule kieModule) { PersistenceDescriptorModel pdModel = pdService.load(kieModule); if (pdModel != null) { return "new org.drools.persistence.jpa.marshaller.JPAPlaceholderResolverStrategy(\"" + pdModel.getPersistenceUnit().getName() + "\", classLoader)"; } return null; }
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 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()); }
private void assertEqualsDescriptor( PersistenceDescriptorModel expectedDescriptor, PersistenceDescriptorModel descriptor ) { assertEquals( expectedDescriptor.getVersion(), descriptor.getVersion() ); assertEqualsPersistenceUnit( expectedDescriptor.getPersistenceUnit(), descriptor.getPersistenceUnit() ); }
@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()))); }
@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 testValidateMissingJtaDataSource() { descriptor.getPersistenceUnit().setTransactionType(TransactionType.JTA); descriptor.getPersistenceUnit().setJtaDataSource(null); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //jta datasource validation should fail expectedMessage = newErrorMessage(PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_JTA_DATASOURCE_EMPTY_ID, PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_JTA_DATASOURCE_EMPTY); assertTrue(result.contains(expectedMessage)); }
@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 testValidateMissingNonJtaDataSource() { descriptor.getPersistenceUnit().setTransactionType(TransactionType.RESOURCE_LOCAL); descriptor.getPersistenceUnit().setNonJtaDataSource(null); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //jta datasource validation should fail expectedMessage = newErrorMessage(PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_NON_JTA_DATASOURCE_EMPTY_ID, PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_NON_JTA_DATASOURCE_EMPTY); 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 testValidateMissingPersistenceUnitName() { descriptor.getPersistenceUnit().setName(null); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //persistence unit name validation should fail expectedMessage = newErrorMessage(PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_NAME_EMPTY_ID, PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_NAME_EMPTY); assertTrue(result.contains(expectedMessage)); }
@Test public void testValidateMissingPersistenceProvider() { descriptor.getPersistenceUnit().setProvider(null); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //persistence provider validation should fail expectedMessage = newErrorMessage(PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_PROVIDER_ID, PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_PROVIDER_EMPTY); assertTrue(result.contains(expectedMessage)); }
@Test public void testValidateMissingTransactionType() { descriptor.getPersistenceUnit().setTransactionType(null); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //transaction type validation should fail expectedMessage = newErrorMessage(PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_TRANSACTION_TYPE_EMPTY_ID, PersistenceDescriptorValidationMessages.PERSISTENCE_UNIT_TRANSACTION_TYPE_EMPTY); assertTrue(result.contains(expectedMessage)); }
@Test public void testValidatePropertyWithMissingValue() { //add a property with no name descriptor.getPersistenceUnit().addProperty(new Property("someName", null)); List<ValidationMessage> result = validator.validate(path, descriptor); ValidationMessage expectedMessage; //validation for the property with missing value should fail. expectedMessage = PersistenceDescriptorValidationMessages.newWarningMessage(PersistenceDescriptorValidationMessages.PROPERTY_VALUE_EMPTY_ID, MessageFormat.format(PersistenceDescriptorValidationMessages.PROPERTY_VALUE_EMPTY, "someName"), "someName"); assertTrue(result.contains(expectedMessage)); }
@Test public void testSetPersistenceProvider() { final PersistenceDescriptorEditorContent model = newPersistenceDescriptorEditorContent(); persistencePresenter.persistenceDescriptorEditorContent = model; persistencePresenter.setPersistenceProvider("PersistenceProvider"); Assert.assertEquals("PersistenceProvider", model.getDescriptorModel().getPersistenceUnit().getProvider()); verify(persistencePresenter).fireChangeEvent(); }
@Test public void testSetDataSource() { final PersistenceDescriptorEditorContent model = newPersistenceDescriptorEditorContent(); persistencePresenter.persistenceDescriptorEditorContent = model; persistencePresenter.setDataSource("DataSource"); Assert.assertEquals("DataSource", model.getDescriptorModel().getPersistenceUnit().getJtaDataSource()); verify(persistencePresenter).fireChangeEvent(); }
@Test public void testSetPersistenceUnit() { final PersistenceDescriptorEditorContent model = newPersistenceDescriptorEditorContent(); persistencePresenter.persistenceDescriptorEditorContent = model; persistencePresenter.setPersistenceUnit("PersistenceUnit"); Assert.assertEquals("PersistenceUnit", model.getDescriptorModel().getPersistenceUnit().getName()); verify(persistencePresenter).fireChangeEvent(); }