cyclops.reactive.ReactiveSeq.filter()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.4k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中cyclops.reactive.ReactiveSeq.filter方法的一些代码示例,展示了ReactiveSeq.filter的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReactiveSeq.filter方法的具体详情如下:
包路径:cyclops.reactive.ReactiveSeq
类名称:ReactiveSeq
方法名:filter

ReactiveSeq.filter介绍

暂无

代码示例

代码示例来源:origin: aol/micro-server

public ReactiveSeq<Tuple2<String,String>> extractResources() {
  return resources.stream().peek(resource -> logMissingPath(resource))
              .filter(resource-> resource.getClass().getAnnotation(Path.class)!=null)
              .map(resource -> Tuple.tuple(resource.getClass().getName(),
                  resource.getClass().getAnnotation(Path.class).value()));
}

代码示例来源:origin: aol/micro-server

public SpringContextFactory(SpringBuilder builder, Config config, Class<?> c, Set<Class<?>> classes) {
  PersistentSet<Class> s = config.getClasses();
  for(Class next : classes){
    s = s.plus(next);
  }
  s = s.plus(c);
  Microserver microserver = c.getAnnotation(Microserver.class);
  final PersistentSet<Class> immutableS = s;
  s = Optional.ofNullable(microserver)
        .flatMap(ms -> Optional.ofNullable(ms.blacklistedClasses()))
        .map(bl -> {
          Set<Class> blacklistedClasses = Arrays.stream(bl)
                             .collect(Collectors.toSet());
          PersistentSet<Class> rs = immutableS.stream()
                   .filter(clazz -> !blacklistedClasses.contains(clazz))
                    .hashSet();
          return rs;
        })
        .orElse(immutableS);
  this.classes = s;
  this.config = config;
  springBuilder = builder;
}

代码示例来源:origin: aol/micro-server

default Map<String, Filter> getFilters(ServerData data) {
  Map<String, Filter> map = new HashMap<>();
  ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                            .stream())
        .filter(module -> module.filters() != null)
        .map(module -> module.filters()
                  .apply(data))
        .forEach(pluginMap -> map.putAll(pluginMap));
  return MapX.fromMap(map);
}

代码示例来源:origin: aol/micro-server

default List<String> getDefaultJaxRsPackages() {
  return PluginLoader.INSTANCE.plugins.get()
                    .stream()
                    .filter(module -> module.servletContextListeners() != null)
                    .concatMap(Plugin::jaxRsPackages)
                    .to(ListX::fromIterable);
}

代码示例来源:origin: aol/micro-server

default List<ServletRequestListener> getRequestListeners(ServerData data) {
  return PluginLoader.INSTANCE.plugins.get()
                    .stream()
                    .filter(module -> module.servletRequestListeners() != null)
                    .concatMap(Plugin::servletRequestListeners)
                    .map(fn -> fn.apply(data))
                     .to(ListX::fromIterable);
}

代码示例来源:origin: aol/micro-server

default Map<String, Servlet> getServlets(ServerData data) {
  Map<String, Servlet> map = new HashMap<>();
  ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                            .stream())
        .filter(module -> module.servlets() != null)
        .map(module -> module.servlets()
                  .apply(data))
        .forEach(pluginMap -> map.putAll(pluginMap));
  return MapX.fromMap(map);
}

代码示例来源:origin: aol/micro-server

public SpringContextFactory(Config config, Class<?> c, Set<Class<?>> classes) {
  PersistentSet<Class> s = config.getClasses()
          .plusAll(classes);
  s= s.plus(c);
  Microserver microserver = c.getAnnotation(Microserver.class);
  final PersistentSet<Class> immutableS = s;
  s = Optional.ofNullable(microserver)
        .flatMap(ms -> Optional.ofNullable(ms.blacklistedClasses()))
        .map(bl -> {
          Set<Class> blacklistedClasses = Arrays.stream(bl)
                             .collect(Collectors.toSet());
          return (PersistentSet<Class>)immutableS.stream()
                   .filter(clazz -> !blacklistedClasses.contains(clazz)).hashSet();
        })
        .orElse(immutableS);
  this.classes = s;
  this.config = config;
  springBuilder = ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                                    .stream())
                .filter(m -> m.springBuilder() != null)
                .map(Plugin::springBuilder)
                .findFirst()
                .orElse(new SpringApplicationConfigurator());
}

代码示例来源:origin: aol/micro-server

public static Optional<RegisterEntry> toRegisterEntry(UriInfo uriInfo) {
  if (uriInfo.getQueryParameters().isEmpty()) {
    return Optional.empty();
  } else {
    MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters();
    RegisterEntry re = RegisterEntry.builder()
      .context(parameters.getFirst("context"))
      .hostname(parameters.getFirst("hostname"))
      .port(toInt(parameters.getFirst("port")))
      .target(parameters.getFirst("target"))
      .externalPort(toInt(parameters.getFirst("externalPort")))
      .module(parameters.getFirst("module"))
      .health(toHealth(parameters.getFirst("health")))
      .build();
    Map<String, String> manifest = ReactiveSeq.fromIterable(parameters.entrySet())
      .filter(e -> e.getKey().startsWith("manifest."))
      .toMap(e -> e.getKey().replace("manifest.", ""),
        e -> parameters.getFirst(e.getKey()));
    re.getManifest().clear();
    re.getManifest().putAll(manifest);
    return Optional.of(re);
  }
}

代码示例来源:origin: aol/micro-server

default String getProviders() {
  String additional = ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                                      .stream())
                  .peek(System.out::println)
                  .filter(module -> module.providers() != null)
                  .concatMap(Plugin::providers)
                  .join(",");
  if (StringUtils.isEmpty(additional))
    return "com.oath.micro.server.rest.providers";
  return "com.oath.micro.server.rest.providers," + additional;
}

代码示例来源:origin: aol/micro-server

private ReactiveSeq<SystemData<String, String>> create(DataLoader dl) {
    return ReactiveSeq.generate(() -> 1)
      .filter(in -> condition.shouldLoad())
      .map(in -> dl.scheduleAndLog())
      .peek(sd -> bus.post(sd));
  }
}

代码示例来源:origin: aol/micro-server

default List<ServletContextListener> getListeners(ServerData data) {
  List<ServletContextListener> list = new ArrayList<>();
  if (data.getRootContext() instanceof WebApplicationContext) {
    list.add(new ContextLoaderListener(
                      (WebApplicationContext) data.getRootContext()));
  }
  ListX<Plugin> modules = PluginLoader.INSTANCE.plugins.get();
  ListX<ServletContextListener> listeners = modules.stream()
                            .filter(module -> module.servletContextListeners() != null)
                            .concatMap(Plugin::servletContextListeners)
                            .map(fn -> fn.apply(data))
                            .to(ListX::fromIterable);
  return listeners.plusAll(list);
}

代码示例来源:origin: aol/micro-server

private ServerApplication createServer(Module module) {
  List<ServerApplicationFactory> applications = ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                                                   .stream())
                               .filter(m -> m.serverApplicationFactory() != null)
                               .map(Plugin::serverApplicationFactory)
                               .flatMap(Streams::optionalToStream)
                               .toList();
  if (applications.size() > 1) {
    logger.error("ERROR!  Multiple server application factories found : The solution is remove one these plugins from your classpath ",
           applications);
    System.err.println("ERROR!  Multiple server application factories found : The solution is remove one these plugins from your classpath "
        + applications);
    throw new IncorrectNumberOfServersConfiguredException(
                               "Multiple server application factories found : The solution is remove one these plugins from your classpath "
                                   + applications);
  } else if (applications.size() == 0) {
    logger.error("ERROR!  No server application factories found. If you using micro-spring-boot don't call MicroserverApp.start() method. A possible solution is add one of micro-grizzly or micro-tomcat to the classpath.");
    System.err.println("ERROR!  No server application factories found. If you using micro-spring-boot don't call MicroserverApp.start() method. A possible solution is add one of micro-grizzly or micro-tomcat to the classpath.");
    throw new IncorrectNumberOfServersConfiguredException(
                               "No server application factories found. If you using micro-spring-boot don't call MicroserverApp.start() method. A possible solution is add one of micro-grizzly or micro-tomcat to the classpath. ");
  }
  ServerApplication app = applications.get(0)
                    .createApp(module, springContext);        
  return app;
}

代码示例来源:origin: aol/micro-server

default String getJaxWsRsApplication() {
  List<String> jaxRsApplications = ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                                             .stream())
                        .filter(module -> module.jaxWsRsApplication() != null)
                        .map(Plugin::jaxWsRsApplication)
                        .flatMap(Streams::optionalToStream)
                        .toList();
  if (jaxRsApplications.size() > 1) {
    throw new IncorrectJaxRsPluginsException(
                         "ERROR!  Multiple jax-rs application plugins found,  a possible solution is to remove micro-jackson or other jax-rs application provider from your classpath. "
                             + jaxRsApplications);
  } else if (jaxRsApplications.size() == 0) {
    throw new IncorrectJaxRsPluginsException(
                         "ERROR!  No jax-rs application plugins found, a possible solution is to add micro-jackson to your classpath. ");
  }
  return jaxRsApplications.get(0);
}

代码示例来源:origin: aol/micro-server

public void schedule() {
    cleaner.forEach(cl -> {
      ReactiveSeq.generate(() -> 1)
            .filter(in -> condition.shouldClean())
            .map(i -> cl.scheduleAndLog())
            .peek(sd -> bus.post(sd))
            .schedule(cl.getCron(), executor);
    });
  }
}

代码示例来源:origin: aol/micro-server

private List<SpringDBConfig> getConfig(Config config, AnnotationConfigWebApplicationContext rootContext,
    ConfigurableListableBeanFactory beanFactory) {
  List<SpringDBConfig> result = ReactiveSeq.fromStream(PluginLoader.INSTANCE.plugins.get()
                                           .stream())
                       .filter(module -> module.springDbConfigurer() != null)
                       .map(Plugin::springDbConfigurer)
                       .flatMap(Streams::optionalToStream)
                       .toList();
  result.forEach(next -> {
    next.setBeanFactory(beanFactory);
    next.setRootContext(rootContext);
    next.setConfig(config);
  });
  return result;
}

代码示例来源:origin: aol/micro-server

@Override
public ConfigurableApplicationContext createSpringApp(Config config, Class... classes) {
  logger.debug("Configuring Spring");
  AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
  rootContext.setAllowCircularReferences(config.isAllowCircularReferences());
  rootContext.register(classes);
  rootContext.scan(config.getBasePackages());
  rootContext.refresh();
  logger.debug("Configuring Additional Spring Beans");
  ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) rootContext).getBeanFactory();
  config.getDataSources()
     .stream()
      .map(Tuple2::_1)
     .filter(it -> !new ConfigAccessor().get()
                       .getDefaultDataSourceName()
                       .equals(it))
     .forEach(name -> {
       List<SpringDBConfig> dbConfig = getConfig(config, rootContext, beanFactory);
       dbConfig.forEach(spring -> spring.createSpringApp(name));
     });
  logger.debug("Finished Configuring Spring");
  return rootContext;
}

代码示例来源:origin: aol/micro-server

@Test
public void testProviders(){
  System.out.println(ConfigurableModule.builder().build().getProviders());
  //test MyPlugin working
  
  System.out.println(new ModuleImpl().getProviders());
  String additional = ReactiveSeq
      .fromStream(
          Arrays.<Plugin>asList(new TestPlugin())
              .stream()).filter(module -> module.providers()!=null)
              .concatMap(Plugin::providers)
              .join(",");
  
  assertThat(additional, equalTo(""));
}
static class ModuleImpl  implements Module{

代码示例来源:origin: aol/micro-server

@Test
public void testProviders(){
  //test MyPlugin working
  assertThat("com.oath.micro.server.rest.providers,com.my.new.provider,com.my.new.provider2",
      equalTo(ConfigurableModule.builder().build().getProviders()));
  System.out.println(new ModuleImpl().getProviders());
  String additional = ReactiveSeq
      .fromStream(
          Arrays.asList(new MyPlugin())
              .stream()).filter(module -> module.providers()!=null)
              .concatMap(Plugin::providers)
              .join(",");
  
  assertThat(additional, equalTo("com.my.new.provider,com.my.new.provider2"));
}

代码示例来源:origin: aol/micro-server

.filter(module -> module.restServletConfiguration() != null)
.map(Plugin::restServletConfiguration)
.flatMap(Streams::optionalToStream)

代码示例来源:origin: aol/cyclops

@Override
public Tuple2<ReactiveSeq<T>, ReactiveSeq<T>> partition(final Predicate<? super T> splitter) {
  final Tuple2<ReactiveSeq<T>, ReactiveSeq<T>> Tuple2 = duplicate();
  return Tuple.tuple(
      Tuple2._1().filter(splitter), Tuple2._2().filter(splitter.negate()));
}
@Override

相关文章

微信公众号

最新文章

更多

ReactiveSeq类方法