Project

General

Profile

« Previous | Next » 

Revision 52075

Fixed bug when retrieving info about store indices for a given metadata format

View differences:

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