Skip to content

Commit

Permalink
build(dependencies): bump f!f version to 8.1.0-RC2-20240411.160355
Browse files Browse the repository at this point in the history
  • Loading branch information
MLenterman committed Apr 17, 2024
1 parent 691f178 commit 34a66a4
Show file tree
Hide file tree
Showing 9 changed files with 1,425 additions and 2,365 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Keep in sync with version in frank-runner.properties. Detailed instructions can be found in CONTRIBUTING.md.
# Check whether java-orig files have changed in F!F and update custom code (java and java-orig files) accordingly
ARG FF_VERSION=8.1.0-20240221.213323
ARG FF_VERSION=8.1.0-RC2-20240411.160355
FROM docker.io/frankframework/frankframework:${FF_VERSION} as ff-base

# Copy dependencies
Expand All @@ -9,7 +9,7 @@ COPY --chown=tomcat lib/webapp/* /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/


# Compile custom class
FROM eclipse-temurin:11-jdk-jammy AS custom-code-builder
FROM eclipse-temurin:17-jdk-jammy AS custom-code-builder

# Copy dependencies
COPY --from=ff-base /usr/local/tomcat/lib/ /usr/local/tomcat/lib/
Expand Down
7 changes: 5 additions & 2 deletions docker-compose.zaakbrug.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@ services:
- openforms2bpel

openforms2bpel:
build: .
image: wearefrank/openforms2bpel:latest
build:
context: .
args:
FF_VERSION: ${FF_VERSION:-8.1.0-RC2-20240411.160355}
image: wearefrank/openforms2bpel:${OPENFORMS2BPEL_VERSION:-latest}
environment:
- zaakbrug.zds.timezone=UTC
- TZ=Europe/Amsterdam
Expand Down
2 changes: 1 addition & 1 deletion frank-runner.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ff.version=8.1.0-20240221.213323
ff.version=8.1.0-RC2-20240411.160355
310 changes: 145 additions & 165 deletions src/main/FrankConfig.xsd

Large diffs are not rendered by default.

3,306 changes: 1,173 additions & 2,133 deletions src/main/configurations/FrankConfig.xsd

Large diffs are not rendered by default.

73 changes: 41 additions & 32 deletions src/main/java/org/frankframework/parameters/Parameter.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ public class Parameter implements IConfigurable, IWithParameters {
public static final String TYPE_DATE_PATTERN="yyyy-MM-dd";
public static final String TYPE_TIME_PATTERN="HH:mm:ss";
public static final String TYPE_DATETIME_PATTERN="yyyy-MM-dd HH:mm:ss";

public static final String TYPE_TIMESTAMP_PATTERN= DateFormatUtils.FORMAT_FULL_GENERIC;

public static final String FIXEDUID ="0a1b234c--56de7fa8_9012345678b_-9cd0";
Expand Down Expand Up @@ -581,7 +580,7 @@ public Object getValue(ParameterValueList alreadyResolvedParameters, Message mes
authType = appConstants.getProperty("openforms2bpel.objects-api.auth-type", ""); // "jwt", "basic", "value"
authAlias = appConstants.getProperty("openforms2bpel.objects-api.auth-alias", "");
} else {
throw new ParameterException("Parameter ["+getName()+"] unable to resolve ["+strResult+"] to a known api type");
throw new ParameterException(getName(), "unable to resolve ["+strResult+"] to a known api type");
}

CredentialFactory credentialFactory = new CredentialFactory(authAlias);
Expand All @@ -601,7 +600,7 @@ public Object getValue(ParameterValueList alreadyResolvedParameters, Message mes
} else if ("value".equalsIgnoreCase(authType)){
result = secret;
} else {
throw new ParameterException("Parameter ["+getName()+"] unknown auth-type ["+authType+"], must be 'jwt', 'basic' or 'value'");
throw new ParameterException(getName(), "unknown auth-type ["+authType+"], must be 'jwt', 'basic' or 'value'");
}
}
} else {
Expand All @@ -622,10 +621,15 @@ public Object getValue(ParameterValueList alreadyResolvedParameters, Message mes
}

if (result instanceof Message) { //we just need to check if the message is null or not!
if (Message.isNull((Message)result)) {
Message resultMessage = (Message) result;
if (Message.isNull(resultMessage)) {
result = null;
} else if (((Message)result).asObject() instanceof String) { //Used by getMinLength and getMaxLength
result = ((Message) result).asObject();
} else if (resultMessage.isRequestOfType(String.class)) { //Used by getMinLength and getMaxLength
try {
result = resultMessage.asString();
} catch (IOException ignored) {
// Already checked for String, so this should never happen
}
}
}
if (result != null && !"".equals(result)) {
Expand Down Expand Up @@ -709,18 +713,17 @@ private Object getValueAsType(Object request, boolean namespaceAware) throws Par
Message requestMessage = Message.asMessage(request);
Object result = request;
try {
Object requestObject = requestMessage.asObject();
switch(getType()) {
case NODE:
try {
if (isRemoveNamespaces()) {
requestMessage = XmlUtils.removeNamespaces(requestMessage);
}
if(requestObject instanceof Document) {
return ((Document)requestObject).getDocumentElement();
if(request instanceof Document) {
return ((Document)request).getDocumentElement();
}
if(requestObject instanceof Node) {
return requestObject;
if(request instanceof Node) {
return request;
}
result = XmlUtils.buildDomDocument(requestMessage.asInputSource(), namespaceAware).getDocumentElement();
final Object finalResult = result;
Expand All @@ -734,8 +737,8 @@ private Object getValueAsType(Object request, boolean namespaceAware) throws Par
if (isRemoveNamespaces()) {
requestMessage = XmlUtils.removeNamespaces(requestMessage);
}
if(requestObject instanceof Document) {
return requestObject;
if(request instanceof Document) {
return request;
}
result = XmlUtils.buildDomDocument(requestMessage.asInputSource(), namespaceAware);
final Object finalResult = result;
Expand All @@ -748,8 +751,8 @@ private Object getValueAsType(Object request, boolean namespaceAware) throws Par
case DATETIME:
case TIMESTAMP:
case TIME: {
if (requestObject instanceof Date) {
return requestObject;
if (request instanceof Date) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to Date using formatString [{}]", this::getName, () -> finalRequestMessage, this::getFormatString);
Expand All @@ -762,17 +765,17 @@ private Object getValueAsType(Object request, boolean namespaceAware) throws Par
break;
}
case XMLDATETIME: {
if (requestObject instanceof Date) {
return requestObject;
if (request instanceof Date) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] from XML dateTime to Date", this::getName, () -> finalRequestMessage);
result = XmlUtils.parseXmlDateTime(requestMessage.asString());
break;
}
case NUMBER: {
if (requestObject instanceof Number) {
return requestObject;
if (request instanceof Number) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to number decimalSeparator [{}] groupingSeparator [{}]", this::getName, ()->finalRequestMessage, decimalFormatSymbols::getDecimalSeparator, decimalFormatSymbols::getGroupingSeparator);
Expand All @@ -786,8 +789,8 @@ private Object getValueAsType(Object request, boolean namespaceAware) throws Par
break;
}
case INTEGER: {
if (requestObject instanceof Integer) {
return requestObject;
if (request instanceof Integer) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to integer", this::getName, ()->finalRequestMessage);
Expand All @@ -799,8 +802,8 @@ private Object getValueAsType(Object request, boolean namespaceAware) throws Par
break;
}
case BOOLEAN: {
if (requestObject instanceof Boolean) {
return requestObject;
if (request instanceof Boolean) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to boolean", this::getName, ()->finalRequestMessage);
Expand Down Expand Up @@ -858,7 +861,7 @@ private String formatPattern(ParameterValueList alreadyResolvedParameters, PipeL
}

private Object preFormatDateType(Object rawValue, String formatType, String patternFormatString) throws ParameterException {
if (formatType!=null && (formatType.equalsIgnoreCase("date") || formatType.equalsIgnoreCase("time"))) {
if (formatType!=null && ("date".equalsIgnoreCase(formatType) || "time".equalsIgnoreCase(formatType))) {
if (rawValue instanceof Date) {
return rawValue;
}
Expand Down Expand Up @@ -891,16 +894,22 @@ private Object getValueForFormatting(ParameterValueList alreadyResolvedParameter
Object substitutionValue = paramValue == null ? null : paramValue.getValue();

if (substitutionValue == null) {
Message substitutionValueMessage = session.getMessage(name);
if (!substitutionValueMessage.isEmpty()) {
if (substitutionValueMessage.asObject() instanceof Date) {
substitutionValue = preFormatDateType(substitutionValueMessage.asObject(), formatType, formatString);
Object substitutionValueMessage = session.get(name);
if (substitutionValueMessage != null) {
if (substitutionValueMessage instanceof Date) {
substitutionValue = preFormatDateType(substitutionValueMessage, formatType, formatString);
} else {
try {
substitutionValue = substitutionValueMessage.asString();
} catch (IOException e) {
throw new ParameterException(getName(), "Cannot get substitution value", e);
if (substitutionValueMessage instanceof String) {
substitutionValue = substitutionValueMessage;
} else {
try {
Message message = Message.asMessage(substitutionValueMessage); // Do not close object from session here; might be reused later
substitutionValue = message.asString();
} catch (IOException e) {
throw new ParameterException(getName(), "Cannot get substitution value from session key: " + name, e);
}
}
if (substitutionValue == null) throw new ParameterException(getName(), "Cannot get substitution value from session key: " + name);
}
}
}
Expand Down
70 changes: 40 additions & 30 deletions src/main/java/org/frankframework/parameters/Parameter.java-orig
Original file line number Diff line number Diff line change
Expand Up @@ -563,10 +563,15 @@ public class Parameter implements IConfigurable, IWithParameters {
}

if (result instanceof Message) { //we just need to check if the message is null or not!
if (Message.isNull((Message)result)) {
Message resultMessage = (Message) result;
if (Message.isNull(resultMessage)) {
result = null;
} else if (((Message)result).asObject() instanceof String) { //Used by getMinLength and getMaxLength
result = ((Message) result).asObject();
} else if (resultMessage.isRequestOfType(String.class)) { //Used by getMinLength and getMaxLength
try {
result = resultMessage.asString();
} catch (IOException ignored) {
// Already checked for String, so this should never happen
}
}
}
if (result != null && !"".equals(result)) {
Expand Down Expand Up @@ -650,18 +655,17 @@ public class Parameter implements IConfigurable, IWithParameters {
Message requestMessage = Message.asMessage(request);
Object result = request;
try {
Object requestObject = requestMessage.asObject();
switch(getType()) {
case NODE:
try {
if (isRemoveNamespaces()) {
requestMessage = XmlUtils.removeNamespaces(requestMessage);
}
if(requestObject instanceof Document) {
return ((Document)requestObject).getDocumentElement();
if(request instanceof Document) {
return ((Document)request).getDocumentElement();
}
if(requestObject instanceof Node) {
return requestObject;
if(request instanceof Node) {
return request;
}
result = XmlUtils.buildDomDocument(requestMessage.asInputSource(), namespaceAware).getDocumentElement();
final Object finalResult = result;
Expand All @@ -675,8 +679,8 @@ public class Parameter implements IConfigurable, IWithParameters {
if (isRemoveNamespaces()) {
requestMessage = XmlUtils.removeNamespaces(requestMessage);
}
if(requestObject instanceof Document) {
return requestObject;
if(request instanceof Document) {
return request;
}
result = XmlUtils.buildDomDocument(requestMessage.asInputSource(), namespaceAware);
final Object finalResult = result;
Expand All @@ -689,8 +693,8 @@ public class Parameter implements IConfigurable, IWithParameters {
case DATETIME:
case TIMESTAMP:
case TIME: {
if (requestObject instanceof Date) {
return requestObject;
if (request instanceof Date) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to Date using formatString [{}]", this::getName, () -> finalRequestMessage, this::getFormatString);
Expand All @@ -703,17 +707,17 @@ public class Parameter implements IConfigurable, IWithParameters {
break;
}
case XMLDATETIME: {
if (requestObject instanceof Date) {
return requestObject;
if (request instanceof Date) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] from XML dateTime to Date", this::getName, () -> finalRequestMessage);
result = XmlUtils.parseXmlDateTime(requestMessage.asString());
break;
}
case NUMBER: {
if (requestObject instanceof Number) {
return requestObject;
if (request instanceof Number) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to number decimalSeparator [{}] groupingSeparator [{}]", this::getName, ()->finalRequestMessage, decimalFormatSymbols::getDecimalSeparator, decimalFormatSymbols::getGroupingSeparator);
Expand All @@ -727,8 +731,8 @@ public class Parameter implements IConfigurable, IWithParameters {
break;
}
case INTEGER: {
if (requestObject instanceof Integer) {
return requestObject;
if (request instanceof Integer) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to integer", this::getName, ()->finalRequestMessage);
Expand All @@ -740,8 +744,8 @@ public class Parameter implements IConfigurable, IWithParameters {
break;
}
case BOOLEAN: {
if (requestObject instanceof Boolean) {
return requestObject;
if (request instanceof Boolean) {
return request;
}
Message finalRequestMessage = requestMessage;
LOG.debug("Parameter [{}] converting result [{}] to boolean", this::getName, ()->finalRequestMessage);
Expand Down Expand Up @@ -799,7 +803,7 @@ public class Parameter implements IConfigurable, IWithParameters {
}

private Object preFormatDateType(Object rawValue, String formatType, String patternFormatString) throws ParameterException {
if (formatType!=null && (formatType.equalsIgnoreCase("date") || formatType.equalsIgnoreCase("time"))) {
if (formatType!=null && ("date".equalsIgnoreCase(formatType) || "time".equalsIgnoreCase(formatType))) {
if (rawValue instanceof Date) {
return rawValue;
}
Expand Down Expand Up @@ -832,16 +836,22 @@ public class Parameter implements IConfigurable, IWithParameters {
Object substitutionValue = paramValue == null ? null : paramValue.getValue();

if (substitutionValue == null) {
Message substitutionValueMessage = session.getMessage(name);
if (!substitutionValueMessage.isEmpty()) {
if (substitutionValueMessage.asObject() instanceof Date) {
substitutionValue = preFormatDateType(substitutionValueMessage.asObject(), formatType, formatString);
Object substitutionValueMessage = session.get(name);
if (substitutionValueMessage != null) {
if (substitutionValueMessage instanceof Date) {
substitutionValue = preFormatDateType(substitutionValueMessage, formatType, formatString);
} else {
try {
substitutionValue = substitutionValueMessage.asString();
} catch (IOException e) {
throw new ParameterException(getName(), "Cannot get substitution value", e);
if (substitutionValueMessage instanceof String) {
substitutionValue = substitutionValueMessage;
} else {
try {
Message message = Message.asMessage(substitutionValueMessage); // Do not close object from session here; might be reused later
substitutionValue = message.asString();
} catch (IOException e) {
throw new ParameterException(getName(), "Cannot get substitution value from session key: " + name, e);
}
}
if (substitutionValue == null) throw new ParameterException(getName(), "Cannot get substitution value from session key: " + name);
}
}
}
Expand Down Expand Up @@ -1124,4 +1134,4 @@ public class Parameter implements IConfigurable, IWithParameters {
public void setMode(ParameterMode mode) {
this.mode = mode;
}
}
}
1 change: 1 addition & 0 deletions src/main/resources/DeploymentSpecifics.properties
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ configurations.names=bpel,Objects API,Notifications API
classloader.type=DirectoryClassLoader
ibistesttool.custom=Custom
ibistesttool.directory=/opt/frank/ladybug
ladybug.jdbc.datasource=

zaakbrug.zgw.zaken-api.root-url=http://localhost:8000/zaken/api/v1/
zaakbrug.zgw.zaken-api.timeout=20000
Expand Down
17 changes: 17 additions & 0 deletions src/main/resources/ladybug/DatabaseChangelog_Custom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>

<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

<!-- See src/main/resources/springIbisTestToolCustom.xml -->
<changeSet id="LadybugCustom:1" author="Meric">
<comment>Add missing Zaakbrug related Columns</comment>
<addColumn tableName="LADYBUG">
<column name="SOAPACTION" type="VARCHAR(256)"/>
<column name="IDENTIFICATIE" type="VARCHAR(256)"/>
</addColumn>
</changeSet>
</databaseChangeLog>

0 comments on commit 34a66a4

Please sign in to comment.