[
https://issues.apache.org/jira/browse/CAMEL-17337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Coombes updated CAMEL-17337:
---------------------------------
Description:
In the 3.x branches, the FhirComponent contains a FhirConfiguration property
which results in the getClient method creating a new IGenericClient from the
method supplied configuration due to the configuration property never being
initialised.
{code:java}
@Component("fhir")
public class FhirComponent extends AbstractApiComponent<FhirApiName,
FhirConfiguration, FhirApiCollection> {
@Metadata(label = "advanced")
FhirConfiguration configuration;
{code}
This property appears to shadow a property of the same name on
AbstractApiComponent
{code:java}
public abstract class AbstractApiComponent<E extends Enum<E> & ApiName, T, S
extends ApiCollection<E, T>>
extends DefaultComponent {
@Metadata(label = "advanced", description = "Component configuration")
protected T configuration;
{code}
This is an issue for me as I am attempting to register a IClientInterceptor to
help with a SMART on FHIR workflow, which no longer works as the configuration
supplied during class construction is ignored and a IGenericClient is never
persisted.
To work around the issue in the interim, creating a component that extends
FhirComponent, overriding the getClient method to utilise the configuration
from AbstractApiComponent appears to resolve the issue.
Assuming I'm not missing anything obvious regarding the purpose for the
configuration property on the FhirComponent class, and if desired, am more than
happy to submit a PR with a fix.
was:
In the 3.x branches, the FhirComponent contains a FhirConfiguration property
which results in the getClient method creating a new client from the method
supplied configuration due to the configuration property never being
initialised.
{code:java}
@Component("fhir")
public class FhirComponent extends AbstractApiComponent<FhirApiName,
FhirConfiguration, FhirApiCollection> {
@Metadata(label = "advanced")
FhirConfiguration configuration;
{code}
This property appears to shadow a property of the same name on
AbstractApiComponent
{code:java}
public abstract class AbstractApiComponent<E extends Enum<E> & ApiName, T, S
extends ApiCollection<E, T>>
extends DefaultComponent {
@Metadata(label = "advanced", description = "Component configuration")
protected T configuration;
{code}
This is an issue for me as I am attempting to register a IClientInterceptor to
help with a SMART on FHIR workflow, which no longer works as the configuration
supplied during class construction is ignored and a IGenericClient is never
persisted.
To work around the issue in the interim, creating a component that extends
FhirComponent, overriding the getClient method to utilise the configuration
from AbstractApiComponent appears to resolve the issue.
Assuming I'm not missing anything obvious regarding the purpose for the
configuration property on the FhirComponent class, and if desired, am more than
happy to submit a PR with a fix.
> FhirComponent regression between 2.2x and 3.x releases
> ------------------------------------------------------
>
> Key: CAMEL-17337
> URL: https://issues.apache.org/jira/browse/CAMEL-17337
> Project: Camel
> Issue Type: Bug
> Components: camel-fhir
> Affects Versions: 3.x
> Reporter: Paul Coombes
> Priority: Minor
>
> In the 3.x branches, the FhirComponent contains a FhirConfiguration property
> which results in the getClient method creating a new IGenericClient from the
> method supplied configuration due to the configuration property never being
> initialised.
> {code:java}
> @Component("fhir")
> public class FhirComponent extends AbstractApiComponent<FhirApiName,
> FhirConfiguration, FhirApiCollection> {
> @Metadata(label = "advanced")
> FhirConfiguration configuration;
> {code}
> This property appears to shadow a property of the same name on
> AbstractApiComponent
> {code:java}
> public abstract class AbstractApiComponent<E extends Enum<E> & ApiName, T, S
> extends ApiCollection<E, T>>
> extends DefaultComponent {
> @Metadata(label = "advanced", description = "Component configuration")
> protected T configuration;
> {code}
> This is an issue for me as I am attempting to register a IClientInterceptor
> to help with a SMART on FHIR workflow, which no longer works as the
> configuration supplied during class construction is ignored and a
> IGenericClient is never persisted.
> To work around the issue in the interim, creating a component that extends
> FhirComponent, overriding the getClient method to utilise the configuration
> from AbstractApiComponent appears to resolve the issue.
> Assuming I'm not missing anything obvious regarding the purpose for the
> configuration property on the FhirComponent class, and if desired, am more
> than happy to submit a PR with a fix.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)