微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

com.google.common.collect.Streams的实例源码

项目:pnc-repressurized    文件SemiBlockManager.java   
public Stream<ISemiBlock> getSemiBlocks(World world,BlockPos pos) {
    Stream<ISemiBlock> stream = null;
    Chunk chunk = world.getChunkFromBlockCoords(pos);
    Map<BlockPos,List<ISemiBlock>> map = semiBlocks.get(chunk);
    if (map != null) {
        List<ISemiBlock> semiblocks = map.get(pos);
        if(semiblocks != null){ 
            stream = semiblocks.stream().filter(semiBlock -> !semiBlock.isInvalid());
        }
    }

    //Semiblocks that _just_ have been added,but not the the chunk maps yet.
    Stream<ISemiBlock> addingStream = addingBlocks.stream()
                                                  .filter(semiBlock -> semiBlock.getWorld() == world && 
                                                          semiBlock.getPos().equals(pos) &&
                                                          !semiBlock.isInvalid());
    if(stream == null){
        return addingStream;
    }else{
        return Streams.concat(stream,addingStream);
    }
}
项目:textmd    文件SyntaxHighlighter.java   
public void compute(String text,CodeArea parent) {

        Matcher matcher = getHighlightingPattern().matcher(text);

        while(matcher.find()) {

            String styleClass = getStyleClass(matcher);
            // For Now lets setStyles for base style.
            parent.setStyle(matcher.start(),matcher.end(),Collections.singleton(styleClass));

            // Then we can grab the style from the document via subView and overlay
            for(HighlightStyle style : getChildStyles(styleClass,getText(matcher.start(),parent))){
                StyleSpans spans = parent.getStyleSpans(matcher.start(),matcher.end()).subView(style.start,style.end).overlay(
                        StyleSpans.singleton(new StyleSpan<>(
                                Arrays.asList(style.styleClasses),(style.end - style.start)
                        )),(strings,strings2) -> {
                            Collection<String> coll = Streams.concat(strings.stream(),strings2.stream()).collect(Collectors.toList());
                            logger.debug(coll.toString());
                            return coll;
                        }
                );
                parent.setStyleSpans(matcher.start(),spans); // Reset styles
            }
        }

    }
项目:vind    文件CollectionManagementService.java   
protected List<String> listRuntimeDependencies(String collectionName) throws IOException,SolrserverException {
    ModifiableSolrParams params = new ModifiableSolrParams().set("file",RUNTIME_LIB_FILE_NAME);
    SolrRequest request = new QueryRequest(params);
    request.setPath("/admin/file");
    request.setResponseParser(new InputStreamResponseParser("json"));

    NamedList o = client.request(request,collectionName);

    LineIterator it = IoUtils.lineIterator((InputStream) o.get("stream"),"utf-8");

    List<String> returnValues = Streams.stream(it).collect(Collectors.toList());

    //if file not exists (a little hacky..)
    if(returnValues.size() == 1 && returnValues.get(0).startsWith("{\"responseHeader\":{\"status\":404")) {
        logger.warn("Release does not yet contain rumtimelib configuration file. Runtimelibs have to be installed manually.");
        return Collections.emptyList();
    };
    return returnValues;
}
项目:buckaroo    文件BuckarooConfigDeserializer.java   
@Override
public BuckarooConfig deserialize(final JsonElement jsonElement,final Type type,final JsonDeserializationContext context) throws JsonParseException {

    Preconditions.checkNotNull(jsonElement);
    Preconditions.checkNotNull(type);
    Preconditions.checkNotNull(context);

    final JsonObject jsonObject = jsonElement.getAsJsonObject();

    final JsonArray cookBooksElement = jsonObject.getAsJsonArray("cookbooks");

    final ImmutableList<RemoteCookbook> cookBooks = ImmutableList.copyOf(
        Streams.stream(cookBooksElement == null ? ImmutableList.of() : cookBooksElement)
            .map(x -> (RemoteCookbook) context.deserialize(x,RemoteCookbook.class))
            .collect(Collectors.toList()));

    final Optional<URL> analyticsServer = jsonObject.has("analytics") ?
        Optional.of(context.deserialize(jsonObject.get("analytics"),URL.class)) :
        Optional.empty();

    return BuckarooConfig.of(cookBooks,analyticsServer);
}
项目:buckaroo    文件RecipeSources.java   
public static Process<Event,RecipeIdentifier> selectDependency(final RecipeSource source,final PartialDependency dependency) {
    if (dependency.organization.isPresent()) {
        return Process.of(
            Single.just(RecipeIdentifier.of(dependency.source,dependency.organization.get(),dependency.project))
        );
    }
    final ImmutableList<RecipeIdentifier> candidates = Streams.stream(source
        .findCandidates(dependency))
        .limit(5)
        .collect(toImmutableList());

    if (candidates.size() == 0) {
        return Process.error(
            PartialDependencyResolutionException.of(candidates,dependency));
    }

    if (candidates.size() > 1) {
        return Process.error(PartialDependencyResolutionException.of(candidates,dependency));
    }

    return Process.of(
        Observable.just(
            Notification.of("Resolved partial dependency " + dependency.encode() + " to " + candidates.get(0).encode())),Single.just(candidates.get(0)));
}
项目:imageio-jnr    文件TurboJpegImageWriterTest.java   
@Test
public void testEncode() throws IOException {
  ImageWriter writer = Streams.stream(ImageIO.getimageWritersByFormatName("jpeg"))
      .filter(TurboJpegImageWriter.class::isinstance)
      .findFirst().get();
  ImageWriteParam param = writer.getDefaultWriteparam();
  param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
  param.setCompressionQuality(0.85f);
  BufferedImage in = ImageIO.read(ClassLoader.getSystemResource("crop_aligned.jpg"));
  ByteArrayOutputStream os = new ByteArrayOutputStream();
  try (ImageOutputStream ios = ImageIO.createImageOutputStream(os)) {
    writer.setoutput(ios);
    writer.write(null,new IIOImage(in,null,null),param);
  }
  os.flush();
  assertthat(os.toByteArray()).isNotEmpty();
}
项目:imageio-jnr    文件TurboJpegImageWriterTest.java   
@Test
public void testCanReuseWriter() throws IOException {
  ImageWriter writer = Streams.stream(ImageIO.getimageWritersByFormatName("jpeg"))
      .filter(TurboJpegImageWriter.class::isinstance)
      .findFirst().get();

  BufferedImage in = ImageIO.read(ClassLoader.getSystemResource("rgb.jpg"));
  ByteArrayOutputStream rgb = new ByteArrayOutputStream();
  try (ImageOutputStream ios = ImageIO.createImageOutputStream(rgb)) {
    writer.setoutput(ios);
    writer.write(null,null);
  }
  rgb.flush();

  in = ImageIO.read(ClassLoader.getSystemResource("crop_aligned.jpg"));
  ByteArrayOutputStream bw = new ByteArrayOutputStream();
  try (ImageOutputStream ios = ImageIO.createImageOutputStream(bw)) {
    writer.setoutput(ios);
    writer.write(null,null);
  }
  bw.flush();

  assertthat(rgb.toByteArray()).isNotEqualTo(bw.toByteArray());
}
项目:iiif-server-hymir    文件ImageServiceImpl.java   
/** Try to obtain a {@link ImageReader} for a given identifier **/
private ImageReader getReader(String identifier) throws ResourceNotFoundException,UnsupportedFormatException,IOException {
  if (imageSecurityService != null && !imageSecurityService.isAccessAllowed(identifier)) {
    throw new ResourceNotFoundException();
  }
  Resource res = null;
  try {
    res = resourceService.get(identifier,ResourcePersistenceType.RESOLVED,MimeType.MIME_IMAGE);
  } catch (ResourceIOException e) {
    throw new ResourceNotFoundException();
  }
  ImageInputStream iis = ImageIO.createImageInputStream(resourceService.getInputStream(res));
  ImageReader reader = Streams.stream(ImageIO.getimageReaders(iis))
          .findFirst()
          .orElseThrow(() -> new UnsupportedFormatException());
  reader.setInput(iis);
  return reader;
}
项目:iiif-server-hymir    文件ImageServiceImpl.java   
@Override
public void processImage(String identifier,ImageApiSelector selector,OutputStream os)
        throws InvalidParametersException,UnsupportedOperationException,ResourceNotFoundException,IOException {
  DecodedImage img;
  try {
    img = readImage(identifier,selector);
  } catch (IllegalArgumentException e) {
    throw new InvalidParametersException();
  }
  BufferedImage outImg = transformImage(img.img,img.targetSize,img.rotation,selector.getRotation().isMirror(),selector.getQuality());

  ImageWriter writer = Streams.stream(ImageIO.getimageWriters(new Imagetypespecifier(outImg),selector.getFormat().name()))
          .findFirst()
          .orElseThrow(() -> new UnsupportedFormatException());
  ImageOutputStream ios = ImageIO.createImageOutputStream(os);
  writer.setoutput(ios);
  writer.write(null,new IIOImage(outImg,null);
  writer.dispose();
  ios.flush();
}
项目:fili    文件PreResponseDeserializer.java   
/**
 * Generates ZonedSchema object from given JsonNode.
 *
 * @param schemaNode  JsonNode which contains all the columns,timezone and granularity
 *
 * @return ResultSetSchema object generated from the JsonNode
 */
private ResultSetSchema getResultSetSchema(JsonNode schemaNode) {
    DateTimeZone timezone = generateTimezone(
            schemaNode.get(SCHEMA_TIMEZONE).asText(),DateTimeZone.forID(
                    SYstem_CONfig.getStringProperty(SYstem_CONfig.getPackageVariableName("timezone"),"UTC")
            )
    );

    //Recreate ResultSetSchema
    LinkedHashSet<Column> columns = Stream.concat(
            Streams.stream(schemaNode.get(SCHEMA_DIM_COLUMNS))
                    .map(JsonNode::asText)
                    .map(this::resolveDimensionName)
                    .map(DimensionColumn::new),Streams.stream(() -> schemaNode.get(SCHEMA_METRIC_COLUMNS_TYPE).fields())
                    .map(entry -> new MetricColumnWithValueType(entry.getKey(),entry.getValue().asText()))
    ).collect(Collectors.toCollection(LinkedHashSet::new));

    return new ResultSetSchema(generateGranularity(schemaNode.get(SCHEMA_GRANULARITY).asText(),timezone),columns);
}
项目:nomulus    文件RdapJsonFormatter.java   
/**
 * Creates a string array of status values.
 *
 * <p>The spec indicates that OK should be listed as "active". We use the "removed" status to
 * indicate deleted objects.
 */
private static ImmutableList<String> makeStatusValueList(
    ImmutableSet<StatusValue> statusValues,boolean isDeleted) {
  Stream<RdapStatus> stream =
      statusValues
          .stream()
          .map(status -> statusToRdapStatusMap.getorDefault(status,RdapStatus.OBSCURED));
  if (isDeleted) {
    stream =
        Streams.concat(
            stream.filter(rdapStatus -> !Objects.equals(rdapStatus,RdapStatus.ACTIVE)),Stream.of(RdapStatus.REMOVED));
  }
  return stream
      .map(RdapStatus::getdisplayName)
      .collect(toImmutableSortedSet(Ordering.natural()))
      .asList();
}
项目:nomulus    文件ExportCommitLogDiffAction.java   
/**
 * Loads all the diff keys,sorted in a transaction-consistent chronological order.
 *
 * @param lowerCheckpoint exclusive lower bound on keys in this diff,or null if no lower bound
 * @param upperCheckpoint inclusive upper bound on keys in this diff
 */
private ImmutableList<Key<CommitLogManifest>> loadAllDiffKeys(
    @Nullable final CommitLogCheckpoint lowerCheckpoint,final CommitLogCheckpoint upperCheckpoint) {
  // Fetch the keys (no data) between these checkpoints,and sort by timestamp. This ordering is
  // transaction-consistent by virtue of our checkpoint strategy and our customized Ofy; see
  // CommitLogCheckpointStrategy for the proof. We break ties by sorting on bucket ID to ensure
  // a deterministic order.
  return upperCheckpoint
      .getBucketTimestamps()
      .keySet()
      .stream()
      .flatMap(
          bucketNum ->
              Streams.stream(loadDiffKeysFromBucket(lowerCheckpoint,upperCheckpoint,bucketNum)))
      .sorted(
          comparingLong(Key<CommitLogManifest>::getId)
              .thenComparingLong(a -> a.getParent().getId()))
      .collect(toImmutableList());
}
项目:nomulus    文件VerifyOteCommand.java   
/**
 * Returns the names of all active registrars.  Finds registrar accounts with clientIds matching
 * the format used for OT&E accounts (regname-1,regname-2,etc.) and returns just the common
 * prefixes of those accounts (in this case,regname).
 */
private ImmutableSet<String> getAllRegistrarNames() {
  return Streams.stream(Registrar.loadAll())
      .map(
          registrar -> {
            if (!registrar.isLive()) {
              return null;
            }
            String name = registrar.getClientId();
            // Look for names of the form "regname-1","regname-2",etc. and strip the -# suffix.
            String replacedname = name.replaceFirst("^(.*)-[1234]$","$1");
            // Check if any replacement happened,and thus whether the name matches the format.
            // If it matches,provide the shortened name,and otherwise return null.
            return name.equals(replacedname) ? null : replacedname;
          })
      .filter(Objects::nonNull)
      .collect(toImmutableSet());
}
项目:nomulus    文件CreateRegistrarCommand.java   
@Nullable
@Override
Registrar getoldRegistrar(final String clientId) {
  checkArgument(clientId.length() >= 3,"Client identifier (%s) is too short",clientId);
  checkArgument(clientId.length() <= 16,"Client identifier (%s) is too long",clientId);
  if (Registrar.Type.REAL.equals(registrarType)) {
    checkArgument(
        clientId.equals(normalizeClientId(clientId)),"Client identifier (%s) can only contain lowercase letters,numbers,and hyphens",clientId);
  }
  checkState(
      !Registrar.loadByClientId(clientId).isPresent(),"Registrar %s already exists",clientId);
  List<Registrar> collisions =
      Streams.stream(Registrar.loadAll())
          .filter(registrar -> normalizeClientId(registrar.getClientId()).equals(clientId))
          .collect(toCollection(ArrayList::new));
  if (!collisions.isEmpty()) {
    throw new IllegalArgumentException(String.format(
        "The registrar client identifier %s normalizes identically to existing registrar %s",clientId,collisions.get(0).getClientId()));
  }
  return null;
}
项目:nomulus    文件KillAllCommitLogsAction.java   
@Override
public void run() {
  checkArgument( // safety
      RegistryEnvironment.get() == RegistryEnvironment.CRASH
          || RegistryEnvironment.get() == RegistryEnvironment.UNITTEST,"DO NOT RUN ANYWHERE ELSE EXCEPT CRASH OR TESTS.");
  // Create a in-memory input,assigning each bucket to its own shard for maximum parallelization,// with one extra shard for the CommitLogCheckpointRoot.
  Input<Key<?>> input =
      new InMemoryInput<>(
          Lists.partition(
              Streams.concat(
                      Stream.of(CommitLogCheckpointRoot.getKey()),CommitLogBucket.getAllBucketKeys().stream())
                  .collect(toImmutableList()),1));
  response.sendJavaScriptRedirect(createJobPath(mrRunner
      .setJobName("Delete all commit logs")
      .setModuleName("tools")
      .runMapreduce(
          new KillAllCommitLogsMapper(),new KillAllEntitiesReducer(),ImmutableList.of(input))));
}
项目:nomulus    文件ListObjectsAction.java   
/**
 * Returns the set of fields to return,aliased or not according to --full_field_names,and
 * with duplicates eliminated but the ordering otherwise preserved.
 */
private ImmutableSet<String> getFieldsToUse(ImmutableSet<T> objects) {
  // Get the list of fields from the received parameter.
  List<String> fieldsToUse;
  if ((fields == null) || !fields.isPresent()) {
    fieldsToUse = new ArrayList<>();
  } else {
    fieldsToUse = Splitter.on(',').splitToList(fields.get());
    // Check whether any field name is the wildcard; if so,use all fields.
    if (fieldsToUse.contains("*")) {
      fieldsToUse = getAllAvailableFields(objects);
    }
  }
  // Handle aliases according to the state of the fullFieldNames parameter.
  final ImmutableMap<String,String> nameMapping =
      ((fullFieldNames != null) && fullFieldNames.isPresent() && fullFieldNames.get())
          ? getFieldaliases() : getFieldaliases().inverse();
  return Streams.concat(getPrimaryKeyFields().stream(),fieldsToUse.stream())
      .map(field -> nameMapping.getorDefault(field,field))
      .collect(toImmutableSet());
}
项目:nomulus    文件DomainResourceTest.java   
@Test
public void testGracePeriodsByType() {
  ImmutableSet<GracePeriod> addGracePeriods = ImmutableSet.of(
      GracePeriod.create(GracePeriodStatus.ADD,clock.NowUtc().plusDays(3),"foo",GracePeriod.create(GracePeriodStatus.ADD,clock.NowUtc().plusDays(1),"baz",null));
  ImmutableSet<GracePeriod> renewGracePeriods = ImmutableSet.of(
      GracePeriod.create(GracePeriodStatus.RENEW,GracePeriod.create(GracePeriodStatus.RENEW,null));
  domain =
      domain
          .asBuilder()
          .setGracePeriods(
              Streams.concat(addGracePeriods.stream(),renewGracePeriods.stream())
                  .collect(toImmutableSet()))
          .build();
  assertthat(domain.getGracePeriodsOfType(GracePeriodStatus.ADD)).isEqualTo(addGracePeriods);
  assertthat(domain.getGracePeriodsOfType(GracePeriodStatus.RENEW)).isEqualTo(renewGracePeriods);
  assertthat(domain.getGracePeriodsOfType(GracePeriodStatus.TRANSFER)).isEmpty();
}
项目:nomulus    文件ResourceFlowTestCase.java   
/**
 * Confirms that an EppResourceIndex entity exists in Datastore for a given resource.
 */
protected static <T extends EppResource> void assertEppResourceIndexEntityFor(final T resource) {
  ImmutableList<EppResourceIndex> indices =
      Streams.stream(
              ofy()
                  .load()
                  .type(EppResourceIndex.class)
                  .filter("kind",Key.getKind(resource.getClass())))
          .filter(
              index ->
                  Key.create(resource).equals(index.getKey())
                      && ofy().load().key(index.getKey()).Now().equals(resource))
          .collect(toImmutableList());
  assertthat(indices).hasSize(1);
  assertthat(indices.get(0).getBucket())
      .isEqualTo(EppResourceIndexBucket.getBucketKey(Key.create(resource)));
}
项目:nomulus    文件DomainTransferApproveFlowTest.java   
private void assertHistoryEntriesDoNotContainTransferBillingEventsOrGracePeriods(
    BillingEvent.Cancellation.Builder... expectedCancellationBillingEvents) throws Exception {
  domain = reloadResourceByForeignKey();
  final HistoryEntry historyEntryTransferApproved =
      getonlyHistoryEntryOfType(domain,DOMAIN_TRANSFER_APPROVE);
  // We expect two billing events: a closed autorenew for the losing client and an open autorenew
  // for the gaining client that begins at the new expiration time.
  assertBillingEventsForResource(
      domain,Streams.concat(
              Arrays.stream(expectedCancellationBillingEvents)
                  .map(builder -> builder.setParent(historyEntryTransferApproved).build()),Stream.of(
                  getLosingClientAutorenewEvent()
                      .asBuilder()
                      .setRecurrenceEndTime(clock.NowUtc())
                      .build(),getGainingClientAutorenewEvent()
                      .asBuilder()
                      .setEventTime(domain.getRegistrationExpirationTime())
                      .setParent(historyEntryTransferApproved)
                      .build()))
          .toArray(BillingEvent[]::new));
  // There should be no grace period.
  assertGracePeriods(domain.getGracePeriods(),ImmutableMap.of());
}
项目:armeria    文件DefaultClientFactory.java   
DefaultClientFactory(HttpClientFactory httpClientFactory) {
    this.httpClientFactory = httpClientFactory;

    final List<ClientFactory> availableClientFactories = new ArrayList<>();
    availableClientFactories.add(httpClientFactory);

    Streams.stream(ServiceLoader.load(ClientFactoryProvider.class,DefaultClientFactory.class.getClassLoader()))
           .map(provider -> provider.newFactory(httpClientFactory))
           .forEach(availableClientFactories::add);

    final ImmutableMap.Builder<Scheme,ClientFactory> builder = ImmutableMap.builder();
    for (ClientFactory f : availableClientFactories) {
        f.supportedSchemes().forEach(s -> builder.put(s,f));
    }

    clientFactories = builder.build();
    clientFactoriesToClose = ImmutableList.copyOf(availableClientFactories).reverse();
}
项目:armeria    文件ServiceInfo.java   
/**
 * Creates a new instance.
 */
public ServiceInfo(String name,Iterable<MethodInfo> methods,Iterable<HttpHeaders> exampleHttpHeaders,@Nullable String docString) {

    this.name = requireNonNull(name,"name");

    requireNonNull(methods,"methods");

    this.methods = ImmutableSortedSet.copyOf(comparing(MethodInfo::name),methods);
    this.exampleHttpHeaders = Streams.stream(requireNonNull(exampleHttpHeaders,"exampleHttpHeaders"))
                                     .map(HttpHeaders::copyOf)
                                     .map(HttpHeaders::asImmutable)
                                     .collect(toImmutableList());
    this.docString = Strings.emptyToNull(docString);
}
项目:armeria    文件ServiceSpecification.java   
/**
 * Generates a new {@link ServiceSpecification} from the specified {@link ServiceInfo}s and
 * the factory {@link Function} that creates {@link NamedTypeInfo}s for the enum,struct or exception types
 * referred by the specified {@link ServiceInfo}s.
 */
public static ServiceSpecification generate(
        Iterable<ServiceInfo> services,Function<TypeSignature,? extends NamedTypeInfo> namedTypeInfoFactory) {

    // Collect all named types referred by the services.
    final Set<TypeSignature> namedTypes =
            Streams.stream(services)
                   .flatMap(s -> s.findNamedTypes().stream())
                   .collect(toImmutableSortedSet(comparing(TypeSignature::name)));

    final Map<String,EnumInfo> enums = new HashMap<>();
    final Map<String,StructInfo> structs = new HashMap<>();
    final Map<String,ExceptionInfo> exceptions = new HashMap<>();

    generateNamedTypeInfos(namedTypeInfoFactory,enums,structs,exceptions,namedTypes);

    return new ServiceSpecification(services,enums.values(),structs.values(),exceptions.values());
}
项目:armeria    文件ServiceSpecification.java   
/**
 * Creates a new instance.
 */
public ServiceSpecification(Iterable<ServiceInfo> services,Iterable<EnumInfo> enums,Iterable<StructInfo> structs,Iterable<ExceptionInfo> exceptions,Iterable<HttpHeaders> exampleHttpHeaders) {

    this.services = Streams.stream(requireNonNull(services,"services"))
                           .collect(toImmutableSortedSet(comparing(ServiceInfo::name)));
    this.enums = collectNamedTypeInfo(enums,"enums");
    this.structs = collectNamedTypeInfo(structs,"structs");
    this.exceptions = collectNamedTypeInfo(exceptions,"exceptions");
    this.exampleHttpHeaders = Streams.stream(requireNonNull(exampleHttpHeaders,"exampleHttpHeaders"))
                                     .map(headers -> HttpHeaders.copyOf(headers).asImmutable())
                                     .collect(toImmutableList());
}
项目:gerrit    文件ChangeNotes.java   
private Stream<ChangeNotesResult> scanReviewDb(Repository repo,ReviewDb db)
    throws IOException {
  // Scan IDs that might exist in ReviewDb,assuming that each change has at least one patch set
  // ref. Not all changes might exist: some patch set refs might have been written where the
  // corresponding ReviewDb write Failed. These will be silently filtered out by the batch get
  // call below,which is intended.
  Set<Change.Id> ids = scanChangeIds(repo).fromPatchSetRefs();

  // A batch size of N may overload get(Iterable),so use something smaller,but still >1.
  return Streams.stream(Iterators.partition(ids.iterator(),30))
      .flatMap(
          batch -> {
            try {
              return Streams.stream(ReviewDbUtil.unwrapDb(db).changes().get(batch))
                  .map(this::toResult)
                  .filter(Objects::nonNull);
            } catch (OrmException e) {
              // Return this error for each Id in the input batch.
              return batch.stream().map(id -> ChangeNotesResult.error(id,e));
            }
          });
}
项目:gerrit    文件UiActions.java   
public <R extends RestResource> Iterable<UiAction.Description> from(
    DynamicMap<RestView<R>> views,R resource) {
  List<UiAction.Description> descs =
      Streams.stream(views)
          .map(e -> describe(e,resource))
          .filter(Objects::nonNull)
          .collect(toList());

  List<PermissionBackendCondition> conds =
      Streams.concat(
              descs.stream().flatMap(u -> Streams.stream(visibleCondition(u))),descs.stream().flatMap(u -> Streams.stream(enabledCondition(u))))
          .collect(toList());
  permissionBackend.bulkEvaluateTest(conds);

  return descs.stream().filter(u -> u.isVisible()).collect(toList());
}
项目:gerrit    文件GroupIncludeCacheImpl.java   
@Override
public ImmutableSet<AccountGroup.UUID> load(Account.Id memberId) throws OrmException {
  GroupIndex groupIndex = groupIndexProvider.get();
  if (groupIndex != null && groupIndex.getSchema().hasField(GroupField.MEMBER)) {
    return groupQueryProvider
        .get()
        .byMember(memberId)
        .stream()
        .map(InternalGroup::getGroupUUID)
        .collect(toImmutableSet());
  }
  try (ReviewDb db = schema.open()) {
    return Groups.getGroupsWithMemberFromreviewDb(db,memberId)
        .map(groupCache::get)
        .flatMap(Streams::stream)
        .map(InternalGroup::getGroupUUID)
        .collect(toImmutableSet());
  }
}
项目:gerrit    文件GroupIncludeCacheImpl.java   
@Override
public ImmutableList<AccountGroup.UUID> load(AccountGroup.UUID key) throws OrmException {
  if (groupIndexProvider.get().getSchema().hasField(GroupField.SUBGROUP)) {
    return groupQueryProvider
        .get()
        .bySubgroup(key)
        .stream()
        .map(InternalGroup::getGroupUUID)
        .collect(toImmutableList());
  }
  try (ReviewDb db = schema.open()) {
    return Groups.getParentGroupsFromreviewDb(db,key)
        .map(groupCache::get)
        .flatMap(Streams::stream)
        .map(InternalGroup::getGroupUUID)
        .collect(toImmutableList());
  }
}
项目:gerrit    文件ListPlugins.java   
@Override
public SortedMap<String,PluginInfo> apply(TopLevelResource resource) throws BadRequestException {
  Stream<Plugin> s = Streams.stream(pluginLoader.getPlugins(all));
  if (matchPrefix != null) {
    checkMatchOptions(matchSubstring == null && matchRegex == null);
    s = s.filter(p -> p.getName().startsWith(matchPrefix));
  } else if (matchSubstring != null) {
    checkMatchOptions(matchPrefix == null && matchRegex == null);
    String substring = matchSubstring.toLowerCase(Locale.US);
    s = s.filter(p -> p.getName().toLowerCase(Locale.US).contains(substring));
  } else if (matchRegex != null) {
    checkMatchOptions(matchPrefix == null && matchSubstring == null);
    Pattern pattern = Pattern.compile(matchRegex);
    s = s.filter(p -> pattern.matcher(p.getName()).matches());
  }
  s = s.sorted(comparing(Plugin::getName));
  if (start > 0) {
    s = s.skip(start);
  }
  if (limit > 0) {
    s = s.limit(limit);
  }
  return new TreeMap<>(s.collect(Collectors.toMap(p -> p.getName(),p -> toPluginInfo(p))));
}
项目:gerrit    文件AbstractElasticIndex.java   
private String todoc(V v) throws IOException {
  XContentBuilder builder = jsonBuilder().startObject();
  for (Values<V> values : schema.buildFields(v)) {
    String name = values.getField().getName();
    if (values.getField().isRepeatable()) {
      builder.field(
          name,Streams.stream(values.getValues()).filter(e -> shouldAddElement(e)).collect(toList()));
    } else {
      Object element = Iterables.getonlyElement(values.getValues(),"");
      if (shouldAddElement(element)) {
        builder.field(name,element);
      }
    }
  }
  return builder.endobject().string();
}
项目:tomcat-runtime    文件DatastoreStore.java   
/**
 * Remove expired sessions from the datastore.
 */
@Override
public void processExpires() {
  log.debug("Processing expired sessions");

  Query<Key> query = Query.newKeyQueryBuilder().setKind(sessionKind)
      .setFilter(PropertyFilter.le(SessionMetadata.EXPIRATION_TIME,clock.millis()))
      .build();

  QueryResults<Key> keys = datastore.run(query);

  Stream<Key> toDelete = Streams.stream(keys)
      .parallel()
      .flatMap(key -> Streams.stream(datastore.run(Query.newKeyQueryBuilder()
              .setKind(sessionKind)
              .setFilter(PropertyFilter.hasAncestor(newKey(key.getName())))
              .build())));
  datastore.delete(toDelete.toArray(Key[]::new));
}
项目:CooperateModelingEnvironment    文件CooperateImportednamespaceAwareLocalScopeProvider.java   
@Override
protected ISelectable internalGetAllDescriptions(Resource resource) {
    Iterable<EObject> allContents = new Iterable<EObject>() {
        @Override
        public Iterator<EObject> iterator() {
            return EcoreUtil.getAllContents(resource,false);
        }
    };
    Iterable<IEObjectDescription> allDescriptions = Scopes.scopedElementsFor(allContents,this.getQualifiednameProvider());

    Iterable<IEObjectDescription> allAliasedDescriptions = new Iterable<IEObjectDescription>() {
        @Override
        public Iterator<IEObjectDescription> iterator() {
            return Streams.stream(allDescriptions)
                    .map(CooperateImportednamespaceAwareLocalScopeProvider::createaliasedDescription).iterator();
        }
    };

    return new MultimapBasedSelectable(allAliasedDescriptions);
}
项目:error-prone    文件WakelockReleasedDangerously.java   
/** Return whether the given try-tree will catch the given exception type. */
private boolean tryCatchesException(TryTree tryTree,Type exceptionToCatch,VisitorState state) {
  Types types = state.getTypes();
  return tryTree
      .getCatches()
      .stream()
      .anyMatch(
          (CatchTree catchClause) -> {
            Type catchesException = getType(catchClause.getParameter().getType());
            // examine all alternative types of a union type.
            if (catchesException != null && catchesException.isUnion()) {
              return Streams.stream(((UnionClasstype) catchesException).getAlternativeTypes())
                  .anyMatch(caught -> types.isSuperType(caught,exceptionToCatch));
            }
            // Simple type,just check superclass.
            return types.isSuperType(catchesException,exceptionToCatch);
          });
}
项目:error-prone    文件ThreadSafety.java   
/**
 * Check that the super-type of a {@code @ThreadSafe}-annotated type is instantiated with
 * threadsafe type arguments where required by its annotation's containerOf element,and that any
 * type arguments that correspond to containerOf type parameters on the sub-type are also in the
 * super-type's containerOf spec.
 *
 * @param containerTypeParameters the in-scope threadsafe type parameters,declared on some
 *     enclosing class.
 * @param annotation the type's {@code @ThreadSafe} info
 * @param type the type to check
 */
public Violation checkSuperInstantiation(
    Set<String> containerTypeParameters,AnnotationInfo annotation,Type type) {
  Violation info = threadSafeInstantiation(containerTypeParameters,annotation,type);
  if (info.isPresent()) {
    return info;
  }
  return Streams.zip(
          type.asElement().getTypeParameters().stream(),type.getTypeArguments().stream(),(typaram,argument) -> {
            if (containerOfSubtyping(containerTypeParameters,typaram,argument)) {
              return Violation.of(
                  String.format(
                      "'%s' is not a container of '%s'",annotation.typeName(),typaram));
            }
            return Violation.absent();
          })
      .filter(Violation::isPresent)
      .findFirst()
      .orElse(Violation.absent());
}
项目:error-prone    文件ThreadSafety.java   
/** Checks that any thread-safe type parameters are instantiated with thread-safe types. */
public Violation checkInstantiation(
    Collection<TypeVariableSymbol> typeParameters,Collection<Type> typeArguments) {
  return Streams.zip(
          typeParameters.stream(),typeArguments.stream(),(sym,type) -> {
            if (!isThreadSafeTypeParameter(sym)) {
              return Violation.absent();
            }
            Violation info =
                isThreadSafeType(
                    /* allowContainerTypeParameters= */ true,/* containerTypeParameters= */ ImmutableSet.of(),type);
            if (!info.isPresent()) {
              return Violation.absent();
            }
            return info.plus(String.format("instantiation of '%s' is mutable",sym));
          })
      .filter(Violation::isPresent)
      .findFirst()
      .orElse(Violation.absent());
}
项目:error-prone    文件FutureReturnValueIgnored.java   
private static Multimap<TypeVariableSymbol,TypeInfo> getResolvedGenerics(
    MethodInvocationTree tree) {
  Type type = ASTHelpers.getType(tree.getmethodSelect());
  List<Type> from = new ArrayList<>();
  List<Type> to = new ArrayList<>();
  getSubst(type,from,to);
  Multimap<TypeVariableSymbol,TypeInfo> result =
      Streams.zip(
              from.stream(),to.stream(),(f,t) -> new TypeInfo((TypeVariableSymbol) f.asElement(),t,tree))
          .collect(
              toMultimap(
                  k -> k.sym,k -> k,MultimapBuilder.linkedHashKeys().arrayListValues()::build));
  return result;
}
项目:error-prone    文件NameInCommentHeuristicTest.java   
@Override
public Description matchMethodInvocation(MethodInvocationTree tree,VisitorState state) {
  ImmutableList<Parameter> formal =
      Parameter.createListFromVarSymbols(ASTHelpers.getSymbol(tree).getParameters());
  Stream<Parameter> actual =
      Parameter.createListFromExpressionTrees(tree.getArguments()).stream();

  Changes changes =
      Changes.create(
          formal.stream().map(f -> 1.0).collect(toImmutableList()),formal.stream().map(f -> 0.0).collect(toImmutableList()),Streams.zip(formal.stream(),actual,ParameterPair::create)
              .collect(toImmutableList()));

  boolean result =
      !new NameInCommentHeuristic()
          .isAcceptableChange(changes,tree,ASTHelpers.getSymbol(tree),state);
  return buildDescription(tree).setMessage(String.valueOf(result)).build();
}
项目:error-prone    文件CreatesDuplicateCallHeuristicTest.java   
@Override
public Description matchMethodInvocation(MethodInvocationTree tree,ParameterPair::create)
              .collect(toImmutableList()));

  boolean result =
      !new CreatesDuplicateCallHeuristic()
          .isAcceptableChange(changes,state);
  return buildDescription(tree).setMessage(String.valueOf(result)).build();
}
项目:bazel    文件DeployArchiveBuilder.java   
private static nestedSet<Artifact> getArchiveInputs(
    JavaTargetAttributes attributes,@Nullable Function<Artifact,Artifact> derivedJarFunction) {
  nestedSetBuilder<Artifact> inputs = nestedSetBuilder.stableOrder();
  if (derivedJarFunction != null) {
    inputs.addAll(
        Streams.stream(attributes.getRuntimeClasspathForArchive())
            .map(derivedJarFunction)
            .collect(toImmutableList()));
  } else {
    attributes.addRuntimeClasspathForArchivetonestedSet(inputs);
  }
  // Todo(bazel-team): Remove?  Resources not used as input to singlejar action
  inputs.addAll(attributes.getResources().values());
  inputs.addAll(attributes.getClassPathResources());
  return inputs.build();
}
项目:bazel    文件MultiArchBinarySupport.java   
private static Iterable<ObjcProvider> getDylibObjcProviders(
    Iterable<TransitiveInfoCollection> transitiveInfoCollections) {
  // Dylibs.
  Iterable<ObjcProvider> frameworkObjcProviders =
      Streams.stream(getTypedProviders(transitiveInfoCollections,AppleDynamicFrameworkInfo.SKYLARK_CONSTRUCTOR))
      .map(frameworkProvider -> frameworkProvider.getDepsObjcProvider())
      .collect(ImmutableList.toImmutableList());
  // Bundle Loaders.
  Iterable<ObjcProvider> executableObjcProviders =
      Streams.stream(getTypedProviders(transitiveInfoCollections,AppleExecutableBinaryInfo.SKYLARK_CONSTRUCTOR))
      .map(frameworkProvider -> frameworkProvider.getDepsObjcProvider())
      .collect(ImmutableList.toImmutableList());

  return Iterables.concat(frameworkObjcProviders,executableObjcProviders,getTypedProviders(transitiveInfoCollections,ObjcProvider.SKYLARK_CONSTRUCTOR));
}
项目:bazel    文件PlatformInfo.java   
public static ImmutableList<ConstraintValueInfo> validateConstraints(
    Iterable<ConstraintValueInfo> constraintValues) throws DuplicateConstraintException {

  // Collect the constraints by the settings.
  ImmutableListMultimap<ConstraintSettingInfo,ConstraintValueInfo> constraints =
      Streams.stream(constraintValues)
          .collect(
              toImmutableListMultimap(ConstraintValueInfo::constraint,Functions.identity()));

  // Find settings with duplicate values.
  ImmutableListMultimap<ConstraintSettingInfo,ConstraintValueInfo> duplicates =
      constraints
          .asMap()
          .entrySet()
          .stream()
          .filter(e -> e.getValue().size() > 1)
          .collect(
              flatteningToImmutableListMultimap(Map.Entry::getKey,e -> e.getValue().stream()));

  if (!duplicates.isEmpty()) {
    throw new DuplicateConstraintException(duplicates);
  }
  return ImmutableList.copyOf(constraints.values());
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。