Revision 48697
Added by Claudio Atzori over 6 years ago
XmlRecordFactory.java | ||
---|---|---|
36 | 36 |
import eu.dnetlib.data.proto.ResultProtos.Result.Journal; |
37 | 37 |
import eu.dnetlib.data.proto.TypeProtos; |
38 | 38 |
import eu.dnetlib.data.proto.TypeProtos.Type; |
39 |
import eu.dnetlib.miscutils.functional.UnaryFunction; |
|
40 | 39 |
import org.apache.commons.lang.StringUtils; |
41 | 40 |
import org.dom4j.Document; |
42 | 41 |
import org.dom4j.DocumentException; |
... | ... | |
70 | 69 |
protected Transformer transformer; |
71 | 70 |
|
72 | 71 |
protected static Predicate<String> instanceFilter = new Predicate<String>() { |
73 |
final Set<String> instanceFieldFilter = Sets.newHashSet("instancetype", "hostedby", "licence"); |
|
72 |
final Set<String> instanceFieldFilter = Sets.newHashSet("instancetype", "hostedby", "licence", "collectedfrom", "dateofacceptance");
|
|
74 | 73 |
@Override |
75 | 74 |
public boolean apply(final String s) { |
76 | 75 |
return instanceFieldFilter.contains(s); |
... | ... | |
264 | 263 |
metadata.addAll(decodeType(d, entityConfigTable.getIncludeFilter(targetType, relDescriptor), relDefaults, true)); |
265 | 264 |
if (d.getType().equals(Type.result)) { |
266 | 265 |
for(Instance i : cachedTarget.getResult().getInstanceList()) { |
267 |
metadata.addAll(listFields(i, entityConfigTable.getIncludeFilter(targetType, relDecoder.getRelDescriptor()), false, true)); |
|
266 |
final List<String> fields = listFields(i, entityConfigTable.getIncludeFilter(targetType, relDecoder.getRelDescriptor()), false, true); |
|
267 |
metadata.addAll(fields); |
|
268 | 268 |
} |
269 | 269 |
} |
270 | 270 |
} |
... | ... | |
295 | 295 |
|
296 | 296 |
final String relId = (ld != null) && !ld.isSymmetric() ? relDecoder.getRelTargetId() : relDecoder.getRelSourceId(); |
297 | 297 |
|
298 |
rels.add(templateFactory.getRel(targetType, relId, metadata, semanticclass, semanticscheme, info.getInferred(), info.getTrust(),
|
|
298 |
rels.add(templateFactory.getRel(targetType, relId, Sets.newHashSet(metadata), semanticclass, semanticscheme, info.getInferred(), info.getTrust(),
|
|
299 | 299 |
info.getInferenceprovenance(), info.getProvenanceaction().getClassid())); |
300 | 300 |
} |
301 | 301 |
} |
... | ... | |
314 | 314 |
final OafEntityDecoder entity = mainEntity.decodeEntity(); |
315 | 315 |
if (entity.getType().equals(Type.result)) { |
316 | 316 |
for (final Instance instance : ((Result) entity.getEntity()).getInstanceList()) { |
317 |
|
|
318 |
|
|
319 | 317 |
children.add(templateFactory.getInstance(instance.getHostedby().getKey(), listFields(instance, instanceFilter, false, false), |
320 |
listMap(instance.getUrlList(), new UnaryFunction<String, String>() { |
|
321 |
|
|
322 |
@Override |
|
323 |
public String evaluate(final String identifier) { |
|
324 |
return templateFactory.getWebResource(identifier); |
|
325 |
} |
|
326 |
}))); |
|
318 |
listMap(instance.getUrlList(), identifier -> templateFactory.getWebResource(identifier)))); |
|
327 | 319 |
} |
328 | 320 |
for (final ExternalReference er : ((Result) entity.getEntity()).getExternalReferenceList()) { |
329 | 321 |
// Set<String> filters = entityConfigTable.getFilter(Type.result, RelType.resultResult); |
... | ... | |
505 | 497 |
} |
506 | 498 |
|
507 | 499 |
if (Context.getDescriptor().equals(fd.getMessageType()) && (o != null)) { |
508 |
contextes.add(((Result.Context) o).getId());
|
|
500 |
contextes.add(((Context) o).getId()); |
|
509 | 501 |
} |
510 | 502 |
|
511 | 503 |
if (ExtraInfo.getDescriptor().equals(fd.getMessageType()) && (o != null)) { |
Also available in: Unified diff
some java8 refactorings, added more tests for the software entities mapping