@Override public <T extends IdentifiableObject> void clearSharing( T object, User user ) { if ( object == null || !isShareable( object.getClass() ) || user == null ) { return; } BaseIdentifiableObject baseIdentifiableObject = (BaseIdentifiableObject) object; baseIdentifiableObject.setUser( user ); baseIdentifiableObject.setPublicAccess( AccessStringHelper.DEFAULT ); baseIdentifiableObject.setExternalAccess( false ); object.getUserAccesses().clear(); object.getUserGroupAccesses().clear(); }
@Override public <T extends IdentifiableObject> void resetSharing( T object, User user ) { if ( object == null || !isShareable( object.getClass() ) || user == null ) { return; } BaseIdentifiableObject baseIdentifiableObject = (BaseIdentifiableObject) object; baseIdentifiableObject.setPublicAccess( AccessStringHelper.DEFAULT ); baseIdentifiableObject.setExternalAccess( false ); if ( object.getUser() == null ) { baseIdentifiableObject.setUser( user ); } if ( canMakePublic( user, object.getClass() ) ) { if ( defaultPublic( object.getClass() ) ) { baseIdentifiableObject.setPublicAccess( AccessStringHelper.READ_WRITE ); } } object.getUserAccesses().clear(); object.getUserGroupAccesses().clear(); }
public static <T extends BaseIdentifiableObject> void copySharing( T source, T target ) { target.setPublicAccess( source.getPublicAccess() ); target.setExternalAccess( source.getExternalAccess() ); source.getUserAccesses().forEach( ua -> target.getUserAccesses().add( new UserAccess( ua.getUser(), ua.getAccess() ) ) ); source.getUserGroupAccesses().forEach( uga -> target.getUserGroupAccesses().add( new UserGroupAccess( uga.getUserGroup(), uga.getAccess() ) ) ); } }
identifiableObject.setPublicAccess( AccessStringHelper.DEFAULT ); identifiableObject.setPublicAccess( AccessStringHelper.READ_WRITE ); identifiableObject.setPublicAccess( AccessStringHelper.newInstance().build() );