既存のfillModelメソッドは次のとおりです。
@Override
protected void fillModel(final Model model,
final List<FacebookChannelConfig> items) {
final Map<FacebookChannelConfig, Boolean> defaultConfigMap = Maps
.newHashMapWithExpectedSize(items.size());
for (FacebookChannelConfig channelConfig : items) {
if (configRepository.getDefault() != null
&& configRepository.getDefault().getId().toString()
.equals(channelConfig.getId().toString())) {
defaultConfigMap.put(channelConfig, Boolean.TRUE);
} else {
defaultConfigMap.put(channelConfig, Boolean.FALSE);
}
if (channelConfig.getOwner().getId().getId() != userContext
.getOrganization().getId().getId()) {
channelConfig.setName(channelConfig.getName() + "("
+ channelConfig.getOwner().getName() + ")");
}
}
model.addAttribute("isDefault", defaultConfigMap);
}
上記のように、上記のfillModel から * idDefault *メソッドに次のコードを追加しました。
if (configRepository.getDefault() != null
&& configRepository.getDefault().getId().toString()
.equals(channelConfig.getId().toString())) {
defaultConfigMap.put(channelConfig, Boolean.TRUE);
} else {
defaultConfigMap.put(channelConfig, Boolean.FALSE);
}
以下のようにブール値を返す isDefault メソッドがあります
private boolean isDefault(final List<FacebookChannelConfig> config) {
if (configRepository.getDefault() != null
&& configRepository.getDefault().getId().toString()
.equals(config.get(0).toString())) {
return true;
}
return false;
}
上記のメソッドisDefaultは、以下のようにfillModel メソッド内で使用されています
protected void fillModel(final Model model,
final List<FacebookChannelConfig> items) {
final Map<FacebookChannelConfig, Boolean> defaultConfigMap = Maps
.newHashMapWithExpectedSize(items.size());
for (FacebookChannelConfig channelConfig : items) {
defaultConfigMap.put(channelConfig, isDefault(items));
if (channelConfig.getOwner().getId().getId() != userContext.getOrganization().getId().getId()) {
channelConfig.setName(
channelConfig.getName() + "("
+ channelConfig.getOwner().getName()
+ ")");
}
}
model.addAttribute("isDefault", defaultConfigMap);
}
上記のdefaultConfigMap.put(channelConfig, isDefault(items));の使い方 は正しくありません。提案してください