protected void parseFhirContext(CommandLine theCommandLine) throws ParseException { String version = theCommandLine.getOptionValue(FHIR_VERSION_PARAM); if (isBlank(version)) { throw new ParseException("Missing required option: -" + FHIR_VERSION_PARAM); } try { FhirVersionEnum versionEnum = FhirVersionEnum.valueOf(version.toUpperCase()); myFhirCtx = versionEnum.newContext(); } catch (Exception e) { throw new ParseException("Invalid FHIR version string: " + version); } }
public void setFhirVersion(String fhirVersion) { this.fhirVersion = FhirVersionEnum.valueOf(fhirVersion); }
@Override protected void doStart() throws Exception { if (fhirContext == null && fhirVersion != null) { FhirVersionEnum version = FhirVersionEnum.valueOf(fhirVersion); fhirContext = new FhirContext(version); } else if (fhirContext == null) { fhirContext = FhirContext.forDstu3(); } if (ObjectHelper.isNotEmpty(parserOptions)) { fhirContext.setParserOptions(parserOptions); } }
private void verifyFhirVersion(ResultBuilder builder, Map<String, Object> parameters) { final String fhirVersion = (String) parameters.get("fhirVersion"); try { FhirVersionEnum fhirVersionEnum = FhirVersionEnum.valueOf(fhirVersion); parameters.put("fhirVersion", fhirVersionEnum); } catch (IllegalArgumentException e) { builder.error( ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.ILLEGAL_PARAMETER_VALUE, "Invalid FHIR version") .parameterKey("fhirVersion") .build()); } }
@Override public void customize(ComponentProxyComponent component, Map<String, Object> options) { String fhirVersion = (String) options.get("fhirVersion"); // checkout https://github.com/syndesisio/syndesis/issues/3719 FhirVersionEnum fhirVersionEnum = fhirVersion == null ? FhirVersionEnum.DSTU3 : FhirVersionEnum.valueOf(fhirVersion); this.fhirContext = new FhirContext(fhirVersionEnum); setApiMethod(options); component.setBeforeProducer(this::beforeProducer); component.setAfterProducer(this::afterProducer); }