List of usage examples for org.hibernate.persister.collection CollectionPersister isManyToMany
boolean isManyToMany();
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has other changes * //from www . j av a2 s. c o m * @throws Exception */ @Test @NotTransactional public void shouldNotLinkChildLogsToThatOfAnEditedOwnerForUpdatedItemsInACollectionMappedAsManyToMany() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); assertEquals(1, user.getRoles().size()); Role role = user.getRoles().iterator().next(); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); assertEquals(false, auditLogService.isAudited(Role.class)); startAuditing(User.class); startAuditing(Role.class); assertEquals(true, auditLogService.isAudited(User.class)); assertEquals(true, auditLogService.isAudited(Role.class)); user.setUsername("new user name"); role.setDescription("Testing"); us.saveUser(user, null); List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); assertEquals(0, userLogs.get(0).getChildAuditLogs().size()); List<AuditLog> roleLogs = getAllLogs(role.getRole(), Role.class, Collections.singletonList(UPDATED)); assertEquals(1, roleLogs.size()); assertNull(roleLogs.get(0).getParentAuditLog()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has no other changes * /* w w w.j a va 2 s. co m*/ * @throws Exception */ @Test @NotTransactional public void shouldNotMarkOwnerAsUpdatedWhenItemIsUpdatedAndIsInACollectionMappedAsManyToMany() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); assertEquals(1, user.getRoles().size()); Role role = user.getRoles().iterator().next(); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); assertEquals(false, auditLogService.isAudited(Role.class)); startAuditing(User.class); startAuditing(Role.class); assertEquals(true, auditLogService.isAudited(User.class)); assertEquals(true, auditLogService.isAudited(Role.class)); role.setDescription("Testing"); us.saveUser(user, null); assertEquals(0, getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)).size()); List<AuditLog> roleLogs = getAllLogs(role.getRole(), Role.class, Collections.singletonList(UPDATED)); assertEquals(1, roleLogs.size()); assertNull(roleLogs.get(0).getParentAuditLog()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has no other changes * /*from ww w. j a v a2s .c o m*/ * @throws Exception */ @Test @NotTransactional public void shouldCreateLogForTheOwnerAndNotTheItemThatIsRemovedFromACollectionMappedAsManyToMany() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); assertEquals(1, user.getRoles().size()); Role role = user.getRoles().iterator().next(); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); startAuditing(User.class); assertEquals(true, auditLogService.isAudited(User.class)); user.removeRole(role); us.saveUser(user, null); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); //But should create an audit log for the owner List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); AuditLog al = userLogs.get(0); assertEquals(0, al.getChildAuditLogs().size()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has other changes * /*from w w w .j ava 2 s . c o m*/ * @throws Exception */ @Test @NotTransactional public void shouldNotCreateLogForAnItemRemovedFromACollectionMappedAsManyToManyAndOwnerIsEdited() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); assertEquals(1, user.getRoles().size()); Role role = user.getRoles().iterator().next(); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); startAuditing(User.class); assertEquals(true, auditLogService.isAudited(User.class)); user.setUsername("New"); user.removeRole(role); us.saveUser(user, null); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); //But should create an audit log for the owner List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); AuditLog al = userLogs.get(0); assertEquals(0, al.getChildAuditLogs().size()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has no other changes and the collection item is new * //from w ww .j av a 2 s.c om * @throws Exception */ @Test @NotTransactional public void shouldNotLinkLogsToThatOfTheOwnerForANewItemAddedToACollectionMappedAsManyToMany() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); assertEquals(1, user.getRoles().size()); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); assertEquals(false, auditLogService.isAudited(Role.class)); startAuditing(User.class); startAuditing(Role.class); assertEquals(true, auditLogService.isAudited(User.class)); assertEquals(true, auditLogService.isAudited(Role.class)); Role role = new Role("new role", "new desc"); user.addRole(role); us.saveUser(user, null); List<AuditLog> roleLogs = getAllLogs(role.getRole(), Role.class, Collections.singletonList(CREATED)); assertEquals(1, roleLogs.size()); List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); AuditLog al = userLogs.get(0); assertEquals(0, al.getChildAuditLogs().size()); assertNull(roleLogs.get(0).getParentAuditLog()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has no other changes and collection item exists * /*ww w .j a v a 2 s . c om*/ * @throws Exception */ @Test @NotTransactional public void shouldNotLinkLogsToThatOfTheOwnerForAnExistingItemAddedToACollectionMappedAsManyToMany() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); Role role = us.getRole("Anonymous"); assertNotNull(role); assertFalse(user.getRoles().contains(role)); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); startAuditing(User.class); assertEquals(true, auditLogService.isAudited(User.class)); user.addRole(role); us.saveUser(user, null); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); assertEquals(0, userLogs.get(0).getChildAuditLogs().size()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has other changes and collection item is new * //w ww . ja v a 2 s .c o m * @throws Exception */ @Test @NotTransactional public void shouldNotLinkLogsToThatOfTheOwnerForANewItemAddedToACollectionMappedAsManyToManyAndOwnerIsEdited() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); assertEquals(1, user.getRoles().size()); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); assertEquals(false, auditLogService.isAudited(Role.class)); startAuditing(User.class); startAuditing(Role.class); assertEquals(true, auditLogService.isAudited(User.class)); assertEquals(true, auditLogService.isAudited(Role.class)); user.setUsername("New"); Role role = new Role("new role", "new desc"); user.addRole(role); us.saveUser(user, null); List<AuditLog> roleLogs = getAllLogs(role.getRole(), Role.class, Collections.singletonList(CREATED)); assertEquals(1, roleLogs.size()); List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); AuditLog al = userLogs.get(0); assertEquals(0, al.getChildAuditLogs().size()); assertNull(roleLogs.get(0).getParentAuditLog()); }
From source file:org.openmrs.module.auditlog.CollectionsAuditLogBehaviorTest.java
License:Open Source License
/** * This tests assumes that the owner has other changes and collection item exists * /*from w w w . j a v a 2s .c o m*/ * @throws Exception */ @Test @NotTransactional public void shouldNotLinkLogsToThatOfTheOwnerForAnExistingItemAddedToACollectionMappedAsManyToManyAndOwnerIsEdited() throws Exception { UserService us = Context.getUserService(); User user = us.getUser(501); Role role = us.getRole("Anonymous"); assertNotNull(role); assertFalse(user.getRoles().contains(role)); assertEquals(0, getAllLogs(user.getId(), User.class, null).size()); CollectionPersister cp = AuditLogUtil.getCollectionPersister("roles", User.class, null); assertTrue(cp.isManyToMany()); assertEquals(false, auditLogService.isAudited(User.class)); startAuditing(User.class); assertEquals(true, auditLogService.isAudited(User.class)); user.setUsername("New"); user.addRole(role); us.saveUser(user, null); assertEquals(0, getAllLogs(role.getRole(), Role.class, null).size()); List<AuditLog> userLogs = getAllLogs(user.getId(), User.class, Collections.singletonList(UPDATED)); assertEquals(1, userLogs.size()); assertEquals(0, userLogs.get(0).getChildAuditLogs().size()); }
From source file:org.openmrs.module.auditlog.strategy.AllExceptAuditStrategyTest.java
License:Open Source License
/** * @verifies not mark association types for many to many collections as audited * @see AllExceptAuditStrategy#startAuditing(java.util.Set>) *//*from w ww . jav a 2s . co m*/ @Test public void startAuditing_shouldNotMarkAssociationTypesForManyToManyCollectionsAsAudited() throws Exception { setAuditConfiguration(AuditStrategy.ALL_EXCEPT, "org.openmrs.Location,org.openmrs.LocationTag", false); assertFalse(auditLogService.isAudited(Location.class)); assertFalse(auditLogService.isAudited(LocationTag.class)); assertFalse(helper.isImplicitlyAudited(LocationTag.class)); CollectionPersister cp = AuditLogUtil.getCollectionPersister("tags", Location.class, null); assertTrue(cp.isManyToMany()); startAuditing(Location.class); assertTrue(auditLogService.isAudited(Location.class)); assertFalse(auditLogService.isAudited(LocationTag.class)); assertFalse(helper.isImplicitlyAudited(LocationTag.class)); }
From source file:org.openmrs.module.auditlog.strategy.NoneExceptAuditStrategyTest.java
License:Open Source License
/** * @verifies not mark association types for many to many collections as audited * @see NoneExceptAuditStrategy#startAuditing(java.util.Set>) *//*from w ww .java 2 s . c om*/ @Test public void startAuditing_shouldNotMarkAssociationTypesForManyToManyCollectionsAsAudited() throws Exception { assertFalse(auditLogService.isAudited(Location.class)); assertFalse(auditLogService.isAudited(LocationTag.class)); assertFalse(helper.isImplicitlyAudited(LocationTag.class)); CollectionPersister cp = AuditLogUtil.getCollectionPersister("tags", Location.class, null); assertTrue(cp.isManyToMany()); startAuditing(Location.class); assertTrue(auditLogService.isAudited(Location.class)); assertFalse(auditLogService.isAudited(LocationTag.class)); assertFalse(helper.isImplicitlyAudited(LocationTag.class)); }