mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 23:39:39 +07:00
testdata for IDEA-130920
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
abstract class FieldCommand implements Comparable<FieldCommand> {
|
||||
protected DataFieldMeta getMeta() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
abstract class DataFieldMeta implements Comparable<DataFieldMeta> {
|
||||
protected String getId() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
interface DataFieldRepository {
|
||||
List<ValueHolder> getStrings(String dataFieldPath, Object subject, Core1Account account);
|
||||
}
|
||||
|
||||
final class ValueHolder {
|
||||
DataFieldMeta getMetadata() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
interface Core1Account{}
|
||||
|
||||
class Test {
|
||||
public Map<String, ValueHolder> foo(final DataFieldRepository repository, final List<FieldCommand> fields, final Object sourceObject, final Core1Account account) {
|
||||
return fields
|
||||
.stream()
|
||||
.map(field -> field.getMeta().getId())
|
||||
.distinct()
|
||||
.map(dataFieldId -> repository.getStrings(dataFieldId, sourceObject, account))
|
||||
.filter(values -> !values.isEmpty())
|
||||
.map(values -> values.get(0))
|
||||
.collect(Collectors.toMap(
|
||||
value -> value.getMetadata().getId(),
|
||||
value -> value
|
||||
));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user