Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
7ee5f18
typo fix Histroy -> History
hhund Aug 4, 2026
1e81611
typo fix Resouce -> Resource, resouce -> resource
hhund Aug 4, 2026
b6236c3
typo fix Siging -> Signing
hhund Aug 4, 2026
dccdc5c
typo fix Abbort -> Abort
hhund Aug 4, 2026
86a5132
typo fix reslove -> resolve
hhund Aug 4, 2026
c5b8262
typo fix crate, crete -> create
hhund Aug 4, 2026
702be43
typo fix snaphost -> snapshot
hhund Aug 4, 2026
6a29545
fixed wrong class names in log messages
hhund Aug 4, 2026
79c3b2c
added missing final modifier to static fields
hhund Aug 4, 2026
f2fe569
typo fix ... -> components
hhund Aug 4, 2026
9ba378e
typo fix artefact -> artifact (different upper/lower cases)
hhund Aug 4, 2026
83d8c9e
fixed incorrect role in log message
hhund Aug 4, 2026
eeac609
typo fix in log messages: of -> or, invalud -> invalid
hhund Aug 4, 2026
59b73ef
typo fix in log message: crv -> alg
hhund Aug 4, 2026
f66bd6b
typo fix buisness-key -> business-key
hhund Aug 4, 2026
b4e73cf
removed empty row
hhund Aug 4, 2026
f0e21a6
typo fix in constructor parameter name
hhund Aug 4, 2026
6aeda99
fixed inverted logic in JavaDoc
hhund Aug 4, 2026
53fe6f9
typo fix Cient -> Client, Conditionaly -> Conditionally
hhund Aug 4, 2026
e55f2cb
typo fix Cient -> Client
hhund Aug 4, 2026
1051add
typo fix Allready -> Already
hhund Aug 4, 2026
b1f71b7
typo fix Keys -> keys
hhund Aug 4, 2026
3dd62d8
renamed class: ValidationWrapperExtension -> ValidatorWrapperExtension
hhund Aug 4, 2026
a278e2e
typo fix Unsupportet -> Unsupported
hhund Aug 4, 2026
66104f4
improved readability: set empty string replaced with unset
hhund Aug 12, 2026
b9ccb24
adds trusted reverse proxy allow-list feature
hhund Aug 13, 2026
d9f40e0
extends no-proxy config to allow for multi wildcard, IP and CIDR rules
hhund Aug 13, 2026
d3686b4
missing override annotations
hhund Aug 17, 2026
06e7810
null guard, additional must reject illegal values test
hhund Aug 17, 2026
eb39fe4
removed comma from javadoc
hhund Aug 17, 2026
44b89cd
improved constructors, added must filter null values test
hhund Aug 17, 2026
c1626b2
added recommendation to disable for Kubernetes deployments
hhund Aug 18, 2026
0dde830
typo fix Acces -> Access
hhund Aug 25, 2026
86da70e
fixed log message duration formatting, toString -> toSeconds
hhund Aug 25, 2026
42b1655
typo fix emtpy -> empty
hhund Aug 25, 2026
9a37085
typo fix Progess -> Progress
hhund Aug 25, 2026
147efba
typo fix WARNNING -> WARNING
hhund Aug 25, 2026
ddf9c5b
log message cleanup user -> identity
hhund Aug 25, 2026
4f21005
fixed log message: super class -> subclass
hhund Aug 25, 2026
4adac53
log message cleanup 2 vs 4 digit version number
hhund Aug 25, 2026
038fba5
typo fix hasMetadataresourceVersion -> hasMetadataResourceVersion
hhund Aug 25, 2026
f57d6d8
log message cleanup: added missing single quote characters
hhund Aug 25, 2026
b418f6f
log message level fix warn -> debug
hhund Aug 25, 2026
f9f9ec4
fixed wrong class name in log message
hhund Aug 25, 2026
aed1cc2
typo fix corresponging -> corresponding, MIMIE -> MIME
hhund Aug 25, 2026
31ab95b
fixed exception message: Organizations -> Endpoints
hhund Aug 25, 2026
6e170de
removed incorrect "not found" end from OperationOutcome text
hhund Aug 25, 2026
6c4291a
typo fixes valus -> value, resoling -> resolving
hhund Aug 25, 2026
e314e98
typo fix sanapshotGenerator -> snapshotGenerator
hhund Aug 25, 2026
5e8a97f
typo fixes generaly -> generally, individualy -> individually
hhund Aug 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -352,10 +352,10 @@ private boolean isValidOrganizationReadAccessTag(Coding coding,
.filter(e -> EXTENSION_READ_ACCESS_ORGANIZATION.equals(e.getUrl())).collect(Collectors.toList());

return coding.hasExtension() && exts.size() == 1
&& isValidExtensionReadAccesOrganization(exts.get(0), organizationWithIdentifierExists);
&& isValidExtensionReadAccessOrganization(exts.get(0), organizationWithIdentifierExists);
}

private boolean isValidExtensionReadAccesOrganization(Extension extension,
private boolean isValidExtensionReadAccessOrganization(Extension extension,
Predicate<Identifier> organizationWithIdentifierExists)
{
return extension.hasValue() && extension.getValue() instanceof Identifier value
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
if (tryNumber < nTimes || nTimes == RetryClient.RETRY_FOREVER)
{
logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass().getName(), e.getMessage(),
delay, nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");
delay.toSeconds(),
nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");

try
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@

import jakarta.ws.rs.core.MediaType;

class BasicFhirWebserviceCientWithRetryImpl extends AbstractFhirWebserviceClientJerseyWithRetry
class BasicFhirWebserviceClientWithRetryImpl extends AbstractFhirWebserviceClientJerseyWithRetry
implements BasicFhirWebserviceClient
{
BasicFhirWebserviceCientWithRetryImpl(FhirWebserviceClientJersey delegate, int nTimes, Duration delay)
BasicFhirWebserviceClientWithRetryImpl(FhirWebserviceClientJersey delegate, int nTimes, Duration delay)
{
super(delegate, nTimes, delay);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@ public BasicFhirWebserviceClient withRetry(int nTimes, long delayMillis)
if (delayMillis < 0)
throw new IllegalArgumentException("delayMillis < 0");

return new BasicFhirWebserviceCientWithRetryImpl(this, nTimes, Duration.ofMillis(delayMillis));
return new BasicFhirWebserviceClientWithRetryImpl(this, nTimes, Duration.ofMillis(delayMillis));
}

@Override
Expand All @@ -756,7 +756,7 @@ public BasicFhirWebserviceClient withRetryForever(long delayMillis)
if (delayMillis < 0)
throw new IllegalArgumentException("delayMillis < 0");

return new BasicFhirWebserviceCientWithRetryImpl(this, RETRY_FOREVER, Duration.ofMillis(delayMillis));
return new BasicFhirWebserviceClientWithRetryImpl(this, RETRY_FOREVER, Duration.ofMillis(delayMillis));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ protected void handleSendTaskError(DelegateExecution execution, Variables variab
exception.getMessage());
}

// if we are not a multi instance message send task or all sends have failed (targets emtpy)
// if we are not a multi instance message send task or all sends have failed (targets empty)
else
{
logger.debug("Error while executing Task message send {}", getClass().getName(), exception);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ protected void handleSendTaskError(DelegateExecution execution, Variables variab
exception.getMessage());
}

// if we are not a multi instance message send task or all sends have failed (targets emtpy)
// if we are not a multi instance message send task or all sends have failed (targets empty)
else
{
logger.debug("Error while executing Task message send {}", getClass().getName(), exception);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -364,10 +364,10 @@ private boolean isValidOrganizationReadAccessTag(Coding coding,
.filter(e -> EXTENSION_READ_ACCESS_ORGANIZATION.equals(e.getUrl())).collect(Collectors.toList());

return coding.hasExtension() && exts.size() == 1
&& isValidExtensionReadAccesOrganization(exts.get(0), organizationWithIdentifierExists);
&& isValidExtensionReadAccessOrganization(exts.get(0), organizationWithIdentifierExists);
}

private boolean isValidExtensionReadAccesOrganization(Extension extension,
private boolean isValidExtensionReadAccessOrganization(Extension extension,
Predicate<Identifier> organizationWithIdentifierExists)
{
return extension.hasValue() && extension.getValue() instanceof Identifier value
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,22 @@ public class Role implements Recipient, Requester
private final String practitionerRoleSystem;
private final String practitionerRoleCode;

public Role(boolean localIdentity, String parentOrganizationIdentifier, String organizatioRoleSystem,
public Role(boolean localIdentity, String parentOrganizationIdentifier, String organizationRoleSystem,
String organizationRoleCode, String practitionerRoleSystem, String practitionerRoleCode)
{
Objects.requireNonNull(parentOrganizationIdentifier, "parentOrganizationIdentifier");
if (parentOrganizationIdentifier.isBlank())
throw new IllegalArgumentException("parentOrganizationIdentifier blank");
Objects.requireNonNull(organizatioRoleSystem, "organizatioRoleSystem");
if (organizatioRoleSystem.isBlank())
throw new IllegalArgumentException("organizatioRoleSystem blank");
Objects.requireNonNull(organizationRoleSystem, "organizationRoleSystem");
if (organizationRoleSystem.isBlank())
throw new IllegalArgumentException("organizationRoleSystem blank");
Objects.requireNonNull(organizationRoleCode, "organizationRoleCode");
if (organizationRoleCode.isBlank())
throw new IllegalArgumentException("organizationRoleCode blank");

this.localIdentity = localIdentity;
this.parentOrganizationIdentifier = parentOrganizationIdentifier;
this.organizationRoleSystem = organizatioRoleSystem;
this.organizationRoleSystem = organizationRoleSystem;
this.organizationRoleCode = organizationRoleCode;

this.practitionerRoleSystem = practitionerRoleSystem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public String get(Variables variables, Target target)
}
},
/**
* Generates an alternative buisness-key for the current process instance and uses the alternative when sending Task
* Generates an alternative business-key for the current process instance and uses the alternative when sending Task
* resources.
* <p>
* This can be used to hide the current business-key from the target, but allows the target to reply using the send
Expand Down Expand Up @@ -66,7 +66,6 @@ public String get(Variables variables, Target target)
{
return createBusinessKey();
}

};

private static String createBusinessKey()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ default PrivateKey readPrivateKey(Path pem, char[] password) throws IOException
/**
* @param certificate
* not <code>null</code>
* @return <code>true</code> if the given <b>certificate</b> not-after field is after {@link ZonedDateTime#now()}
* @return <code>true</code> if {@link ZonedDateTime#now()} is after the given <b>certificate</b>s not-after field
*/
boolean isCertificateExpired(X509Certificate certificate);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,9 +243,9 @@ public boolean isDefaultUserTaskListenerOrSuperClassOf(String className)
}
catch (BeansException | ClassNotFoundException | ClassCastException e)
{
logger.debug("Unable check if {} is super class of {}", className,
getDefaultUserTaskListenerClass().getName(), e);
logger.warn("Unable check if {} is super class of {}: {} - {}", className,
logger.debug("Unable check if {} is subclass of {}", className, getDefaultUserTaskListenerClass().getName(),
e);
logger.warn("Unable check if {} is subclass of {}: {} - {}", className,
getDefaultUserTaskListenerClass().getName(), e.getClass().getName(), e.getMessage());

throw new RuntimeException(e);
Expand Down Expand Up @@ -759,8 +759,8 @@ private boolean isValid(BpmnFileAndModel fileAndModel)
if (!getDefinitionResourceVersion().equals(processKeyAndVersion.getVersion()))
{
logger.warn(
"Operaton version tag of process in '{}' does not match process plugin version (tag: {} vs. plugin: {})",
fileAndModel.file(), processKeyAndVersion.getVersion(), getDefinitionVersion());
"Operaton version tag of process in '{}' does not match process plugin resource version (tag: {} vs. plugin: {})",
fileAndModel.file(), processKeyAndVersion.getVersion(), getDefinitionResourceVersion());
return false;
}
if (!PROCESS_ID_PATTERN.matcher(processKeyAndVersion.getId()).matches())
Expand Down Expand Up @@ -1113,10 +1113,10 @@ else if (fhirConfig.isValueSet(resource))
};
}

private boolean isValidMetadataResouce(Object resource, String file)
private boolean isValidMetadataResource(Object resource, String file)
{
boolean urlOk = fhirConfig.hasMetadataResourceUrl(resource);
boolean versionDefined = fhirConfig.hasMetadataresourceVersion(resource);
boolean versionDefined = fhirConfig.hasMetadataResourceVersion(resource);
boolean versionOk = versionDefined && fhirConfig.getMetadataResourceVersion(resource)
.map(v -> v.equals(getDefinitionResourceVersion())).orElse(false);

Expand Down Expand Up @@ -1158,7 +1158,7 @@ private boolean hasProfile(String file, Object resource, String profile)
private boolean isValidActivityDefinition(String file, Object resource)
{
boolean hasProfile = hasProfile(file, resource, P_ACTIVITY_DEFINITION);
boolean metadataResourceOk = isValidMetadataResouce(resource, file);
boolean metadataResourceOk = isValidMetadataResource(resource, file);
boolean urlOk = fhirConfig.getActivityDefinitionUrl(resource)
.map(u -> ACTIVITY_DEFINITION_URL_PATTERN.matcher(u).matches()).orElse(false);

Expand All @@ -1173,17 +1173,17 @@ private boolean isValidActivityDefinition(String file, Object resource)

private boolean isValidCodeSystem(String file, Object resource)
{
return hasProfile(file, resource, P_CODE_SYSTEM) && isValidMetadataResouce(resource, file);
return hasProfile(file, resource, P_CODE_SYSTEM) && isValidMetadataResource(resource, file);
}

private boolean isValidLibrary(String file, Object resource)
{
return hasProfile(file, resource, P_LIBRARY) && isValidMetadataResouce(resource, file);
return hasProfile(file, resource, P_LIBRARY) && isValidMetadataResource(resource, file);
}

private boolean isValidMeasure(String file, Object resource)
{
return hasProfile(file, resource, P_MEASURE) && isValidMetadataResouce(resource, file);
return hasProfile(file, resource, P_MEASURE) && isValidMetadataResource(resource, file);
}

private boolean isValidNamingSystem(String file, Object resource)
Expand Down Expand Up @@ -1211,7 +1211,7 @@ private boolean isValidQuestionnaire(String file, Object resource)
file, getDefinitionName(), getDefinitionVersion());
}

return hasProfile && hasQuestionnaireItemsWithRequired && isValidMetadataResouce(resource, file);
return hasProfile && hasQuestionnaireItemsWithRequired && isValidMetadataResource(resource, file);
}

private boolean isValidStructureDefinition(String file, Object resource)
Expand All @@ -1237,7 +1237,7 @@ private boolean isValidStructureDefinition(String file, Object resource)
}

return hasProfile && hasStructureDefinitionTaskDsfValueSetBindingsWithoutVersion && baseDefinitionOk
&& isValidMetadataResouce(resource, file);
&& isValidMetadataResource(resource, file);
}

private boolean isValidTask(String file, Object resource, String localOrganizationIdentifierValue)
Expand Down Expand Up @@ -1378,7 +1378,7 @@ private boolean isLocalOrganization(Reference reference, String refLocation, Str

private boolean isValidValueSet(String file, Object resource)
{
return hasProfile(file, resource, P_VALUE_SET) && isValidMetadataResouce(resource, file);
return hasProfile(file, resource, P_VALUE_SET) && isValidMetadataResource(resource, file);
}

private List<BpmnFileAndModel> filterBpmnModelsWithoutMatchingActivityDefinitions(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public static final record Reference(Optional<String> system, Optional<String> v
private final Function<Object, byte[]> encodeResource;
private final Function<Object, Optional<String>> getResourceName;

private final Predicate<Object> hasMetadataresourceVersion;
private final Predicate<Object> hasMetadataResourceVersion;
private final Predicate<Object> hasMetadataResourceUrl;
private final Function<Object, Optional<String>> getMetadataResourceVersion;

Expand Down Expand Up @@ -137,7 +137,7 @@ public ProcessPluginFhirConfig(Class<R> resourceClass, Class<A> activityDefiniti
this.getResourceName = getResourceName;

this.hasMetadataResourceUrl = hasMetadataResourceUrl;
this.hasMetadataresourceVersion = hasMetadataResourceVersion;
this.hasMetadataResourceVersion = hasMetadataResourceVersion;
this.getMetadataResourceVersion = getMetadataResourceVersion;

this.getActivityDefinitionUrl = getActivityDefinitionUrl;
Expand Down Expand Up @@ -284,9 +284,9 @@ public boolean hasMetadataResourceUrl(Object metadataResource)
return isMetadataResource(metadataResource) && hasMetadataResourceUrl.test(metadataResource);
}

public boolean hasMetadataresourceVersion(Object metadataResource)
public boolean hasMetadataResourceVersion(Object metadataResource)
{
return isMetadataResource(metadataResource) && hasMetadataresourceVersion.test(metadataResource);
return isMetadataResource(metadataResource) && hasMetadataResourceVersion.test(metadataResource);
}

public Optional<String> getMetadataResourceVersion(Object metadataResource)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,10 @@
import org.hl7.fhir.r4.model.Bundle;
import org.hl7.fhir.r4.model.Resource;

class BasicWebserviceCientWithRetryImpl extends AbstractWebserviceClientJerseyWithRetry implements BasicWebserviceClient
class BasicWebserviceClientWithRetryImpl extends AbstractWebserviceClientJerseyWithRetry
implements BasicWebserviceClient
{
BasicWebserviceCientWithRetryImpl(WebserviceClientJersey delegate, int nTimes, Duration delayMillis)
BasicWebserviceClientWithRetryImpl(WebserviceClientJersey delegate, int nTimes, Duration delayMillis)
{
super(delegate, nTimes, delayMillis);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ PreferReturn create(PreferReturnType returnType, Resource resource)
throw handleError(response);
}

PreferReturn createConditionaly(PreferReturnType returnType, Resource resource, String ifNoneExistCriteria)
PreferReturn createConditionally(PreferReturnType returnType, Resource resource, String ifNoneExistCriteria)
{
Objects.requireNonNull(returnType, "returnType");
Objects.requireNonNull(resource, "resource");
Expand Down Expand Up @@ -253,7 +253,7 @@ PreferReturn update(PreferReturnType returnType, Resource resource)
throw handleError(response);
}

PreferReturn updateConditionaly(PreferReturnType returnType, Resource resource, Map<String, List<String>> criteria)
PreferReturn updateConditionally(PreferReturnType returnType, Resource resource, Map<String, List<String>> criteria)
{
Objects.requireNonNull(returnType, "returnType");
Objects.requireNonNull(resource, "resource");
Expand Down Expand Up @@ -364,7 +364,7 @@ public BasicWebserviceClient withRetry(int nTimes, Duration delay)
if (delay == null || delay.isNegative())
throw new IllegalArgumentException("delay null or negative");

return new BasicWebserviceCientWithRetryImpl(this, nTimes, delay);
return new BasicWebserviceClientWithRetryImpl(this, nTimes, delay);
}

@Override
Expand All @@ -373,6 +373,6 @@ public BasicWebserviceClient withRetryForever(Duration delay)
if (delay == null || delay.isNegative())
throw new IllegalArgumentException("delay null or negative");

return new BasicWebserviceCientWithRetryImpl(this, RETRY_FOREVER, delay);
return new BasicWebserviceClientWithRetryImpl(this, RETRY_FOREVER, delay);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@ public OidcAuth(@JsonProperty(OidcAuth.PROPERTY_BASE_URL) String baseUrl,
this.verifyAuthorizedParty = verifyAuthorizedParty;
}

@Override
public String baseUrl()
{
if (baseUrl != null && baseUrl.endsWith("/"))
Expand All @@ -407,6 +408,7 @@ public String baseUrl()
return baseUrl;
}

@Override
public String discoveryPath()
{
if (discoveryPath != null && !discoveryPath.startsWith("/"))
Expand Down Expand Up @@ -508,6 +510,7 @@ public FhirClientConfigYaml(@JsonProperty(FhirClientConfigYaml.PROPERTY_BASE_URL
this.oidcAuth = oidcAuth;
}

@Override
public String baseUrl()
{
if (baseUrl != null && baseUrl.endsWith("/"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ private void stopProcess(ProcessIdAndVersion processIdAndVersion, DelegateExecut

try
{
searchInProgessTasks(execution.getBusinessKey()).forEach(task ->
searchInProgressTasks(execution.getBusinessKey()).forEach(task ->
{
try
{
Expand Down Expand Up @@ -226,15 +226,15 @@ private void stopProcess(ProcessIdAndVersion processIdAndVersion, DelegateExecut
"Plugin for process " + processIdAndVersion + " not found");
}

protected final Stream<Task> searchInProgessTasks(String businessKey)
protected final Stream<Task> searchInProgressTasks(String businessKey)
{
List<Stream<BundleEntryComponent>> resources = new ArrayList<>();

boolean hasMore = true;
int page = 1;
while (hasMore)
{
Bundle resultBundle = searchInProgessTasks(page++);
Bundle resultBundle = searchInProgressTasks(page++);

resources.add(resultBundle.getEntry().stream().filter(BundleEntryComponent::hasSearch)
.filter(BundleEntryComponent::hasResource));
Expand All @@ -248,7 +248,7 @@ protected final Stream<Task> searchInProgessTasks(String businessKey)
.filter(r -> r instanceof Task).map(r -> (Task) r).filter(hasBusinessKey(businessKey));
}

private Bundle searchInProgessTasks(int page)
private Bundle searchInProgressTasks(int page)
{
// TODO add business-key custom search parameter to FHIR server

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ protected TaskListener parseTaskListener(Element taskListenerElement, String tas
else
{
TaskListener taskListener = super.parseTaskListener(taskListenerElement, taskElementId);
logger.debug("Not modifying {} in BPMN element with id '{}", taskListener.getClass().getName(),
logger.debug("Not modifying {} in BPMN element with id '{}'", taskListener.getClass().getName(),
getElementId(taskListenerElement));
return taskListener;
}
Expand All @@ -149,7 +149,7 @@ public ExecutionListener parseExecutionListener(Element executionListenerElement
List<FieldDeclaration> fieldDeclarations = parseFieldDeclarations(executionListenerElement);

logger.debug("Modifying {} for {} in BPMN element with id '{}'",
MultiVersionClassDelegateTaskListener.class.getName(), className,
MultiVersionClassDelegateExecutionListener.class.getName(), className,
getElementId(executionListenerElement));
return new MultiVersionClassDelegateExecutionListener(className, fieldDeclarations, delegateProvider);
}
Expand Down
Loading
Loading