小编And*_*eld的帖子

在番石榴中展平Iterable <Iterable <T >>

flatten在番石榴中是否有一种方法 - 或者将一种方法转换Iterable<Iterable<T>>为一种方法Iterable<T>

我有一个Multimap<K, V>[sourceMultimap],我想返回键匹配某个谓词[keyPredicate]的所有值.所以目前我有:

Iterable<Collection<V>> vals = Maps.filterKeys(sourceMultimap.asMap(), keyPredicate).values();

Collection<V> retColl = ...;
for (Collection<V> vs : vals) retColl.addAll(vs);
return retColl;
Run Code Online (Sandbox Code Playgroud)

我查看了番石榴文档,但没有跳出来.我只是检查我没有错过任何东西.否则,我会将我的三行提取为一个简短的扁平泛型方法,并保持原样.

java collections flatten guava

40
推荐指数
1
解决办法
1万
查看次数

替换属性文件中的环境变量

在Linux中,假设我有以下文件(例如conf.properties):

HOST_URL=http://$HOSTNAME
STD_CONFIG=http://$HOSTNAME/config
USER_CONFIG=http://$HOSTNAME/config/$unconfigured
Run Code Online (Sandbox Code Playgroud)

我想创建另一个替换了所有环境变量的文件...比如说环境变量$ HOSTNAME是'myhost'并且未设置$ unconfigured,脚本应该产生以下输出:

HOST_URL=http://myhost
STD_CONFIG=http://myhost/config
USER_CONFIG=http://myhost/config/
Run Code Online (Sandbox Code Playgroud)

我认为这可以通过一个简单的单行程来完成,带有某种sed/awk魔法,但我不是专家,而且我的搜索已经静止,所以感谢任何帮助.

编辑:

我应该提一下,该文件可以是任何格式的文本文件,例如xml.我只想用环境中当前设置的任何东西替换任何看起来像env变量的东西.

linux

25
推荐指数
4
解决办法
3万
查看次数

NHibernate - 更改子类型

你如何改变NHibernate中行的子类型?例如,如果我有一个Customer实体和TierOneCustomer的子类,我有一个案例需要将Customer更改为TierOneCustomer,但TierOneCustomer应该具有与原始Customer实体相同的Id(PK).

映射看起来像这样:

<class name="Customer" table="SiteCustomer" discriminator-value="C">
  <id name="Id" column="Id" type="Int64">
    <generator class="identity" />
  </id>
  <discriminator column="CustomerType" />
  ... properties snipped ...

  <subclass name="TierOneCustomer" discriminator-value="P">
    ... more properties ...
  </subclass>
</class>
Run Code Online (Sandbox Code Playgroud)

我正在使用每个类的单表层次结构模型,因此使用plain-sql,只需要对鉴别器(CustomerType)进行sql更新,并设置与该类型相关的相应列.我无法在NHibernate中找到解决方案,所以会感激任何指针.

考虑到这个用例,我也在考虑模型是否正确,但在我沿着这条路走下去之前,我想确保首先按照上述方式进行操作.如果没有,我几乎肯定会考虑改变模型.

nhibernate class-hierarchy

6
推荐指数
2
解决办法
3411
查看次数

标签 统计

class-hierarchy ×1

collections ×1

flatten ×1

guava ×1

java ×1

linux ×1

nhibernate ×1