Revision 52075
Added by Alessia Bardi almost 6 years ago
modules/dnet-mapreduce-jobs/branches/beta/src/main/java/eu/dnetlib/data/mapreduce/hbase/oai/config/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 |
|
modules/dnet-oai-utils/trunk/src/main/java/eu/dnetlib/data/information/oai/publisher/conf/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; |
12 |
import com.google.common.collect.Multimap; |
|
13 |
import com.google.common.collect.Multimaps; |
|
11 | 14 |
import com.google.common.collect.Sets; |
12 |
|
|
13 | 15 |
import eu.dnetlib.data.information.oai.publisher.PublisherField; |
14 | 16 |
import eu.dnetlib.data.information.oai.publisher.info.MDFInfo; |
15 | 17 |
import eu.dnetlib.data.information.oai.publisher.info.SetInfo; |
... | ... | |
51 | 53 |
|
52 | 54 |
public Collection<PublisherField> getFieldsFor(final String format, final String layout, final String interpretation) { |
53 | 55 |
final String mdRef = Joiner.on("-").join(format, layout, interpretation); |
54 |
return Collections2.filter(this.getFields(), new Predicate<PublisherField>() { |
|
55 |
|
|
56 |
Collection<PublisherField> filtered = Collections2.filter(this.getFields(), theField -> { |
|
57 |
if (theField.getSources() == null) return false; |
|
58 |
return theField.getSources().containsKey(mdRef); |
|
59 |
}); |
|
60 |
return Collections2.transform(filtered, new Function<PublisherField, PublisherField>() { |
|
61 |
@Nullable |
|
56 | 62 |
@Override |
57 |
public boolean apply(final PublisherField theField) {
|
|
58 |
if (theField.getSources() == null) return false;
|
|
59 |
return theField.getSources().containsKey(mdRef);
|
|
63 |
public PublisherField apply(@Nullable final PublisherField publisherField) {
|
|
64 |
Multimap<String, String> filtered = Multimaps.filterKeys(publisherField.getSources(), k -> k.equalsIgnoreCase(mdRef));
|
|
65 |
return new PublisherField(publisherField.getFieldName(), publisherField.isRepeatable(), filtered);
|
|
60 | 66 |
} |
61 |
|
|
62 | 67 |
}); |
63 | 68 |
} |
64 | 69 |
|
Also available in: Unified diff
Fixed bug when retrieving info about store indices for a given metadata format