Revision 41468
Added by Claudio Atzori about 8 years ago
XmlRecordFactory.java | ||
---|---|---|
606 | 606 |
} |
607 | 607 |
try { |
608 | 608 |
final Node funder = fundingPath.selectSingleNode("//funder"); |
609 |
final String funderShortName = funder.valueOf("./shortname"); |
|
610 |
contextMapper.put(funderShortName, new ContextDef(funderShortName, funder.valueOf("./name"), "context", "funding")); |
|
611 |
final Node level0 = fundingPath.selectSingleNode("//funding_level_0"); |
|
612 |
final String level0Id = Joiner.on("::").join(funderShortName, level0.valueOf("./name")); |
|
613 |
contextMapper.put(level0Id, new ContextDef(level0Id, level0.valueOf("./description"), "category", "")); |
|
614 |
final Node level1 = fundingPath.selectSingleNode("//funding_level_1"); |
|
615 |
if (level1 == null) { |
|
616 |
contextes.add(level0Id); |
|
617 |
} else { |
|
618 |
final String level1Id = Joiner.on("::").join(level0Id, level1.valueOf("./name")); |
|
619 |
contextMapper.put(level1Id, new ContextDef(level1Id, level1.valueOf("./description"), "concept", "")); |
|
620 |
final Node level2 = fundingPath.selectSingleNode("//funding_level_2"); |
|
621 |
if (level2 == null) { |
|
622 |
contextes.add(level1Id); |
|
623 |
} else { |
|
624 |
final String level2Id = Joiner.on("::").join(level1Id, level2.valueOf("./name")); |
|
625 |
contextMapper.put(level2Id, new ContextDef(level2Id, level2.valueOf("./description"), "concept", "")); |
|
626 |
contextes.add(level2Id); |
|
609 |
|
|
610 |
if (funder != null) { |
|
611 |
|
|
612 |
final String funderShortName = funder.valueOf("./shortname"); |
|
613 |
contextes.add(funderShortName); |
|
614 |
|
|
615 |
contextMapper.put(funderShortName, new ContextDef(funderShortName, funder.valueOf("./name"), "context", "funding")); |
|
616 |
final Node level0 = fundingPath.selectSingleNode("//funding_level_0"); |
|
617 |
if (level0 != null) { |
|
618 |
final String level0Id = Joiner.on("::").join(funderShortName, level0.valueOf("./name")); |
|
619 |
contextMapper.put(level0Id, new ContextDef(level0Id, level0.valueOf("./description"), "category", "")); |
|
620 |
final Node level1 = fundingPath.selectSingleNode("//funding_level_1"); |
|
621 |
if (level1 == null) { |
|
622 |
contextes.add(level0Id); |
|
623 |
} else { |
|
624 |
final String level1Id = Joiner.on("::").join(level0Id, level1.valueOf("./name")); |
|
625 |
contextMapper.put(level1Id, new ContextDef(level1Id, level1.valueOf("./description"), "concept", "")); |
|
626 |
final Node level2 = fundingPath.selectSingleNode("//funding_level_2"); |
|
627 |
if (level2 == null) { |
|
628 |
contextes.add(level1Id); |
|
629 |
} else { |
|
630 |
final String level2Id = Joiner.on("::").join(level1Id, level2.valueOf("./name")); |
|
631 |
contextMapper.put(level2Id, new ContextDef(level2Id, level2.valueOf("./description"), "concept", "")); |
|
632 |
contextes.add(level2Id); |
|
633 |
} |
|
634 |
} |
|
627 | 635 |
} |
628 | 636 |
} |
629 | 637 |
} catch (final NullPointerException e) { |
Also available in: Unified diff
introducing support for projects that doesn't provide a link to a specific fundingpath.