Moved from profile to conditional
Improved dialect resolving
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package ca.uhn.fhir.jpa.starter.annotations;
|
||||
|
||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
public class OnDSTU2Condition implements Condition {
|
||||
@Override
|
||||
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) {
|
||||
FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext.
|
||||
getEnvironment()
|
||||
.getProperty("hapi.fhir.fhir_version")
|
||||
.toUpperCase());
|
||||
|
||||
return version == FhirVersionEnum.DSTU2;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package ca.uhn.fhir.jpa.starter.annotations;
|
||||
|
||||
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
|
||||
public class OnEitherVersion extends AnyNestedCondition {
|
||||
|
||||
OnEitherVersion() {
|
||||
super(ConfigurationPhase.REGISTER_BEAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ConditionOutcome getFinalMatchOutcome(MemberMatchOutcomes memberOutcomes) {
|
||||
ConditionOutcome result = super.getFinalMatchOutcome(memberOutcomes);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Conditional(OnDSTU2Condition.class)
|
||||
static class OnDSTU2 {
|
||||
}
|
||||
|
||||
@Conditional(OnDSTU3Condition.class)
|
||||
static class OnDSTU3 {
|
||||
}
|
||||
|
||||
@Conditional(OnR4Condition.class)
|
||||
static class OnR4 {
|
||||
}
|
||||
|
||||
@Conditional(OnR5Condition.class)
|
||||
static class OnR5 {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package ca.uhn.fhir.jpa.starter.annotations;
|
||||
|
||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
public class OnR4Condition implements Condition {
|
||||
@Override
|
||||
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) {
|
||||
FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext.
|
||||
getEnvironment()
|
||||
.getProperty("hapi.fhir.fhir_version")
|
||||
.toUpperCase());
|
||||
|
||||
return version == FhirVersionEnum.R4;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package ca.uhn.fhir.jpa.starter.annotations;
|
||||
|
||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
public class OnR5Condition implements Condition {
|
||||
@Override
|
||||
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) {
|
||||
FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext.
|
||||
getEnvironment()
|
||||
.getProperty("hapi.fhir.fhir_version")
|
||||
.toUpperCase());
|
||||
|
||||
return version == FhirVersionEnum.R5;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user