Search in sources :

Example 1 with User

use of com.netflix.spinnaker.security.User in project front50 by spinnaker.

the class StorageServiceSupport method bulkImport.

public void bulkImport(Collection<T> items) {
    User authenticatedUser = new User();
    authenticatedUser.setUsername(AuthenticatedRequest.getSpinnakerUser().orElse("anonymous"));
    if (service instanceof BulkStorageService) {
        String lastModifiedBy = AuthenticatedRequest.getSpinnakerUser().orElse("anonymous");
        Long lastModified = System.currentTimeMillis();
        items.forEach(item -> {
            item.setLastModifiedBy(lastModifiedBy);
            item.setLastModified(lastModified);
        });
        ((BulkStorageService) service).storeObjects(objectType, items);
        return;
    }
    Observable.from(items).buffer(10).flatMap(itemSet -> Observable.from(itemSet).flatMap(item -> {
        try {
            return AuthenticatedRequest.propagate(() -> {
                update(item.getId(), item);
                return Observable.just(item);
            }, true, authenticatedUser).call();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }).subscribeOn(scheduler)).subscribeOn(scheduler).toList().toBlocking().single();
}
Also used : User(com.netflix.spinnaker.security.User) AtomicLong(java.util.concurrent.atomic.AtomicLong) NotFoundException(com.netflix.spinnaker.kork.web.exceptions.NotFoundException)

Aggregations

NotFoundException (com.netflix.spinnaker.kork.web.exceptions.NotFoundException)1 User (com.netflix.spinnaker.security.User)1 AtomicLong (java.util.concurrent.atomic.AtomicLong)1