@Override public void updateTranslations( IdentifiableObject persistedObject, Set<Translation> translations ) { Session session = sessionFactory.getCurrentSession(); persistedObject.getTranslations().clear(); session.flush(); translations.forEach( translation -> { if ( StringUtils.isNotEmpty( translation.getValue() ) ) { persistedObject.getTranslations().add( translation ); } } ); BaseIdentifiableObject translatedObject = ( BaseIdentifiableObject ) persistedObject; translatedObject.setLastUpdated( new Date() ); translatedObject.setLastUpdatedBy( currentUserService.getCurrentUser() ); session.update( translatedObject ); }
@Override public void preUpdate( IdentifiableObject object, IdentifiableObject persistedObject, ObjectBundle bundle ) { BaseIdentifiableObject identifiableObject = (BaseIdentifiableObject) object; identifiableObject.setAutoFields(); identifiableObject.setLastUpdatedBy( bundle.getUser() ); Schema schema = schemaService.getDynamicSchema( object.getClass() ); handleAttributeValues( object, bundle, schema ); }
@Override public void preCreate( IdentifiableObject identifiableObject, ObjectBundle bundle ) { ( ( BaseIdentifiableObject ) identifiableObject ).setAutoFields(); BaseIdentifiableObject identifableObject = ( BaseIdentifiableObject ) identifiableObject; identifableObject.setAutoFields(); identifableObject.setLastUpdatedBy( bundle.getUser() ); Schema schema = schemaService.getDynamicSchema( identifiableObject.getClass() ); handleAttributeValues( identifiableObject, bundle, schema ); }
private void prepareObject( BaseIdentifiableObject object, ObjectBundle bundle, ObjectBundleParams params ) { if ( StringUtils.isEmpty( object.getPublicAccess() ) ) { aclService.resetSharing( object, bundle.getUser() ); } if ( object.getUser() == null || bundle.getPreheat().get( params.getPreheatIdentifier(), User.class, object.getUser().getUid() ) == null ) { object.setUser( bundle.getUser() ); } if ( object.getUserAccesses() == null ) { object.setUserAccesses( new HashSet<>() ); } if ( object.getUserGroupAccesses() == null ) { object.setUserGroupAccesses( new HashSet<>() ); } object.setLastUpdatedBy( bundle.getUser() ); } }
identifiableObject.setLastUpdatedBy( user );
@Override public void update( T object, User user ) { String username = user != null ? user.getUsername() : "system-process"; if ( IdentifiableObject.class.isInstance( object ) ) { object.setAutoFields(); BaseIdentifiableObject identifiableObject = object; identifiableObject.setAutoFields(); identifiableObject.setLastUpdatedBy( user ); if ( identifiableObject.getUser() == null ) { identifiableObject.setUser( user ); } } if ( !isUpdateAllowed( object, user ) ) { AuditLogUtil.infoWrapper( log, username, object, AuditLogUtil.ACTION_UPDATE_DENIED ); throw new UpdateAccessDeniedException( object.toString() ); } AuditLogUtil.infoWrapper( log, username, object, AuditLogUtil.ACTION_UPDATE ); if ( object != null ) { getSession().update( object ); } if ( MetadataObject.class.isInstance( object ) ) { deletedObjectService.deleteDeletedObjects( new DeletedObjectQuery( object ) ); } }