diff --git a/pom.xml b/pom.xml
index 41dfd470..f8a453bc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,7 +48,7 @@
1.8
1.8
- 5.3.0
+ 5.3.0
5.16.3
2.11.1
1.11
diff --git a/src/main/java/org/exist/jms/messaging/MessagingJmsListener.java b/src/main/java/org/exist/jms/messaging/MessagingJmsListener.java
index a2a2c90e..6d0074ef 100644
--- a/src/main/java/org/exist/jms/messaging/MessagingJmsListener.java
+++ b/src/main/java/org/exist/jms/messaging/MessagingJmsListener.java
@@ -279,22 +279,22 @@ private MapType getMessageProperties(final Message msg, final XQueryContext xque
addStringKV(map, key, value);
} else if (obj instanceof Integer) {
- final Integer localValue = msg.getIntProperty(key);
+ final int localValue = msg.getIntProperty(key);
final ValueSequence vs = new ValueSequence(new IntegerValue(localValue));
addKV(map, key, vs);
} else if (obj instanceof Double) {
- final Double localValue = msg.getDoubleProperty(key);
+ final double localValue = msg.getDoubleProperty(key);
final ValueSequence vs = new ValueSequence(new DoubleValue(localValue));
addKV(map, key, vs);
} else if (obj instanceof Boolean) {
- final Boolean localValue = msg.getBooleanProperty(key);
+ final boolean localValue = msg.getBooleanProperty(key);
final ValueSequence vs = new ValueSequence(new BooleanValue(localValue));
addKV(map, key, vs);
} else if (obj instanceof Float) {
- final Float localValue = msg.getFloatProperty(key);
+ final float localValue = msg.getFloatProperty(key);
final ValueSequence vs = new ValueSequence(new FloatValue(localValue));
addKV(map, key, vs);
@@ -432,7 +432,7 @@ private Sequence processXML(final byte[] data, final boolean isGzipped) throws X
if (validationReport.isValid()) {
content = adapter.getDocument();
} else {
- final String txt = String.format("Received document is not valid: %s", validationReport.toString());
+ final String txt = String.format("Received document is not valid: %s", validationReport);
LOG.debug(txt);
throw new XPathException(JMS023, txt);
}
diff --git a/src/main/java/org/exist/jms/replication/subscribe/ReplicationJmsListener.java b/src/main/java/org/exist/jms/replication/subscribe/ReplicationJmsListener.java
index 4bb2bf3f..9dbc1d4f 100644
--- a/src/main/java/org/exist/jms/replication/subscribe/ReplicationJmsListener.java
+++ b/src/main/java/org/exist/jms/replication/subscribe/ReplicationJmsListener.java
@@ -29,7 +29,11 @@
import org.exist.dom.persistent.DocumentImpl;
import org.exist.jms.replication.shared.MessageHelper;
import org.exist.jms.replication.shared.ReplicationTxnManager;
-import org.exist.jms.shared.*;
+import org.exist.jms.shared.Constants;
+import org.exist.jms.shared.Identity;
+import org.exist.jms.shared.Report;
+import org.exist.jms.shared.eXistMessage;
+import org.exist.jms.shared.eXistMessagingListener;
import org.exist.security.Account;
import org.exist.security.Group;
import org.exist.security.Permission;
@@ -641,7 +645,9 @@ private void createCollection(final eXistMessage em) {
createOrCheckCollection(sourcePath);
// Update meta data
- updateCollectionMetadata(sourcePath, userName, groupName, mode, createTime);
+ try (final Collection collection = updateCollectionMetadata(sourcePath, userName, groupName, mode, createTime)) {
+ LOG.info("Updated meta data for {}", collection.getURI().toString());
+ }
}
/**
@@ -714,7 +720,7 @@ private Collection updateCollectionMetadata(final XmldbURI sourcePath, final Opt
permission.setMode(mode.get());
}
// Set Create time only
- createTime.ifPresent(collection::setCreationTime);
+ createTime.ifPresent(collection::setCreated);
broker.saveCollection(txn, collection);
@@ -897,7 +903,7 @@ private void updateMetadataCollection(final eXistMessage em) {
permission.setMode(mode.get());
}
- created.ifPresent(collection::setCreationTime);
+ created.ifPresent(collection::setCreated);
// Make persistent
broker.saveCollection(txn, collection);
diff --git a/src/main/java/org/exist/jms/shared/JmsConfiguration.java b/src/main/java/org/exist/jms/shared/JmsConfiguration.java
index db212bb3..b98ce89a 100644
--- a/src/main/java/org/exist/jms/shared/JmsConfiguration.java
+++ b/src/main/java/org/exist/jms/shared/JmsConfiguration.java
@@ -244,7 +244,7 @@ public void validate() throws XPathException {
public boolean isDurable() {
final String durable = getProperty(Constants.DURABLE);
- return durable == null ? false : BooleanUtils.toBoolean(durable);
+ return durable != null && BooleanUtils.toBoolean(durable);
}
diff --git a/src/main/java/org/exist/jms/shared/ReportItem.java b/src/main/java/org/exist/jms/shared/ReportItem.java
index 790ca246..c84bc5ad 100644
--- a/src/main/java/org/exist/jms/shared/ReportItem.java
+++ b/src/main/java/org/exist/jms/shared/ReportItem.java
@@ -36,8 +36,8 @@
public class ReportItem {
private final Date timestamp;
- private Throwable throwable = new Throwable("EMPTY");
- private CONTEXT context = CONTEXT.NOTDEFINED;
+ private Throwable throwable;
+ private CONTEXT context;
public ReportItem(final Throwable throwable, final CONTEXT context) {
this.timestamp = new Date();
diff --git a/src/main/java/org/exist/jms/xquery/management/ManageReceivers.java b/src/main/java/org/exist/jms/xquery/management/ManageReceivers.java
index b1b22e35..41c97c69 100644
--- a/src/main/java/org/exist/jms/xquery/management/ManageReceivers.java
+++ b/src/main/java/org/exist/jms/xquery/management/ManageReceivers.java
@@ -49,31 +49,31 @@ public class ManageReceivers extends BasicFunction {
new QName(START, JmsModule.NAMESPACE_URI, JmsModule.PREFIX), "Start receiver",
new SequenceType[]{
new FunctionParameterSequenceType(ID, Type.INTEGER, Cardinality.EXACTLY_ONE, RECEIVER_ID),},
- new SequenceType(Type.ITEM, Cardinality.EMPTY)
+ new SequenceType(Type.ITEM, Cardinality.EMPTY_SEQUENCE)
),
new FunctionSignature(
new QName(STOP, JmsModule.NAMESPACE_URI, JmsModule.PREFIX), "Stop receiver",
new SequenceType[]{
new FunctionParameterSequenceType(ID, Type.INTEGER, Cardinality.EXACTLY_ONE, RECEIVER_ID),},
- new SequenceType(Type.ITEM, Cardinality.EMPTY)
+ new SequenceType(Type.ITEM, Cardinality.EMPTY_SEQUENCE)
),
new FunctionSignature(
new QName(CLOSE, JmsModule.NAMESPACE_URI, JmsModule.PREFIX), "Close receiver",
new SequenceType[]{
new FunctionParameterSequenceType(ID, Type.INTEGER, Cardinality.EXACTLY_ONE, RECEIVER_ID),},
- new SequenceType(Type.ITEM, Cardinality.EMPTY)
+ new SequenceType(Type.ITEM, Cardinality.EMPTY_SEQUENCE)
),
new FunctionSignature(
new QName(REPORT, JmsModule.NAMESPACE_URI, JmsModule.PREFIX), "Get details of receiver",
new SequenceType[]{
new FunctionParameterSequenceType(ID, Type.INTEGER, Cardinality.EXACTLY_ONE, RECEIVER_ID),},
- new FunctionReturnSequenceType(Type.NODE, Cardinality.ONE, "XML fragment with receiver information")
+ new FunctionReturnSequenceType(Type.NODE, Cardinality.EXACTLY_ONE, "XML fragment with receiver information")
),
new FunctionSignature(
new QName(CLEARREPORT, JmsModule.NAMESPACE_URI, JmsModule.PREFIX), "Clear report",
new SequenceType[]{
new FunctionParameterSequenceType(ID, Type.INTEGER, Cardinality.EXACTLY_ONE, RECEIVER_ID),},
- new FunctionReturnSequenceType(Type.NODE, Cardinality.ONE, "Clear report of receiver")
+ new FunctionReturnSequenceType(Type.NODE, Cardinality.EXACTLY_ONE, "Clear report of receiver")
),};
public ManageReceivers(final XQueryContext context, final FunctionSignature signature) {
diff --git a/src/main/java/org/exist/jms/xquery/messaging/RegisterReceiver.java b/src/main/java/org/exist/jms/xquery/messaging/RegisterReceiver.java
index b9e2bfd9..7aab0085 100644
--- a/src/main/java/org/exist/jms/xquery/messaging/RegisterReceiver.java
+++ b/src/main/java/org/exist/jms/xquery/messaging/RegisterReceiver.java
@@ -29,7 +29,6 @@
import org.exist.jms.xquery.MessagingModule;
import org.exist.xquery.*;
import org.exist.xquery.functions.map.AbstractMapType;
-import org.exist.xquery.functions.request.RequestModule;
import org.exist.xquery.value.*;
import static org.exist.jms.shared.ErrorCodes.JMS010;
@@ -87,9 +86,10 @@ public Sequence eval(final Sequence[] args, final Sequence contextSequence) thro
final JmsConfiguration config = new JmsConfiguration();
config.loadConfiguration(configMap);
- // Remove Request module from expression and xquery context
- this.getContext().setModule(RequestModule.NAMESPACE_URI, null);
- context.setModule(RequestModule.NAMESPACE_URI, null);
+ // TODO why was this needed and why did we want to remove it.
+// // Remove Request module from expression and xquery context
+// this.getContext().setModule(RequestModule.NAMESPACE_URI, null);
+// context.setModule(RequestModule.NAMESPACE_URI, null);
// Setup listener, pass correct User object
// get user via Broker for compatibility < existdb 2.2
diff --git a/src/main/java/org/exist/jms/xquery/messaging/SendMessage.java b/src/main/java/org/exist/jms/xquery/messaging/SendMessage.java
index 62e28e7b..e5ca200b 100644
--- a/src/main/java/org/exist/jms/xquery/messaging/SendMessage.java
+++ b/src/main/java/org/exist/jms/xquery/messaging/SendMessage.java
@@ -46,11 +46,11 @@ public class SendMessage extends BasicFunction {
new QName("send", MessagingModule.NAMESPACE_URI, MessagingModule.PREFIX),
"Send JMS message",
new SequenceType[]{
- new FunctionParameterSequenceType("content", Type.ITEM, Cardinality.ONE, "Send message to remote server"),
+ new FunctionParameterSequenceType("content", Type.ITEM, Cardinality.EXACTLY_ONE, "Send message to remote server"),
new FunctionParameterSequenceType("jmsMessageProperties", Type.MAP, Cardinality.ZERO_OR_ONE, "Application-defined property values"),
- new FunctionParameterSequenceType("jmsConfiguration", Type.MAP, Cardinality.ONE, "JMS configuration settings")
+ new FunctionParameterSequenceType("jmsConfiguration", Type.MAP, Cardinality.EXACTLY_ONE, "JMS configuration settings")
},
- new FunctionReturnSequenceType(Type.NODE, Cardinality.ONE, "Confirmation message")
+ new FunctionReturnSequenceType(Type.NODE, Cardinality.EXACTLY_ONE, "Confirmation message")
),
};
diff --git a/src/main/java/org/exist/jms/xquery/replication/ReplicationSwitch.java b/src/main/java/org/exist/jms/xquery/replication/ReplicationSwitch.java
index c14d9ce4..bd1a8ba1 100644
--- a/src/main/java/org/exist/jms/xquery/replication/ReplicationSwitch.java
+++ b/src/main/java/org/exist/jms/xquery/replication/ReplicationSwitch.java
@@ -42,7 +42,7 @@ public class ReplicationSwitch extends BasicFunction {
new QName("enable-trigger", ReplicationModule.NAMESPACE_URI, ReplicationModule.PREFIX),
"Globally switch on/off the replication trigger", new SequenceType[]{
new FunctionParameterSequenceType("newStatus", Type.BOOLEAN, Cardinality.EXACTLY_ONE, "Value true() enables replication."),},
- new FunctionReturnSequenceType(Type.EMPTY, Cardinality.ZERO, "")
+ new FunctionReturnSequenceType(Type.EMPTY, Cardinality.EMPTY_SEQUENCE, "")
),};
public ReplicationSwitch(final XQueryContext context, final FunctionSignature signature) {
diff --git a/src/main/java/org/exist/jms/xquery/replication/SyncResource.java b/src/main/java/org/exist/jms/xquery/replication/SyncResource.java
index 1c7a15ee..e89f0227 100644
--- a/src/main/java/org/exist/jms/xquery/replication/SyncResource.java
+++ b/src/main/java/org/exist/jms/xquery/replication/SyncResource.java
@@ -58,13 +58,13 @@ public class SyncResource extends BasicFunction {
new QName("sync", ReplicationModule.NAMESPACE_URI, ReplicationModule.PREFIX),
"Synchronize resource", new SequenceType[]{
new FunctionParameterSequenceType("path", Type.STRING, Cardinality.EXACTLY_ONE, "Path to resource"),},
- new FunctionReturnSequenceType(Type.EMPTY, Cardinality.EMPTY, "No return value")
+ new FunctionReturnSequenceType(Type.EMPTY, Cardinality.EMPTY_SEQUENCE, "No return value")
),
new FunctionSignature(
new QName("sync-metadata", ReplicationModule.NAMESPACE_URI, ReplicationModule.PREFIX),
"Synchronize meta data of resource", new SequenceType[]{
new FunctionParameterSequenceType("path", Type.STRING, Cardinality.EXACTLY_ONE, "Path to resource"),},
- new FunctionReturnSequenceType(Type.EMPTY, Cardinality.EMPTY, "No return value")
+ new FunctionReturnSequenceType(Type.EMPTY, Cardinality.EMPTY_SEQUENCE, "No return value")
),};
public SyncResource(final XQueryContext context, final FunctionSignature signature) {
diff --git a/src/test/resources/activemq.xml b/src/test/resources/activemq.xml
index 7a1dd6f3..a0726525 100644
--- a/src/test/resources/activemq.xml
+++ b/src/test/resources/activemq.xml
@@ -4,7 +4,8 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
-
+