45 Commits

Author SHA1 Message Date
Justin Bertram
7ca30e9a63 ARTEMIS-4796 simplify SimpleString API
This commit does the following:

 - deprecate the verbosely named `toSimpleString` static factory
   methods
 - add `of` static factory methods for all the ctors
 - replace any uses of the normal ctors with the `of` counterparts

This makes the code more concise and readable.
2024-06-06 11:53:03 -04:00
Robbie Gemmell
362dbd11ac ARTEMIS-4790: use JUnit 5 for the tests 2024-06-03 10:06:37 -05:00
Justin Bertram
fc6f0ee9ec ARTEMIS-4740 reduce unnecessary boxing 2024-04-27 09:36:05 -05:00
Domenico Francesco Bruscino
6736c525e6 ARTEMIS-4693 Improve XPath filter performance
In most use cases there are broker instances with few XPath filters performed
many times, so reusing a compiled XPath expression improves XPath filter
performance
2024-03-19 09:19:42 -04:00
Justin Bertram
93e0826a38 ARTEMIS-4687 concurrent use of DocumentBuilder breaking Xpath filtering 2024-03-13 23:22:14 -04:00
Robbie Gemmell
f790911c44 ARTEMIS-4110: insert standard ASF licence header comment in various cases, such as to replace a javadoc header 2022-12-07 10:21:25 +00:00
Domenico Francesco Bruscino
3a13a7850c ARTEMIS-4077 Add an option to disable XML external entity processing 2022-11-15 10:06:03 -06:00
Timothy Bish
b900a1e4bd ARTEMIS-4020 Standardize the naming of Logger types for consistency
Attempt to standardize all Logger declaration to a singular variable name
which makes the code more consistent and make finding usages of loggers in
the code a bit easier.
2022-10-13 12:40:45 -04:00
Clebert Suconic
12cc70c5bf ARTEMIS-4020 Using a little trick to create the Loggers
Trick provided by Tim Bish
2022-09-29 17:46:51 -04:00
Robbie Gemmell
9873fccf74 ARTEMIS-4020: switch to using SLF4J API for logging, use Log4J 2 as impl for broker distribution and tests
PR includes work from myself and Clebert Suconic, squashed from the new-logging branch.
2022-09-28 14:01:54 -04:00
Justin Bertram
8b56c04293
ARTEMIS-3962 porting changes from AMQ-5281
Incorrect handling of unknown values in selectors.

There is a slight semantic change here due to an error in the way we
were handling null identifiers. This may require a change in selector
syntax to use "IS NULL" or "IS NOT NULL" when using identifiers which
may be null in the message being selected.

This was the case for an internal filter used by the cluster connection
bridge to select which cluster notification messages to consume.

See https://issues.apache.org/jira/browse/AMQ-5281 for more details.
2022-09-19 14:45:05 -05:00
Justin Bertram
f11b96e7ed
ARTEMIS-3962 porting changes from AMQ-8613
Improve performance of selectors with a big sequence of OR and AND
logical expressions.
2022-09-19 14:45:05 -05:00
Justin Bertram
f0ff385c7c
ARTEMIS-3962 porting changes from AMQ-9052
Optimisations to improve the efficiency of the selectors.
2022-09-19 14:45:05 -05:00
Robbie Gemmell
c45b87d6ed ARTEMIS-3304: replace use of deprecated constructors marked as for-removal since Java 16 2021-05-17 15:27:28 +01:00
Justin Bertram
eb26f67ab6 ARTEMIS-3137 support XPath filters
Change summary:
 - Remove the existing Xalan-based XPath evaluator since Xalan appears
   to be no longer maintained.
 - Implement a JAXP XPath evaluator (from the ActiveMQ 5.x code-base).
 - Pull in the changes from https://issues.apache.org/jira/browse/AMQ-5333
   to enable configurable XML parser features.
 - Add a method to the base Message interface to make it easier to get
   the message body as a string. This relieves the filter from having
   to deal with message implementation details.
 - Update the Qpid JMS client to get the jms.validateSelector parameter.
2021-03-10 09:32:23 -05:00
Emmanuel Hugonnet
efe0f468de ARTEMIS-2109: Updating the build to be able to execute it on Java 11 and Java 8. 2020-06-11 18:50:01 +01:00
Clebert Suconic
88b7ee36a3 ARTEMIS-2761 Supporting Quoted IDs to allow complex names in AMQP
copied/borrowed from fd2139c27d
2020-05-13 10:46:11 -04:00
Clebert Suconic
ca4c4068df ARTEMIS-2732 Logging cleanup 2020-04-23 17:49:08 -04:00
Clebert Suconic
3541ebf218 ARTEMIS-2732 Cleanup on testsuite logging 2020-04-22 23:08:46 -04:00
Justin Bertram
2d7c5322a7 ARTEMIS-2017 Eliminate LRUCache from SelectorParser
The LRUCache is not thread-safe and it's usage in SelectorParser could
cause growth beyond its configured max size. Instead of modifying the
LRUCache to be thread-safe or synchronizing access to it in
SelectorParser it should just be removed since it's not on a hot path.
2018-08-09 19:36:22 -04:00
Michael André Pearce
332cee8e66 ARTEMIS-1997 - un-needed SimpleString creation on hotpath with Filters
Create the SimpleString on construction of PropertyExpression so it can be re-used instead of creating it every time its filtered in the FilterImpl
2018-07-31 14:17:20 -04:00
Jiri Danek
a7a0535afa NO-JIRA Fixing typos in log messages, test names and comments
Related to ARTEMIS-387 (fowardingAddress)
2017-02-20 20:54:45 -05:00
Ville Skyttä
6fbafc4441 Fix NPE in empty InExpression.toString 2016-10-13 00:25:29 +03:00
Clebert Suconic
ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Ville Skyttä
d5242978d5 for and while loop to foreach conversions 2016-08-25 14:22:32 -04:00
Ville Skyttä
d09209936a Fix CCE in UnaryExpression.equals 2016-07-28 23:30:02 +03:00
Timothy Bish
5c29cc9a28 ARTEMIS-568 Catch broken JMS selector expressions
Enforce an EOF on the expression so the selector parser keeps going and
catches the broken selector statement.
2016-06-14 19:05:27 -04:00
Ville Skyttä
3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
Ville Skyttä
cf00dd9b1b Avoid instantiating some number objects 2016-04-11 16:53:48 -04:00
Ville Skyttä
3a2d5de49e Remove unnecessary code 2016-04-04 11:04:49 -05:00
Ville Skyttä
4045d47daa Spelling fixes 2016-04-04 11:04:13 -05:00
Ville Skyttä
d12743fcde HTML fixes 2016-03-07 15:50:27 -05:00
Ville Skyttä
7c275cdb1a Use generics more 2016-02-28 01:06:59 +02:00
gtully
a337df705e ARTEMIS-356 - better support for special characters in like selector escape
https://issues.apache.org/jira/browse/ARTEMIS-356
https://issues.apache.org/jira/browse/AMQ-6137
2016-01-22 16:30:16 +00:00
Ville Skyttä
f8a1c5ba8e Remove redundant type arguments 2015-12-07 22:55:05 +02:00
Ville Skyttä
3b5ee6c7ea Remove unnecessary casts 2015-12-07 22:53:42 +02:00
Ville Skyttä
25ae472455 Add missing @Override annotations 2015-12-06 01:27:35 +02:00
Clebert Suconic
bac96047f5 automatic checkstyle change
this is just calling Idea format on all the files using the new style
I am separating manual changes from automatic changes in case I have to repeat the manual changes again
2015-08-10 09:26:42 -04:00
Ville Skyttä
b0a80ce1be Spelling fixes 2015-07-09 10:41:03 -04:00
Daniel Kulp
419a3cc213 Start working on trying to get the javadoc stuff to pass without the lint stuff.
"mvn install" now works without the lint, but a "mvn install javadoc:jar" still fails.   Since that is what the release plugin uses, need to keep the lint there for now.  Still lots of failures.
2015-06-09 15:29:58 -04:00
Thiago Kronig
d48b4f4770 ARTEMIS-129 License header should be a normal comment
To reproduce this commit, apply a replace regex rule using:

    search regex: /\*\*\n \* Licensed
    replace: /\*\n \* Licensed

These files had to be changed manually:

    artemis-selector/src/main/javacc/HyphenatedParser.jj
    artemis-selector/src/main/javacc/StrictParser.jj
    artemis-website/src/main/resources/styles/impact/css/pygmentize.css
    artemis-website/src/main/resources/styles/impact/css/site.css
2015-06-03 10:19:45 -04:00
Clebert Suconic
a6b8a09b65 Cleanup issues reported by error prone
We had a few reported small issues on the codebase from the recent introduced google error prone.
This should eliminate any issues, and I am making sure these won't happen again
2015-05-28 23:49:59 -04:00
Martyn Taylor
48d9951d87 ActiveMQ6-112 Add defaults to the selector parser doc builder 2015-05-21 13:00:11 +01:00
Justin Bertram
8f52a622d0 ACTIVEMQ6-1 Artemis rename
Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:48:02 -04:00
Clebert Suconic
f509c075c6 ACTIVEMQ6-1 Artemis rename
This commit is a simple mv of the files.. We required two commits to preserve history,
one to git mv, one for the actual changes...

otherwise history would be lost

Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:44:45 -04:00