Project

General

Profile

« Previous | Next » 

Revision 41468

introducing support for projects that doesn't provide a link to a specific fundingpath.

View differences:

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