我正在寻找一种方法来整齐地过滤事件中的值并基于它们创建地图。我们需要知道的:
事件:事件包含字典数据结构(它是
例如:a)
Key: Brand,
Value: Nike
b)
Key: Producer,
Value: Audi
过滤器是一个<代码>映射
值的示例:
Key: Manufacturer,
Value: [Brand, Producer, Creator, Author]
data class Product(
val id: String,
val parameters: Map<String, Parameter> = emptyMap()
)
data class Parameter(
val parameterId: String?,
val parameterValue: String)
流程看起来如何:
1)事件附带参数列表,例如
mapOf(
"brand" to "Nike",
"size" to "42",
"color" to "black
)
mapOf("Manufacturer" to Parameter(null, "Nike"))
如您所见,在Product对象的映射中,选择了Manufacturer(制造商)而不是Brand(品牌)作为键(即该参数的键,而不是值)。
目标:
过滤事件的方法应该是什么样的?如何用聪明的科特林方式(使用地图过滤数据
提前感谢您的帮助/建议!
编辑:更多信息:
示例输入:
域端出现的传入事件:
< code > ProductCreatedEvent(id = " 1234 ",mapOf("brand "到" Nike "," color "到" black "," size "到" 46"))
样品输出:
产品(id = “1234”, mapOf(“制造商”到“耐克”))
传入事件由结构为 Map 的筛选器过滤
过滤器的结构是由这样一个事实决定的,即数据来自各种来源,因此,例如,供应商一方的“制造商”密钥可能被称为“品牌”或“生产者”。在我的服务方面,它是标准化的,因此每个键的键值是在域对象的参数映射中选择的。
这应该有效
val event = ProductCreatedEvent( id = "1234", mapOf("Brand" to "Nike", "Color" to "Black", "Size" to "46"))
val filters = mapOf("Manufacturer" to setOf("Brand", "Producer", "Creator", "Author"))
val parameters = event.params.mapNotNull { param ->
filters.entries.find { it.value.contains(param.key) }
?.let { it.key to param.value }
}.toMap()
val product = Product(event.id, parameters)
问题内容: 我正在使用SWIG从Java访问C ++代码。 公开非常量引用传递的std :: string参数的最简单方法是什么? 我有参考暴露为Java数组传递原语,感谢typemaps.i,和s ^暴露,感谢std_string.i。但是非const std :: string&被公开为不透明指针类型。 当前: 期望的: 更新 :我找到 了 解决方案,如下所述。但是,它花费了超过几秒钟的时间。
问题内容: 我正在尝试将字符串数组作为POST数据传递给PHP脚本,但是不确定该怎么做。 这是到目前为止我执行PHP脚本的代码: 我试图传递数组的地方: 调用PHP脚本: 以及相关的PHP脚本: 有任何想法吗?谢谢 ! 编辑 我正在尝试以下方法,但仍不满意: 这就是我所有的“错误报告” … 问题答案: 要将查询字符串中的数组传递给php,您应该添加到标识符并将每个项目都添加为单独的条目,因此这样的
我试图通过映射[objectid: String,Int]过滤包含对象的Seq[Object],其中Object.id是映射中的一个键。 我想返回一个新的Map,其中只包含id在原始映射中的对象及其Int值。因此函数应该返回Map[Object,Int] 这是我到目前为止的情况?实现这一目标的最佳方法是什么?
字符串statusCode 在映射中,我有: statusCode列:“STATUS_CD”,类型:“NVARCHAR” beanCreationException:创建名为“Transaction ManagerPostProcessor”的bean时出错: bean初始化失败;嵌套异常是 org.springframework.beans.factory.beanCreationExcepti
我刚开始使用RxJava/RxAndroid,在理解如何正确处理背压方面有一些问题。 我有一个文件扫描器,可以扫描目录并发出文件。应尽快处理这些文件,并且不跳过任何文件。 所以管道看起来像这样:<代码>可观察 不幸的是,我收到了rx。例外情况。缺少背压异常错误。所以我读了关于背压的书,如果我理解正确的话,无损耗选项只是缓冲区和窗口。 我试过了BackPressureBuffer()、buffer(
如何使用注释填充值映射,而不在applicationContext中定义任何内容。xml或任何其他xml文件。 我使用的是SpringBoot,它没有任何XML文件,也不需要任何XML文件,所以请不要告诉我用XML等声明任何属性读取器bean。 此外,这是一个属性注入问题-请不要建议使用数据库存储数据-这不是一个答案,对于我的情况也不可能。 此外,我也不能使用YAML(由于部署/操作需求)。 我已