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();
}
Aggregations