static <T, S extends Seq<T>> S shuffle(S source, Function<? super Iterable<T>, S> ofAll) { if (source.length() <= 1) { return source; } final java.util.List<T> list = source.toJavaList(); java.util.Collections.shuffle(list); return ofAll.apply(list); }
@RequestMapping(value = "events", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public CircuitBreakerEventsEndpointResponse getAllCircuitBreakerEvents() { return new CircuitBreakerEventsEndpointResponse(eventConsumerRegistry.getAllEventConsumer() .flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(CircuitBreakerEvent::getCreationTime)) .map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); }
@RequestMapping(value = "events", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public RateLimiterEventsEndpointResponse getAllRateLimiterEvents() { List<RateLimiterEventDTO> eventsList = eventsConsumerRegistry.getAllEventConsumer() .flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(RateLimiterEvent::getCreationTime)) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); return new RateLimiterEventsEndpointResponse(eventsList); }
@Override public Object invoke() { List<String> names = rateLimiterRegistry.getAllRateLimiters() .map(RateLimiter::getName).sorted().toJavaList(); return ResponseEntity.ok(new RateLimiterEndpointResponse(names)); } }
@Override public ResponseEntity<CircuitBreakerEndpointResponse> invoke() { List<String> circuitBreakers = circuitBreakerRegistry.getAllCircuitBreakers() .map(CircuitBreaker::getName).sorted().toJavaList(); return ResponseEntity.ok(new CircuitBreakerEndpointResponse(circuitBreakers)); } }
@ReadOperation public RateLimiterEventsEndpointResponse getAllRateLimiterEvents() { List<RateLimiterEventDTO> eventsList = eventsConsumerRegistry.getAllEventConsumer() .flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(RateLimiterEvent::getCreationTime)) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); return new RateLimiterEventsEndpointResponse(eventsList); }
@ReadOperation public CircuitBreakerEventsEndpointResponse getAllCircuitBreakerEvents() { return new CircuitBreakerEventsEndpointResponse(eventConsumerRegistry.getAllEventConsumer() .flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(CircuitBreakerEvent::getCreationTime)) .map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); }
@ReadOperation public RateLimiterEndpointResponse getAllRateLimiters() { List<String> names = rateLimiterRegistry.getAllRateLimiters() .map(RateLimiter::getName).sorted().toJavaList(); return new RateLimiterEndpointResponse(names); } }
@ReadOperation public CircuitBreakerEndpointResponse getAllCircuitBreakers() { List<String> circuitBreakers = circuitBreakerRegistry.getAllCircuitBreakers() .map(CircuitBreaker::getName).sorted().toJavaList(); return new CircuitBreakerEndpointResponse(circuitBreakers); } }
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(RetryEvent::getCreationTime)) .map(RetryEventDTO::createRetryEventDTO).toJavaList(); d.success(new RetryEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r)))
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(RateLimiterEvent::getCreationTime)) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); d.success(new RateLimiterEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r)))
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(BulkheadEvent::getCreationTime)) .map(BulkheadEventDTO::createEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r)))
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(CircuitBreakerEvent::getCreationTime)) .map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r)))
static <T, S extends Seq<T>> S shuffle(S source, Function<? super Iterable<T>, S> ofAll) { if (source.length() <= 1) { return source; } final java.util.List<T> list = source.toJavaList(); java.util.Collections.shuffle(list); return ofAll.apply(list); }
@Nonnull @Override public Object convert(Object source) { if (source instanceof io.vavr.collection.Seq) { return ((io.vavr.collection.Seq<?>) source).toJavaList(); } if (source instanceof io.vavr.collection.Map) { return ((io.vavr.collection.Map<?, ?>) source).toJavaMap(); } if (source instanceof io.vavr.collection.Set) { return ((io.vavr.collection.Set<?>) source).toJavaSet(); } throw new IllegalArgumentException("Unsupported Javaslang collection " + source.getClass()); } }
/** * Convert the data to a List<DataRow> which we can then sort, and rebuild back into a DataView. * * @param table The original table. * @param dataRows The collection of data rows. * @param sortItems The sort item details. * @return Returns a sorted Data View. */ private static DataView performQuickSort(DataTable table, Seq<DataRow> dataRows, Seq<SortItem> sortItems) { // Convert the data to a List<DataRow> which we can then sort, and rebuild back into a DataView. List<DataRow> rowList = dataRows.toJavaList(); rowList.sort(new DataRowComparator(sortItems)); return DataView.build(table, rowList).get(); }
private void appendObj(StringBuilder sb, Object o) { if (o instanceof java.lang.String) { sb.append("\"").append(o).append("\""); } else if (o instanceof io.vavr.collection.Seq) { sb.append(genJsonList(((Seq) o).toJavaList().toArray())); } else { sb.append(o); } } }
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(RetryEvent::getCreationTime)) .map(RetryEventDTO::createRetryEventDTO).toJavaList(); d.success(new RetryEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r)))
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(RateLimiterEvent::getCreationTime)) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); d.success(new RateLimiterEventsEndpointResponse(eventsList)); }).then(r -> ctx.render(Jackson.json(r)))
.flatMap(CircularEventConsumer::getBufferedEvents) .sorted(Comparator.comparing(CircuitBreakerEvent::getCreationTime)) .map(CircuitBreakerEventDTOFactory::createCircuitBreakerEventDTO).toJavaList()); d.success(response); }).then(r -> ctx.render(Jackson.json(r)))