Revision 52075
Added by Alessia Bardi almost 6 years ago
OAIConfiguration.java | ||
---|---|---|
4 | 4 |
import java.util.List; |
5 | 5 |
import java.util.Map; |
6 | 6 |
import java.util.Set; |
7 |
import javax.annotation.Nullable; |
|
7 | 8 |
|
9 |
import com.google.common.base.Function; |
|
8 | 10 |
import com.google.common.base.Joiner; |
9 |
import com.google.common.base.Predicate; |
|
10 | 11 |
import com.google.common.collect.Collections2; |
11 | 12 |
import com.google.common.collect.Multimap; |
13 |
import com.google.common.collect.Multimaps; |
|
12 | 14 |
import com.google.common.collect.Sets; |
13 | 15 |
import com.google.gson.Gson; |
14 | 16 |
import com.google.gson.GsonBuilder; |
15 |
|
|
16 | 17 |
import eu.dnetlib.data.mapreduce.hbase.oai.utils.MDFInfo; |
17 | 18 |
import eu.dnetlib.data.mapreduce.hbase.oai.utils.PublisherField; |
18 | 19 |
import eu.dnetlib.data.mapreduce.hbase.oai.utils.SetInfo; |
... | ... | |
56 | 57 |
|
57 | 58 |
public Collection<PublisherField> getFieldsFor(final String format, final String layout, final String interpretation) { |
58 | 59 |
final String mdRef = Joiner.on("-").join(format, layout, interpretation); |
59 |
return Collections2.filter(this.getFields(), new Predicate<PublisherField>() { |
|
60 |
|
|
60 |
Collection<PublisherField> filtered = Collections2.filter(this.getFields(), theField -> { |
|
61 |
if (theField.getSources() == null) return false; |
|
62 |
return theField.getSources().containsKey(mdRef); |
|
63 |
}); |
|
64 |
return Collections2.transform(filtered, new Function<PublisherField, PublisherField>() { |
|
65 |
@Nullable |
|
61 | 66 |
@Override |
62 |
public boolean apply(final PublisherField theField) {
|
|
63 |
if (theField.getSources() == null) return false;
|
|
64 |
return theField.getSources().containsKey(mdRef);
|
|
67 |
public PublisherField apply(@Nullable final PublisherField publisherField) {
|
|
68 |
Multimap<String, String> filtered = Multimaps.filterKeys(publisherField.getSources(), k -> k.equalsIgnoreCase(mdRef));
|
|
69 |
return new PublisherField(publisherField.getFieldName(), publisherField.isRepeatable(), filtered);
|
|
65 | 70 |
} |
66 |
|
|
67 | 71 |
}); |
68 | 72 |
} |
69 | 73 |
|
Also available in: Unified diff
Fixed bug when retrieving info about store indices for a given metadata format