Index: server/src/ome/security/basic/MergeEventListener.java =================================================================== --- server/src/ome/security/basic/MergeEventListener.java (revision 971) +++ server/src/ome/security/basic/MergeEventListener.java (working copy) @@ -91,6 +91,8 @@ HibernateUtils.fixNulledOrFilteredCollections( (IObject)entity,(IObject)target,persister,source); propagateHiddenValues((IObject)entity,(IObject)target); +// BUGFIX TEMPORARY + revertValues((IObject)entity,(IObject)target); } super.copyValues(persister, entity, target, source, copyCache); } @@ -105,6 +107,8 @@ HibernateUtils.fixNulledOrFilteredCollections( (IObject)entity,(IObject)target,persister,source); propagateHiddenValues((IObject)entity, (IObject)target); +// BUGFIX TEMPORARY + revertValues((IObject)entity,(IObject)target); } super.copyValues(persister, entity, target, source, copyCache, foreignKeyDirection); @@ -187,6 +191,14 @@ } } + protected void revertValues(IObject from, IObject to) + { + if ( from.getDetails() != null && to.getDetails() != null ) + { + from.getDetails().setCreationEvent( to.getDetails().getCreationEvent() ); + } + } + private void log(Object...objects) { if ( log.isDebugEnabled() && objects != null && objects.length > 0) Index: server/test/ome/server/itests/ImmutabilityTest.java =================================================================== --- server/test/ome/server/itests/ImmutabilityTest.java (revision 971) +++ server/test/ome/server/itests/ImmutabilityTest.java (working copy) @@ -69,8 +69,8 @@ // This fails because it gets silently copied to our new instance. See: // https://trac.openmicroscopy.org.uk/omero/ticket/346 - // i = iUpdate.saveAndReturnObject(i); - //assertEquals( i.getDetails().getCreationEvent().getId(), oldEvent.getId()); + i = iUpdate.saveAndReturnObject(i); + assertEquals( i.getDetails().getCreationEvent().getId(), oldEvent.getId()); // Saving and reacquiring to be sure. iUpdate.saveObject(i);