fix broken links in IGs

This commit is contained in:
Grahame Grieve 2019-12-19 10:50:54 +11:00
parent 3ce532968a
commit 8d2da0b701
3 changed files with 27 additions and 5 deletions

View File

@ -97,6 +97,7 @@ import org.hl7.fhir.r5.utils.formats.XLSXWriter;
import org.hl7.fhir.utilities.CommaSeparatedStringBuilder;
import org.hl7.fhir.utilities.TerminologyServiceOptions;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.VersionUtilities;
import org.hl7.fhir.utilities.validation.ValidationOptions;
import org.hl7.fhir.utilities.validation.ValidationMessage;
import org.hl7.fhir.utilities.validation.ValidationMessage.Source;
@ -421,8 +422,9 @@ public class ProfileUtilities extends TranslatingUtilities {
break;
}
}
if (!found)
if (!found) {
derived.getMapping().add(baseMap);
}
}
}
@ -2042,7 +2044,6 @@ public class ProfileUtilities extends TranslatingUtilities {
// Before applying changes, apply them to what's in the profile
// TODO: follow Chris's rules - Done by Lloyd
StructureDefinition profile = null;
if (base.hasSliceName())
profile = base.getType().size() == 1 && base.getTypeFirstRep().hasProfile() ? context.fetchResource(StructureDefinition.class, base.getTypeFirstRep().getProfile().get(0).getValue()) : null;
@ -2336,6 +2337,11 @@ public class ProfileUtilities extends TranslatingUtilities {
for (ElementDefinitionMappingComponent t : derived.getMapping())
t.setUserData(DERIVATION_EQUALS, true);
}
for (ElementDefinitionMappingComponent m : base.getMapping()) {
if (m.hasMap()) {
m.setMap(m.getMap().trim());
}
}
// todo: constraints are cumulative. there is no replacing
for (ElementDefinitionConstraintComponent s : base.getConstraint()) {
@ -3626,7 +3632,7 @@ public class ProfileUtilities extends TranslatingUtilities {
erow.getSubRows().add(row);
Cell c = gen.new Cell();
row.getCells().add(c);
c.addPiece(gen.new Piece((ed.getBase().getPath().equals(ed.getPath()) ? ref+ed.getPath() : corePath+(context.getVersion().compareTo("4.0") > 0 ? "types-definitions.html#"+ed.getBase().getPath() : "element-definitions.html#"+ed.getBase().getPath())), t.getName(), null));
c.addPiece(gen.new Piece((ed.getBase().getPath().equals(ed.getPath()) ? ref+ed.getPath() : corePath+(VersionUtilities.isThisOrLater("4.1", context.getVersion()) ? "types-definitions.html#"+ed.getBase().getPath() : "element-definitions.html#"+ed.getBase().getPath())), t.getName(), null));
c = gen.new Cell();
row.getCells().add(c);
c.addPiece(gen.new Piece(null, null, null));
@ -3671,7 +3677,7 @@ public class ProfileUtilities extends TranslatingUtilities {
Cell c = gen.new Cell();
row.getCells().add(c);
c.addPiece(gen.new Piece((ed.getBase().getPath().equals(ed.getPath()) ? ref+ed.getPath() : (context.getVersion().compareTo("4.0") > 0 ? corePath+"types-definitions.html#"+ed.getBase().getPath() : corePath+"element-definitions.html#"+ed.getBase().getPath())), t.getName(), null));
c.addPiece(gen.new Piece((ed.getBase().getPath().equals(ed.getPath()) ? ref+ed.getPath() : (VersionUtilities.isThisOrLater("4.1", context.getVersion()) ? corePath+"types-definitions.html#"+ed.getBase().getPath() : corePath+"element-definitions.html#"+ed.getBase().getPath())), t.getName(), null));
c = gen.new Cell();
row.getCells().add(c);

View File

@ -2273,7 +2273,7 @@ public class ElementDefinition extends BackboneType implements ICompositeType {
// added from java-adornments.txt:
public boolean hasTarget() {
return Utilities.existsInList(getCode(), "Reference", "canonical");
return Utilities.existsInList(getCode(), "Reference", "canonical", "CodeableReference");
}
/**

View File

@ -154,4 +154,20 @@ public class VersionUtilities {
return Utilities.isInteger(p[0]) && Utilities.isInteger(p[1]) && Utilities.isInteger(p[2]);
}
/**
* return true if the current vresion equals test, or later
*
* so if a feature is defined in 4.0, if (VersionUtilities.isThisOrLater("4.0", version))...
*
* @param test
* @param current
* @return
*/
public static boolean isThisOrLater(String test, String current) {
String t = getMajMin(test);
String c = getMajMin(current);
boolean ok = c.compareTo(t) >= 0;
return ok;
}
}