Java 类java.util.stream.StreamSupport 实例源码
项目:microservice-cloudfoundry
文件:OrderWebIntegrationTest.java
@Test
public void IsOrderListReturned() {
try {
Iterable<Order> orders = orderRepository.findAll();
assertTrue(StreamSupport.stream(orders.spliterator(), false)
.noneMatch(o -> (o.getCustomerId() == customer.getCustomerId())));
ResponseEntity<String> resultEntity = restTemplate.getForEntity(orderURL(), String.class);
assertTrue(resultEntity.getStatusCode().is2xxSuccessful());
String orderList = resultEntity.getBody();
assertFalse(orderList.contains("Eberhard"));
Order order = new Order(customer.getCustomerId());
order.addLine(42, item.getItemId());
orderRepository.save(order);
orderList = restTemplate.getForObject(orderURL(), String.class);
assertTrue(orderList.contains("Eberhard"));
} finally {
orderRepository.deleteAll();
}
}
项目:smarti
文件:SolrSearchQueryBuilder.java
private void addDefaultParams(SolrQuery solrQuery, SolrEndpointConfiguration config) {
if(MapUtils.isNotEmpty(config.getDefaults())){
config.getDefaults().entrySet().stream()
.filter(e -> StringUtils.isNoneBlank(e.getKey()) && e.getValue() != null)
.forEach(e -> {
String param = e.getKey();
Collection<?> values;
if(e.getValue() instanceof Collection){
values = (Collection<?>)e.getValue();
} else if(e.getValue().getClass().isArray()) {
values = Arrays.asList((Object[])e.getValue());
} else {
values = Collections.singleton(e.getValue());
}
Collection<String> strValues = StreamSupport.stream(values.spliterator(), false)
.map(Objects::toString) //convert values to strings
.filter(StringUtils::isNoneBlank) //filter blank values
.collect(Collectors.toList());
if(!strValues.isEmpty()){
solrQuery.add(param, strValues.toArray(new String[strValues.size()]));
}
});
}
}
项目:mirrorgate
文件:EventServiceImpl.java
@Override
public void saveEvents(Iterable<? extends BaseModel> reviews, EventType type) {
LOGGER.info("Saving list of events");
try{
List<Event> eventList = StreamSupport.stream(reviews.spliterator(), false)
.map(review -> {
Event platformEvent = new Event();
platformEvent.setEventType(type);
platformEvent.setEventTypeCollectionId(review.getId());
platformEvent.setTimestamp(System.currentTimeMillis());
return platformEvent;
}).collect(Collectors.toList());
eventRepository.save(eventList);
} catch (Exception e){
LOGGER.error("Error while saving event", e);
}
}
项目:openjdk-jdk10
文件:ComboTask.java
/**
* Fork a new compilation task; if possible the compilation context from previous executions is
* retained (see comments in ReusableContext as to when it's safe to do so); otherwise a brand
* new context is created.
*/
public JavacTask getTask() {
if (task == null) {
ReusableContext context = env.context();
String opts = options == null ? "" :
StreamSupport.stream(options.spliterator(), false).collect(Collectors.joining());
context.clear();
if (!context.polluted && (context.opts == null || context.opts.equals(opts))) {
//we can reuse former context
env.info().ctxReusedCount++;
} else {
env.info().ctxDroppedCount++;
//it's not safe to reuse context - create a new one
context = env.setContext(new ReusableContext());
}
context.opts = opts;
JavacTask javacTask = ((JavacTool)env.javaCompiler()).getTask(out, env.fileManager(),
diagsCollector, options, null, sources, context);
javacTask.setTaskListener(context);
for (TaskListener l : listeners) {
javacTask.addTaskListener(l);
}
task = javacTask;
}
return task;
}
项目:incubator-netbeans
文件:JShellTool.java
private CompletionProvider fileCompletions(Predicate<Path> accept) {
return (code, cursor, anchor) -> {
int lastSlash = code.lastIndexOf('/');
String path = code.substring(0, lastSlash + 1);
String prefix = lastSlash != (-1) ? code.substring(lastSlash + 1) : code;
Path current = toPathResolvingUserHome(path);
List<Suggestion> result = new ArrayList<>();
try (Stream<Path> dir = Files.list(current)) {
dir.filter(f -> accept.test(f) && f.getFileName().toString().startsWith(prefix))
.map(f -> new ArgSuggestion(f.getFileName() + (Files.isDirectory(f) ? "/" : "")))
.forEach(result::add);
} catch (IOException ex) {
//ignore...
}
if (path.isEmpty()) {
StreamSupport.stream(FileSystems.getDefault().getRootDirectories().spliterator(), false)
.filter(root -> accept.test(root) && root.toString().startsWith(prefix))
.map(root -> new ArgSuggestion(root.toString()))
.forEach(result::add);
}
anchor[0] = path.length();
return result;
};
}
项目:cas-5.1.0
文件:DefaultMultifactorTriggerSelectionStrategy.java
private static boolean shouldApplyRegisteredServiceMultifactorPolicy(final RegisteredServiceMultifactorPolicy policy, final Principal principal) {
final String attrName = policy.getPrincipalAttributeNameTrigger();
final String attrValue = policy.getPrincipalAttributeValueToMatch();
// Principal attribute name and/or value is not defined
if (!StringUtils.hasText(attrName) || !StringUtils.hasText(attrValue)) {
return true;
}
// no Principal, we should enforce policy
if (principal == null) {
return true;
}
// check to see if any of the specified attributes match the attrValue pattern
final Predicate<String> attrValuePredicate = Pattern.compile(attrValue).asPredicate();
return StreamSupport.stream(ATTR_NAMES.split(attrName).spliterator(), false)
.map(principal.getAttributes()::get)
.filter(Objects::nonNull)
.map(CollectionUtils::toCollection)
.flatMap(Set::stream)
.filter(String.class::isInstance)
.map(String.class::cast)
.anyMatch(attrValuePredicate);
}
项目:buenojo
文件:ImageCompletionSolutionResource.java
/**
* GET /imageCompletionSolutions -> get all the imageCompletionSolutions.
*/
@RequestMapping(value = "/imageCompletionSolutions",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public List<ImageCompletionSolution> getAllImageCompletionSolutions(@RequestParam(required = false) String filter) {
if ("imagecompletionexercise-is-null".equals(filter)) {
log.debug("REST request to get all ImageCompletionSolutions where imageCompletionExercise is null");
return StreamSupport
.stream(imageCompletionSolutionRepository.findAll().spliterator(), false)
.filter(imageCompletionSolution -> imageCompletionSolution.getImageCompletionExercise() == null)
.collect(Collectors.toList());
}
log.debug("REST request to get all ImageCompletionSolutions");
return imageCompletionSolutionRepository.findAll();
}
项目:buenojo
文件:PhotoLocationBeaconResource.java
/**
* GET /photoLocationBeacons -> get all the photoLocationBeacons.
*/
@RequestMapping(value = "/photoLocationBeacons",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public List<PhotoLocationBeacon> getAllPhotoLocationBeacons(@RequestParam(required = false) String filter) {
if ("exercise-is-null".equals(filter)) {
log.debug("REST request to get all PhotoLocationBeacons where exercise is null");
return StreamSupport
.stream(photoLocationBeaconRepository.findAll().spliterator(), false)
.filter(photoLocationBeacon -> photoLocationBeacon.getExercise() == null)
.collect(Collectors.toList());
}
log.debug("REST request to get all PhotoLocationBeacons");
return photoLocationBeaconRepository.findAll();
}
项目:openjdk-jdk10
文件:JShellTool.java
private static CompletionProvider fileCompletions(Predicate<Path> accept) {
return (code, cursor, anchor) -> {
int lastSlash = code.lastIndexOf('/');
String path = code.substring(0, lastSlash + 1);
String prefix = lastSlash != (-1) ? code.substring(lastSlash + 1) : code;
Path current = toPathResolvingUserHome(path);
List<Suggestion> result = new ArrayList<>();
try (Stream<Path> dir = Files.list(current)) {
dir.filter(f -> accept.test(f) && f.getFileName().toString().startsWith(prefix))
.map(f -> new ArgSuggestion(f.getFileName() + (Files.isDirectory(f) ? "/" : "")))
.forEach(result::add);
} catch (IOException ex) {
//ignore...
}
if (path.isEmpty()) {
StreamSupport.stream(FileSystems.getDefault().getRootDirectories().spliterator(), false)
.filter(root -> Files.exists(root))
.filter(root -> accept.test(root) && root.toString().startsWith(prefix))
.map(root -> new ArgSuggestion(root.toString()))
.forEach(result::add);
}
anchor[0] = path.length();
return result;
};
}
项目:sos
文件:OrderController.java
@PostMapping("/orders/new")
HttpEntity<?> createOrder() {
Iterable<ProductInfo> infos = productInfos.findAll(Sort.by("createdDate").descending());
ProductInfo info = StreamSupport.stream(infos.spliterator(), false) //
.findFirst() //
.orElseThrow(() -> new IllegalStateException("No ProductInfo found!"));
Order order = Order.newOrder();
order.add(info, 2);
orders.save(order.complete());
return ResponseEntity //
.created(links.linkForSingleResource(Order.class, order.getId()).toUri()) //
.build();
}
项目:uroborosql
文件:DefaultSqlConfig.java
/**
* コンストラクタ
*
* @param connectionSupplier コネクションサプライヤ
* @param loadPath SQLファイルの読み込みルートパス
*/
private DefaultSqlConfig(final ConnectionSupplier connectionSupplier, final String loadPath) {
super();
this.connectionSupplier = connectionSupplier;
this.sqlManager = new SqlManagerImpl(loadPath);
this.sqlFilterManager = new SqlFilterManagerImpl();
this.sqlContextFactory = new SqlContextFactoryImpl();
this.entityHandler = new DefaultEntityHandler();
this.dialect = StreamSupport.stream(ServiceLoader.load(Dialect.class).spliterator(), false).filter(d -> d.accept(connectionSupplier)).findFirst().orElseGet(DefaultDialect::new);
this.sqlAgentFactory = new SqlAgentFactoryImpl(this);
initialize();
}
项目:commercetools-sync-java
文件:VariantReferenceResolverTest.java
@Test
public void resolveAttributeReference_WithNonExistingProductReferenceSetAttribute_ShouldNotResolveReferences() {
when(productService.fetchCachedProductId(anyString()))
.thenReturn(CompletableFuture.completedFuture(Optional.empty()));
final ObjectNode productReference = getProductReferenceWithRandomId();
final AttributeDraft productReferenceAttribute =
getProductReferenceSetAttributeDraft("foo", productReference);
final AttributeDraft resolvedAttributeDraft =
referenceResolver.resolveAttributeReference(productReferenceAttribute)
.toCompletableFuture().join();
assertThat(resolvedAttributeDraft).isNotNull();
assertThat(resolvedAttributeDraft.getValue()).isNotNull();
final Spliterator<JsonNode> attributeReferencesIterator = resolvedAttributeDraft.getValue().spliterator();
assertThat(attributeReferencesIterator).isNotNull();
final Set<JsonNode> resolvedSet = StreamSupport.stream(attributeReferencesIterator, false)
.collect(Collectors.toSet());
assertThat(resolvedSet).containsExactly(productReference);
}
项目:pyplyn
文件:ConfigurationIntake.java
/**
* Reads the specified configuration directory
*
* @param dir Path to config dir
* @return List of all configuration files
* @throws IOException on any errors when deserializing {@link Configuration}s
*/
List<String> getAllConfigurationsFromDisk(String dir) throws IOException {
// nothing to do if configuration not passed
if (isNull(dir)) {
logger.warn("Null configuration dir passed, returning empty configuration list");
return Collections.emptyList();
}
try (DirectoryStream<Path> configurationsDirectory = Files.newDirectoryStream(Paths.get(dir))) {
return StreamSupport.stream(configurationsDirectory.spliterator(), true)
.filter(ConfigurationIntake::isJsonFile)
.map(Path::toAbsolutePath)
.map(Path::toString)
.collect(Collectors.toList());
}
}
项目:openjdk-jdk10
文件:PlatformUtils.java
public static PlatformDescription lookupPlatformDescription(String platformString) {
int separator = platformString.indexOf(":");
String platformProviderName =
separator != (-1) ? platformString.substring(0, separator) : platformString;
String platformOptions =
separator != (-1) ? platformString.substring(separator + 1) : "";
Iterable<PlatformProvider> providers =
ServiceLoader.load(PlatformProvider.class, Arguments.class.getClassLoader());
return StreamSupport.stream(providers.spliterator(), false)
.filter(provider -> StreamSupport.stream(provider.getSupportedPlatformNames()
.spliterator(),
false)
.anyMatch(platformProviderName::equals))
.findFirst()
.flatMap(provider -> {
try {
return Optional.of(provider.getPlatform(platformProviderName, platformOptions));
} catch (PlatformNotSupported pns) {
return Optional.empty();
}
})
.orElse(null);
}
项目:spring-hateoas-examples
文件:EmployeeController.java
@GetMapping("/employees")
ResponseEntity<Resources<Resource<Employee>>> findAll() {
List<Resource<Employee>> employeeResources = StreamSupport.stream(repository.findAll().spliterator(), false)
.map(employee -> new Resource<>(employee,
linkTo(methodOn(EmployeeController.class).findOne(employee.getId())).withSelfRel()
.andAffordance(afford(methodOn(EmployeeController.class).updateEmployee(null, employee.getId())))
.andAffordance(afford(methodOn(EmployeeController.class).deleteEmployee(employee.getId()))),
linkTo(methodOn(EmployeeController.class).findAll()).withRel("employees")
))
.collect(Collectors.toList());
return ResponseEntity.ok(new Resources<>(employeeResources,
linkTo(methodOn(EmployeeController.class).findAll()).withSelfRel()
.andAffordance(afford(methodOn(EmployeeController.class).newEmployee(null)))));
}
项目:ProjectAres
文件:Streams.java
public static <T> Stream<T> of(Iterable<T> iterable) {
if(iterable instanceof Collection) {
return ((Collection<T>) iterable).stream();
} else {
return StreamSupport.stream(iterable.spliterator(), false);
}
}
项目:exam
文件:ExamSectionController.java
private void processExamQuestionOptions(Question question, ExamSectionQuestion esq, ArrayNode node) { // esq.options
Set<Long> persistedIds = question.getOptions().stream()
.map(MultipleChoiceOption::getId)
.collect(Collectors.toSet());
Set<Long> providedIds = StreamSupport.stream(node.spliterator(), false)
.map(n -> n.get("option"))
.filter(n -> SanitizingHelper.parse("id", n, Long.class).isPresent())
.map(n -> SanitizingHelper.parse("id", n, Long.class).get())
.collect(Collectors.toSet());
// Updates
StreamSupport.stream(node.spliterator(), false)
.map(n -> n.get("option"))
.filter(o -> {
Optional<Long> id = SanitizingHelper.parse("id", o, Long.class);
return id.isPresent() && persistedIds.contains(id.get());
}).forEach(o -> updateOption(o, true));
// Removals
question.getOptions().stream()
.filter(o -> !providedIds.contains(o.getId()))
.forEach(this::deleteOption);
// Additions
StreamSupport.stream(node.spliterator(), false)
.filter(o -> SanitizingHelper.parse("id", o, Long.class) == null)
.forEach(o -> createOptionBasedOnExamQuestion(question, esq, o));
// Finally update own option scores:
for (JsonNode option : node) {
SanitizingHelper.parse("id", option, Long.class).ifPresent(id -> {
ExamSectionQuestionOption esqo = Ebean.find(ExamSectionQuestionOption.class, id);
if (esqo != null) {
esqo.setScore(round(
SanitizingHelper.parse("score", option, Double.class).orElse(null)));
esqo.update();
}
});
}
}
项目:mpd-2017-i41d
文件:StreamUtils.java
public static <T> Stream<T> filterEvenLine(Stream<T> src) {
Spliterator<T> iter = src.spliterator();
Spliterator<T> res = new AbstractSpliterator<T>(Long.MAX_VALUE, Spliterator.ORDERED ) {
@Override
public boolean tryAdvance(Consumer<? super T> action) {
return iter.tryAdvance(item -> {})
? iter.tryAdvance(action)
: false;
}
};
return StreamSupport.stream(res, false);
}
项目:athena
文件:StatisticsWebResource.java
/**
* Gets load statistics for all links or for a specific link.
*
* @onos.rsModel StatisticsFlowsLink
* @param deviceId (optional) device ID for a specific link
* @param port (optional) port number for a specified link
* @return 200 OK with JSON encoded array of Load objects
*/
@GET
@Path("flows/link")
@Produces(MediaType.APPLICATION_JSON)
public Response getLoads(@QueryParam("device") String deviceId,
@QueryParam("port") String port) {
Iterable<Link> links;
if (deviceId == null || port == null) {
links = get(LinkService.class).getLinks();
} else {
ConnectPoint connectPoint = new ConnectPoint(deviceId(deviceId),
portNumber(port));
links = get(LinkService.class).getLinks(connectPoint);
}
ObjectNode result = mapper().createObjectNode();
ArrayNode loads = mapper().createArrayNode();
JsonCodec<Load> loadCodec = codec(Load.class);
StatisticService statsService = getService(StatisticService.class);
StreamSupport.stream(Spliterators.spliteratorUnknownSize(
links.iterator(), Spliterator.ORDERED), false)
.forEach(link -> {
ObjectNode loadNode = loadCodec.encode(statsService.load(link), this);
UriBuilder locationBuilder = uriInfo.getBaseUriBuilder()
.path("links")
.queryParam("device", link.src().deviceId().toString())
.queryParam("port", link.src().port().toString());
loadNode.put("link", locationBuilder.build().toString());
loads.add(loadNode);
});
result.set("loads", loads);
return ok(result).build();
}
项目:ExPetrum
文件:PackInfo.java
@Override
public void deserializeNBT(NBTTagCompound nbt)
{
this.packID = new UUID(nbt.getLong("idMost"), nbt.getLong("idLeast"));
this.leaderUUID = new UUID(nbt.getLong("leaderMost"), nbt.getLong("leaderLeast"));
this.entitiesSet.clear();
Iterator<NBTBase> iter = nbt.getTagList("entities", Constants.NBT.TAG_LONG).iterator();
while (iter.hasNext())
{
this.entitiesSet.add(new UUID(((NBTTagLong)iter.next()).getLong(), ((NBTTagLong)iter.next()).getLong()));
}
this.playerReps.clear();
StreamSupport.stream(nbt.getTagList("playerReps", Constants.NBT.TAG_COMPOUND).spliterator(), false).map(n -> (NBTTagCompound)n).forEach(tag -> this.playerReps.put(new UUID(tag.getLong("keyMost"), tag.getLong("keyLeast")), tag.getFloat("value")));
}
项目:research-graphql
文件:ProductController.java
@ResponseBody
@GetMapping(path = "/product", produces = MediaType.APPLICATION_JSON_VALUE)
public List<ProductDto> getAllProducts() {
List<Product> products = StreamSupport.stream(productRepository.findAll().spliterator(), false)
.collect(Collectors.toList());
log.info("getAllProducts() : {}", products);
return productMapper.toProductDtoList(products);
}
项目:jersey-jwt-springsecurity
文件:UserResource.java
/**
* Get all users.
*
* @return
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@PreAuthorize("hasAuthority('ADMIN')")
public Response getUsers() {
Iterable<User> iterable = userService.findAllUsers();
List<QueryUserResult> queryDetailsList =
StreamSupport.stream(iterable.spliterator(), false)
.map(this::toQueryResult)
.collect(Collectors.toList());
return Response.ok(queryDetailsList).build();
}
项目:jdk8u-jdk
文件:BitSet.java
/**
* Returns a stream of indices for which this {@code BitSet}
* contains a bit in the set state. The indices are returned
* in order, from lowest to highest. The size of the stream
* is the number of bits in the set state, equal to the value
* returned by the {@link #cardinality()} method.
*
* <p>The bit set must remain constant during the execution of the
* terminal stream operation. Otherwise, the result of the terminal
* stream operation is undefined.
*
* @return a stream of integers representing set indices
* @since 1.8
*/
public IntStream stream() {
class BitSetIterator implements PrimitiveIterator.OfInt {
int next = nextSetBit(0);
@Override
public boolean hasNext() {
return next != -1;
}
@Override
public int nextInt() {
if (next != -1) {
int ret = next;
next = nextSetBit(next+1);
return ret;
} else {
throw new NoSuchElementException();
}
}
}
return StreamSupport.intStream(
() -> Spliterators.spliterator(
new BitSetIterator(), cardinality(),
Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.SORTED),
Spliterator.SIZED | Spliterator.SUBSIZED |
Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.SORTED,
false);
}
项目:neo4j-versioner-core
文件:Get.java
@Procedure(value = "graph.versioner.get.all", mode = DEFAULT)
@Description("graph.versioner.get.all(entity) - Get all the State nodes for the given Entity.")
public Stream<PathOutput> getAllState(
@Name("entity") Node entity) {
PathValueBuilder builder = new PathValueBuilder();
builder.addNode(entity);
builder.addOutgoingRelationship(entity.getSingleRelationship(RelationshipType.withName(Utility.CURRENT_TYPE), Direction.OUTGOING));
StreamSupport.stream(entity.getRelationships(RelationshipType.withName(Utility.HAS_STATE_TYPE), Direction.OUTGOING).spliterator(), false)
//.sorted((a, b) -> -1 * Long.compare((long)a.getProperty(START_DATE_PROP), (long)b.getProperty(START_DATE_PROP)))
.forEach(rel ->
Optional.ofNullable(rel.getEndNode().getSingleRelationship(RelationshipType.withName(Utility.PREVIOUS_TYPE), Direction.OUTGOING))
.map(builder::addOutgoingRelationship)
);
return Stream.of(new PathOutput(builder.result()));
}
项目:guava-mock
文件:Streams.java
/**
* Returns a stream in which each element is the result of passing the corresponding elementY of
* each of {@code streamA} and {@code streamB} to {@code function}.
*
* <p>For example:
*
* <pre>{@code
* Streams.zip(
* Stream.of("foo1", "foo2", "foo3"),
* Stream.of("bar1", "bar2"),
* (arg1, arg2) -> arg1 + ":" + arg2)
* }</pre>
*
* <p>will return {@code Stream.of("foo1:bar1", "foo2:bar2")}.
*
* <p>The resulting stream will only be as long as the shorter of the two input streams; if one
* stream is longer, its extra elements will be ignored.
*
* <p>Note that if you are calling {@link Stream#forEach} on the resulting stream, you might want
* to consider using {@link #forEachPair} instead of this method.
*
* <p><b>Performance note:</b> The resulting stream is not <a
* href="http://gee.cs.oswego.edu/dl/html/StreamParallelGuidance.html">efficiently splittable</a>.
* This may harm parallel performance.
*/
public static <A, B, R> Stream<R> zip(
Stream<A> streamA, Stream<B> streamB, BiFunction<? super A, ? super B, R> function) {
checkNotNull(streamA);
checkNotNull(streamB);
checkNotNull(function);
boolean isParallel = streamA.isParallel() || streamB.isParallel(); // same as Stream.concat
Spliterator<A> splitrA = streamA.spliterator();
Spliterator<B> splitrB = streamB.spliterator();
int characteristics =
splitrA.characteristics()
& splitrB.characteristics()
& (Spliterator.SIZED | Spliterator.ORDERED);
Iterator<A> itrA = Spliterators.iterator(splitrA);
Iterator<B> itrB = Spliterators.iterator(splitrB);
return StreamSupport.stream(
new AbstractSpliterator<R>(
Math.min(splitrA.estimateSize(), splitrB.estimateSize()), characteristics) {
@Override
public boolean tryAdvance(Consumer<? super R> action) {
if (itrA.hasNext() && itrB.hasNext()) {
action.accept(function.apply(itrA.next(), itrB.next()));
return true;
}
return false;
}
},
isParallel);
}
项目:incubator-ratis
文件:CollectionUtils.java
/**
* @return a randomly picked element which is not the given element.
*/
static <T> T random(final T given, Iterable<T> iteration) {
Objects.requireNonNull(given, "given == null");
Objects.requireNonNull(iteration, "iteration == null");
Preconditions.assertTrue(iteration.iterator().hasNext(), "iteration is empty");
final List<T> list = StreamSupport.stream(iteration.spliterator(), false)
.filter(e -> !given.equals(e))
.collect(Collectors.toList());
final int size = list.size();
return size == 0? null: list.get(ThreadLocalRandom.current().nextInt(size));
}
项目:uis
文件:AdminStudyPlansTests.java
@Test
public void addNonExistingSubjectToStudyPlanFailureTest() throws Exception {
//given study plan and a subject which is already part of it
Subject subject = new Subject("Operating Systems", new BigDecimal(4.0));
subject.setId(1337L);
//studyPlan1.addSubjects(new SubjectForStudyPlan(subject, studyPlan1, true));
StudyPlan studyPlan = studyPlanRepository.save(studyPlan1);
//when this mandatory subject is added to the study plan
mockMvc.perform(
post("/admin/studyplans/addSubject")
.with(user("admin").roles(Role.ADMIN.name()))
.param("subjectId", subject.getId().toString())
.param("studyPlanId", studyPlan.getId().toString())
.param("semester", "1")
.param("mandatory", "true")
.with(csrf())
).andExpect(
(redirectedUrl("/admin/studyplans/?id="+studyPlan.getId()))
);
//the subject should not be part of the mandatory subjects of the study plan
List<SubjectForStudyPlan> subjectsForStudyPlan = StreamSupport
.stream(subjectForStudyPlanRepository.findByStudyPlanIdOrderBySemesterRecommendation(studyPlan.getId())
.spliterator(), false).collect(Collectors.toList());
List<Subject> usedSubjects = subjectsForStudyPlan.stream()
.filter(SubjectForStudyPlan::getMandatory)
.map(s -> subjectRepository.findById(s.getSubject().getId())).collect(Collectors.toList());
assertFalse(usedSubjects.contains(subject));
}
项目:commercetools-sync-java
文件:VariantReferenceResolverTest.java
@Test
public void resolveAttributeReference_WithNullReferenceInSetAttribute_ShouldResolveReferences() {
final ObjectNode productReference = getProductReferenceWithRandomId();
final AttributeDraft productReferenceAttribute =
getProductReferenceSetAttributeDraft("foo", productReference, null);
final AttributeDraft resolvedAttributeDraft =
referenceResolver.resolveAttributeReference(productReferenceAttribute)
.toCompletableFuture().join();
assertThat(resolvedAttributeDraft).isNotNull();
assertThat(resolvedAttributeDraft.getValue()).isNotNull();
final Spliterator<JsonNode> attributeReferencesIterator = resolvedAttributeDraft.getValue().spliterator();
assertThat(attributeReferencesIterator).isNotNull();
final Set<JsonNode> resolvedSet = StreamSupport.stream(attributeReferencesIterator, false)
.collect(Collectors.toSet());
assertThat(resolvedSet).isNotEmpty();
final ObjectNode resolvedReference = JsonNodeFactory.instance.objectNode();
resolvedReference.put("typeId", "product");
resolvedReference.put("id", PRODUCT_ID);
assertThat(resolvedSet).containsExactly(resolvedReference);
}
项目:jdk8u-jdk
文件:JarFile.java
@Override
public Stream<JarEntry> stream() {
return StreamSupport.stream(Spliterators.spliterator(
new JarEntryIterator(), size(),
Spliterator.ORDERED | Spliterator.DISTINCT |
Spliterator.IMMUTABLE | Spliterator.NONNULL), false);
}
项目:IOTAFaucet
文件:SendingLoop.java
private String[] fetchHashedTrytes(String processor) {
return StreamSupport.stream(databaseProvider.getProcessorTransactions(processor).spliterator(), false)
.map(processorTransaction -> {
String trytes = processorTransaction.getHashedTrytes();
if (trytes == null)
throw new RuntimeException("Sending loop found transaction with unhashed trytes!");
return trytes;
}).toArray(String[]::new);
}
项目:mirrorgate
文件:UserMetricsServiceImpl.java
@Override
public List<UserMetricDTO> saveMetrics(Iterable<UserMetricDTO> metrics) {
List<UserMetric> toSave = StreamSupport.stream(metrics.spliterator(), false)
.map(UserMetricMapper::map)
.collect(Collectors.toList());
userMetricsRepository.save(toSave);
return toSave.stream().map(UserMetricMapper::map).collect(Collectors.toList());
}
项目:incubator-netbeans
文件:MRJARModuleFileManagerTest.java
public void testList() throws IOException {
//Source level 9, broken jar
ModuleFileManager fm = new ModuleFileManager(
CachingArchiveProvider.getDefault(),
bCp,
(u)->Collections.singleton(u),
Source.JDK1_9,
StandardLocation.MODULE_PATH,
false);
JavaFileManager.Location l = StreamSupport.stream(fm.listLocationsForModules(StandardLocation.MODULE_PATH).spliterator(), true)
.flatMap((s)->s.stream())
.findFirst()
.orElse(null);
assertNotNull(l);
Iterable<JavaFileObject> res = fm.list(l, "org.me", EnumSet.of(JavaFileObject.Kind.CLASS), false); //NOI18N
assertEquals(Arrays.asList("A Base","B Base"), toContent(res)); //NOI18N
assertEquals(Arrays.asList("org.me.A","org.me.B"), toInferedName(fm, res)); //NOI18N
//Source level 9, multi release jar
fm = new ModuleFileManager(
CachingArchiveProvider.getDefault(),
mvCp,
(u)->Collections.singleton(u),
Source.JDK1_9,
StandardLocation.MODULE_PATH,
false);
l = StreamSupport.stream(fm.listLocationsForModules(StandardLocation.MODULE_PATH).spliterator(), true)
.flatMap((s)->s.stream())
.findFirst()
.orElse(null);
assertNotNull(l);
res = fm.list(l, "org.me", EnumSet.of(JavaFileObject.Kind.CLASS), false); //NOI18N
assertEquals(Arrays.asList("A 9","B Base"), toContent(res)); //NOI18N
assertEquals(Arrays.asList("org.me.A","org.me.B"), toInferedName(fm, res)); //NOI18N
}
项目:xm-ms-entity
文件:ContentResource.java
/**
* SEARCH /_search/contents?query=:query : search for the content corresponding
* to the query.
*
* @param query the query of the content search
* @return the result of the search
*/
@GetMapping("/_search/contents")
@Timed
public List<Content> searchContents(@RequestParam String query) {
log.debug("REST request to search Contents for query {}", query);
return StreamSupport
.stream(contentSearchRepository.search(queryStringQuery(query)).spliterator(), false)
.collect(Collectors.toList());
}
项目:neo4j-versioner-sql
文件:Neo4jLoader.java
public List<Schema> loadSchemas(Database database) {
Optional<Node> databaseNode = neo4jVersionerCore.findStateNode(database);
if(databaseNode.isPresent()) {
return StreamSupport.stream(databaseNode.get().getRelationships(Direction.OUTGOING, RelationshipType.withName("HAS_SCHEMA")).spliterator(), false)
.map(Relationship::getEndNode)
.filter(node -> node.hasLabel(Label.label("Schema")))
.map(Schema::new)
.collect(Collectors.toList());
} else {
return newArrayList();
}
}
项目:openjdk-jdk10
文件:DistinctOpTest.java
SortedTestData(List<T> coll) {
super("SortedTestData", coll,
c -> StreamSupport.stream(Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED), false),
c -> StreamSupport.stream(Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED), true),
c -> Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED),
List::size);
}
项目:exam
文件:ExternalStudentExamController.java
@ActionMethod
@Override
public Result answerMultiChoice(String hash, Long qid) {
User user = getLoggedUser();
return getEnrolmentError(hash, user).orElseGet(() -> {
Optional<ExternalExam> optional = getExternalExam(hash, user);
if (!optional.isPresent()) {
return forbidden();
}
ExternalExam ee = optional.get();
ArrayNode node = (ArrayNode) request().body().asJson().get("oids");
List<Long> optionIds = StreamSupport.stream(node.spliterator(), false)
.map(JsonNode::asLong)
.collect(Collectors.toList());
Optional<ExamSectionQuestion> question;
Exam content;
try {
content = ee.deserialize();
question = findQuestion(qid, content);
} catch (IOException e) {
return internalServerError();
}
return question
.map(q -> processOptions(optionIds, q, ee, content))
.orElseGet(Results::forbidden);
});
}
项目:tg-eventstore
文件:MergedEventReader.java
@Override
public Stream<ResolvedEvent> readAllForwards(Position positionExclusive) {
MergedEventReaderPosition mergedPosition = (MergedEventReaderPosition) positionExclusive;
Instant snapTimestamp = clock.instant().minus(mergingStrategy.delay());
List<Stream<ResolvedEvent>> data = range(0, readers.size())
.mapToObj(i -> readers.get(i).reader.readAllForwards(mergedPosition.inputPositions[i])).collect(toList());
List<Iterator<ResolvedEvent>> snappedData = data.stream()
.map(eventStream -> takeWhileBefore(snapTimestamp, eventStream.iterator()))
.collect(toList());
return StreamSupport.stream(new MergingSpliterator<>(mergingStrategy, mergedPosition, snappedData), false)
.onClose(() -> data.forEach(Stream::close));
}
项目:neo4j-versioner-core
文件:Get.java
@Procedure(value = "graph.versioner.get.by.date", mode = DEFAULT)
@Description("graph.versioner.get.by.date(entity, date) - Get State node by the given Entity node, created at the given date")
public Stream<NodeOutput> getStateByDate(
@Name("entity") Node entity,
@Name("date") long date) {
return StreamSupport.stream(entity.getRelationships(RelationshipType.withName(Utility.HAS_STATE_TYPE), Direction.OUTGOING).spliterator(), false)
.filter(relationship -> relationship.getProperty(Utility.START_DATE_PROP).equals(date))
.map(Relationship::getEndNode)
.map(NodeOutput::new);
}
项目:openjdk-jdk10
文件:StackStreamFactory.java
@Override
protected T consumeFrames() {
checkState(OPEN);
Stream<StackFrame> stream = StreamSupport.stream(this, false);
if (function != null) {
return function.apply(stream);
} else
throw new UnsupportedOperationException();
}
项目:exam
文件:ExamRecordSanitizer.java
private Http.Request sanitize(Http.Context ctx, JsonNode body) throws SanitizingException {
if (body.has("params") && body.get("params").has("childIds")) {
JsonNode node = body.get("params").get("childIds");
Collection<Long> ids = StreamSupport.stream(node.spliterator(), false)
.map(JsonNode::asLong)
.collect(Collectors.toList());
return ctx.request().addAttr(Attrs.ID_COLLECTION, ids);
}
throw new SanitizingException("no ids");
}