@Override public OptionalDouble getValueFromAggregationQueryResult(Object value) { return Optional.ofNullable(value) .map(Number.class::cast) .map(Number::doubleValue) .map(OptionalDouble::of) .orElseGet(OptionalDouble::empty); }
@Override public DictParser getParser(String id, String defaultId) { return Optional.ofNullable(parserRepo.get(id)).orElseGet(() -> parserRepo.get(defaultId)); }
private static <T, S extends Publisher<T>> S readWithMessageReaders( ReactiveHttpInputMessage message, BodyExtractor.Context context, ResolvableType elementType, Function<HttpMessageReader<T>, S> readerFunction, Function<UnsupportedMediaTypeException, S> errorFunction, Supplier<S> emptySupplier) { if (VOID_TYPE.equals(elementType)) { return emptySupplier.get(); } MediaType contentType = Optional.ofNullable(message.getHeaders().getContentType()) .orElse(MediaType.APPLICATION_OCTET_STREAM); return context.messageReaders().stream() .filter(reader -> reader.canRead(elementType, contentType)) .findFirst() .map(BodyExtractors::<T>cast) .map(readerFunction) .orElseGet(() -> { List<MediaType> mediaTypes = context.messageReaders().stream() .flatMap(reader -> reader.getReadableMediaTypes().stream()) .collect(Collectors.toList()); return errorFunction.apply( new UnsupportedMediaTypeException(contentType, mediaTypes, elementType)); }); }
/** * Filter residual/external properties from jdbc module. See #1044. * @param name Property name. * @return True if this is a valid flyway property. */ static boolean isFlywayProperty(String name) { String setter = "set" + name; return Stream.of(Flyway.class.getMethods()) .filter(m -> m.getName().equalsIgnoreCase(setter)) .findFirst() .map(m -> true) .orElseGet(() -> ImmutableSet.of("driver", "url", "user", "password").contains(name)); }
/** * Get the adapter for the given reactive type. Or if a "source" object is * provided, its actual type is used instead. * @param reactiveType the reactive type * (may be {@code null} if a concrete source object is given) * @param source an instance of the reactive type * (i.e. to adapt from; may be {@code null} if the reactive type is specified) */ @Nullable public ReactiveAdapter getAdapter(@Nullable Class<?> reactiveType, @Nullable Object source) { Object sourceToUse = (source instanceof Optional ? ((Optional<?>) source).orElse(null) : source); Class<?> clazz = (sourceToUse != null ? sourceToUse.getClass() : reactiveType); if (clazz == null) { return null; } return this.adapters.stream() .filter(adapter -> adapter.getReactiveType() == clazz) .findFirst() .orElseGet(() -> this.adapters.stream() .filter(adapter -> adapter.getReactiveType().isAssignableFrom(clazz)) .findFirst() .orElse(null)); }
@Override public <T> MessageHandlingMember<T> wrapHandler(MessageHandlingMember<T> original) { boolean isReplayAllowed = (boolean) original .annotationAttributes(AllowReplay.class) .orElseGet(() -> original.unwrap(Member.class) .map(Member::getDeclaringClass) .map(c -> AnnotationUtils.findAnnotationAttributes(c, AllowReplay.class) .orElse(DEFAULT_SETTING)) .orElse(DEFAULT_SETTING) ).get("allowReplay"); if (!isReplayAllowed) { return new ReplayBlockingMessageHandlingMember<>(original); } return original; }
@Override public String getHost() { return serverConfiguration.getHost() .orElseGet(() -> Optional.ofNullable(System.getenv(Environment.HOSTNAME)).orElse(SocketUtils.LOCALHOST)); }
/** * Returns a copy of loggable options with sensitive data stripped. */ private MqttConnectOptions loggableOptions() { MqttConnectOptions loggableOptions = getOptions(); Optional.ofNullable( loggableOptions.getSSLProperties() ) .orElseGet( Properties::new ) .keySet().stream() .filter( key -> key.toString().toUpperCase().contains( "PASSWORD" ) ) .forEach( key -> loggableOptions.getSSLProperties().put( key, "*****" ) ); return loggableOptions; }
private Field getField(Class<?> clazz) { return Optional.ofNullable(TABLE_FIELD_OF_ENUM_TYPES.get(type)).orElseGet(() -> { Field field = dealEnumType(clazz).orElseThrow(() -> new IllegalArgumentException("当前[" + type.getName() + "]枚举类未找到标有@EnumValue注解的字段")); addEnumType(clazz, field); return field; }); } }
private Integer getSubWorkflowVersion(Map<String, Object> resolvedParams, String subWorkflowName) { return Optional.ofNullable(resolvedParams.get("version")) .map(Object::toString) .map(Integer::parseInt) .orElseGet( () -> metadataDAO.getLatest(subWorkflowName) .map(WorkflowDef::getVersion) .orElseThrow(() -> { String reason = String.format("The Task %s defined as a sub-workflow has no workflow definition available ", subWorkflowName); logger.error(reason); return new TerminateWorkflowException(reason); })); } }
@Override public OptionalDouble getValueFromAggregationQueryResult(Object value) { return Optional.ofNullable(value) .map(Number.class::cast) .map(Number::doubleValue) .map(OptionalDouble::of) .orElseGet(OptionalDouble::empty); }
private static <P extends Publisher<?>, M extends ReactiveHttpOutputMessage> Mono<Void> writeWithMessageWriters( M outputMessage, BodyInserter.Context context, P body, ResolvableType bodyType) { MediaType mediaType = outputMessage.getHeaders().getContentType(); return context.messageWriters().stream() .filter(messageWriter -> messageWriter.canWrite(bodyType, mediaType)) .findFirst() .map(BodyInserters::cast) .map(writer -> write(body, bodyType, mediaType, outputMessage, context, writer)) .orElseGet(() -> Mono.error(unsupportedError(bodyType, context, mediaType))); }
/** * 反射检查参数类是否启动乐观锁 * * @param parameterClass 实体类 * @param tableInfo 实体数据库反射信息 * @return ignore */ private EntityField getVersionFieldRegular(Class<?> parameterClass, TableInfo tableInfo) { return Object.class.equals(parameterClass) ? null : ReflectionKit.getFieldList(parameterClass).stream().filter(e -> e.isAnnotationPresent(Version.class)).map(field -> { field.setAccessible(true); return new EntityField(field, true, tableInfo.getFieldList().stream().filter(e -> field.getName().equals(e.getProperty())).map(TableFieldInfo::getColumn).findFirst().orElse(null)); }).findFirst().orElseGet(() -> this.getVersionFieldRegular(parameterClass.getSuperclass(), tableInfo)); }
/** * @return a configured setting */ public Optional<Object> getValue( @Nonnull String key ) { return configOptions.stream() .map( it -> it.asConfigValues( params ) ) .flatMap( List::stream ) .filter( it -> it.name().equals( key ) ) .map( ConfigValue::value ) .findFirst() .orElseGet( Optional::empty ); }
private static String getComputerName() { final String hostName; try { hostName = InetAddress.getLocalHost().getHostName(); if (hostName != null && !hostName.isEmpty()) { return hostName; } } catch (final Exception ex) { // Ignore exception. } return Optional.ofNullable(System.getenv("COMPUTERNAME")) .orElseGet(() -> Optional.ofNullable(System.getenv("HOSTNAME")) .orElse("unknown") ); }