From d5fc8c232d57b25383589f6ebe578a07ceb00121 Mon Sep 17 00:00:00 2001 From: Dmytro Skarzhynets Date: Sun, 2 Aug 2026 14:23:57 +0300 Subject: [PATCH 1/2] chore: fix licensing metadata and packaging of the fork - ship the MVEL and ASM license texts in the published artifacts, including the javadoc jar - stop publishing the test and test-sources jars - mark the files modified from upstream, with the copyright line in the SPDX tag format - stamp the ThingsBoard-authored files with SPDX license headers, enforced by license-maven-plugin at build time - add a README and fix the hamcrest license name in a test attribution comment - fix the scm urls, use https for the license url, and declare the license by its SPDX name in the pom --- ASM-LICENSE.txt => ASM-LICENSE | 84 ++-- LICENSE.txt => LICENSE | 379 ++++++++++-------- README.md | 11 + apache-license-header-template.txt | 2 + pom.xml | 96 ++++- src/main/java/org/mvel2/CompileException.java | 5 + src/main/java/org/mvel2/DataTypes.java | 5 + src/main/java/org/mvel2/ExecutionContext.java | 4 + src/main/java/org/mvel2/MVEL.java | 5 + .../org/mvel2/MVELInterpretedRuntime.java | 5 + src/main/java/org/mvel2/MVELRuntime.java | 5 + src/main/java/org/mvel2/Operator.java | 5 + .../java/org/mvel2/ParserConfiguration.java | 5 + src/main/java/org/mvel2/ParserContext.java | 5 + src/main/java/org/mvel2/PropertyAccessor.java | 5 + .../java/org/mvel2/SandboxedClassLoader.java | 4 + .../mvel2/SandboxedParserConfiguration.java | 4 + .../ScriptExecutionStoppedException.java | 4 + .../mvel2/ScriptMemoryOverflowException.java | 4 + src/main/java/org/mvel2/ast/ASTNode.java | 5 + .../java/org/mvel2/ast/AssignmentNode.java | 5 + src/main/java/org/mvel2/ast/BreakNode.java | 17 +- .../java/org/mvel2/ast/DeclTypedVarNode.java | 5 + src/main/java/org/mvel2/ast/DoNode.java | 5 + src/main/java/org/mvel2/ast/DoUntilNode.java | 5 + src/main/java/org/mvel2/ast/ForEachNode.java | 5 + src/main/java/org/mvel2/ast/ForNode.java | 5 + src/main/java/org/mvel2/ast/Function.java | 5 + .../java/org/mvel2/ast/FunctionInstance.java | 5 + src/main/java/org/mvel2/ast/HasStatement.java | 4 + .../org/mvel2/ast/IndexedAssignmentNode.java | 5 + .../mvel2/ast/IndexedDeclTypedVarNode.java | 5 + .../org/mvel2/ast/IndexedPostFixDecNode.java | 5 + .../org/mvel2/ast/IndexedPostFixIncNode.java | 5 + .../org/mvel2/ast/IndexedPreFixDecNode.java | 5 + .../org/mvel2/ast/IndexedPreFixIncNode.java | 5 + .../org/mvel2/ast/InlineCollectionNode.java | 5 + .../java/org/mvel2/ast/NewObjectNode.java | 5 + .../java/org/mvel2/ast/OperativeAssign.java | 5 + .../java/org/mvel2/ast/PostFixDecNode.java | 5 + .../java/org/mvel2/ast/PostFixIncNode.java | 5 + .../java/org/mvel2/ast/PreFixDecNode.java | 5 + .../java/org/mvel2/ast/PreFixIncNode.java | 5 + src/main/java/org/mvel2/ast/Proto.java | 5 + .../mvel2/ast/PrototypalFunctionInstance.java | 5 + src/main/java/org/mvel2/ast/Stacklang.java | 5 + src/main/java/org/mvel2/ast/SwitchNode.java | 18 +- src/main/java/org/mvel2/ast/ThisWithNode.java | 5 + src/main/java/org/mvel2/ast/TypedVarNode.java | 5 + src/main/java/org/mvel2/ast/UntilNode.java | 5 + src/main/java/org/mvel2/ast/WhileNode.java | 5 + src/main/java/org/mvel2/ast/WithNode.java | 5 + .../org/mvel2/compiler/AbstractParser.java | 5 + .../mvel2/compiler/CompiledExpression.java | 5 + .../mvel2/compiler/ExpressionCompiler.java | 5 + .../org/mvel2/compiler/PropertyVerifier.java | 5 + src/main/java/org/mvel2/debug/DebugTools.java | 5 + .../mvel2/execution/ExecutionArrayList.java | 4 + .../mvel2/execution/ExecutionCollections.java | 4 + .../org/mvel2/execution/ExecutionEntry.java | 4 + .../org/mvel2/execution/ExecutionHashMap.java | 4 + .../execution/ExecutionLinkedHashSet.java | 4 + .../org/mvel2/execution/ExecutionObject.java | 4 + .../integration/VariableResolverFactory.java | 5 + .../impl/BaseVariableResolverFactory.java | 5 + .../impl/ImmutableDefaultFactory.java | 5 + .../impl/StackDemarcResolverFactory.java | 5 + .../impl/StackResetResolverFactory.java | 5 + .../java/org/mvel2/math/MathProcessor.java | 5 + .../mvel2/optimizers/OptimizerFactory.java | 5 + .../dynamic/DynamicCollectionAccessor.java | 5 + .../dynamic/DynamicGetAccessor.java | 5 + .../dynamic/DynamicSetAccessor.java | 5 + .../impl/asm/ASMAccessorOptimizer.java | 5 + .../refl/ReflectiveAccessorOptimizer.java | 5 + .../impl/refl/collection/ArrayCreator.java | 5 + .../impl/refl/collection/ListCreator.java | 5 + .../impl/refl/collection/MapCreator.java | 5 + .../refl/nodes/DynamicFunctionAccessor.java | 5 + .../impl/refl/nodes/FieldAccessor.java | 5 + .../impl/refl/nodes/FunctionAccessor.java | 5 + .../impl/refl/nodes/MethodAccessor.java | 5 + .../java/org/mvel2/util/ArgsRepackUtil.java | 4 + src/main/java/org/mvel2/util/ArrayTools.java | 5 + .../java/org/mvel2/util/CollectionParser.java | 5 + .../java/org/mvel2/util/CompilerTools.java | 5 + src/main/java/org/mvel2/util/ErrorUtil.java | 5 + src/main/java/org/mvel2/util/Make.java | 5 + src/main/java/org/mvel2/util/ParseTools.java | 5 + src/main/java/org/mvel2/util/TriFunction.java | 4 + .../tests/core/StaticMethodImportTests.java | 9 +- 91 files changed, 755 insertions(+), 262 deletions(-) rename ASM-LICENSE.txt => ASM-LICENSE (95%) rename LICENSE.txt => LICENSE (88%) create mode 100644 README.md create mode 100644 apache-license-header-template.txt diff --git a/ASM-LICENSE.txt b/ASM-LICENSE similarity index 95% rename from ASM-LICENSE.txt rename to ASM-LICENSE index f56d2c591..c2c8cfb1f 100644 --- a/ASM-LICENSE.txt +++ b/ASM-LICENSE @@ -1,42 +1,42 @@ ------------------------------------------------------------------------------- - -MVEL's Built-in JIT (Just-in-Time) Compiler relies on the "ASM" library for -generating bytecode in the Java Class File Format. - -The "ASM" library is subject to a third-party license henceforth described. - - ------------------------------ [LICENSE BEGINS]------------------------------- - -ASM Bytecode Manipulation Framework - -Copyright (c) 2000-2005 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - +------------------------------------------------------------------------------ + +MVEL's Built-in JIT (Just-in-Time) Compiler relies on the "ASM" library for +generating bytecode in the Java Class File Format. + +The "ASM" library is subject to a third-party license henceforth described. + + +----------------------------- [LICENSE BEGINS]------------------------------- + +ASM Bytecode Manipulation Framework + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/LICENSE.txt b/LICENSE similarity index 88% rename from LICENSE.txt rename to LICENSE index 3593e4366..62589edd1 100644 --- a/LICENSE.txt +++ b/LICENSE @@ -1,177 +1,202 @@ - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 000000000..a168acc69 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# TBEL + +TBEL (ThingsBoard Expression Language) is the expression language behind user-defined functions in the ThingsBoard platform. It is a fork of [MVEL 2](https://github.com/mvel/mvel) adding sandboxing, execution limits, and a few language constructs. + +Published as `org.thingsboard:tbel`. + +## Licensing + +TBEL is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text. + +It also contains a vendored copy of the ASM bytecode library under `org/mvel2/asm`, inherited from MVEL and licensed under BSD-3-Clause — see `ASM-LICENSE`. diff --git a/apache-license-header-template.txt b/apache-license-header-template.txt new file mode 100644 index 000000000..b4e23d97a --- /dev/null +++ b/apache-license-header-template.txt @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Copyright ${project.inceptionYear} ${owner} +SPDX-License-Identifier: Apache-2.0 diff --git a/pom.xml b/pom.xml index b9a202a7e..2b96bc2ae 100644 --- a/pom.xml +++ b/pom.xml @@ -15,8 +15,8 @@ - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt + Apache License 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt repo @@ -27,8 +27,8 @@ - scm:git:git@github.com:thingsboard/tbel.git - scm:git:git@github.com:thingsboard/tbel.git + scm:git:https://github.com/thingsboard/tbel.git + https://github.com/thingsboard/tbel scm:git:git@github.com:thingsboard/tbel.git @@ -114,17 +114,57 @@ + - org.apache.maven.plugins - maven-jar-plugin - 3.3.0 + com.mycila + license-maven-plugin + 5.1.1 + + + +
${basedir}/apache-license-header-template.txt
+ + src/main/java/org/mvel2/ExecutionContext.java + src/main/java/org/mvel2/SandboxedClassLoader.java + src/main/java/org/mvel2/SandboxedParserConfiguration.java + src/main/java/org/mvel2/ScriptExecutionStoppedException.java + src/main/java/org/mvel2/ScriptMemoryOverflowException.java + src/main/java/org/mvel2/ast/BreakNode.java + src/main/java/org/mvel2/ast/HasStatement.java + src/main/java/org/mvel2/ast/SwitchNode.java + src/main/java/org/mvel2/execution/** + src/main/java/org/mvel2/util/ArgsRepackUtil.java + src/main/java/org/mvel2/util/TriFunction.java + +
+
+ + ThingsBoard, Inc. + + + JAVADOC_STYLE + +
+ check-license-headers + validate - test-jar + check +
+ + + org.apache.maven.plugins + maven-jar-plugin + 3.3.0 META-INF/MANIFEST.MF @@ -143,7 +183,6 @@ jar - test-jar @@ -160,10 +199,41 @@ + -accessibility,-missing + + org.apache.maven.plugins + maven-resources-plugin + 3.3.1 + + + + copy-licences-into-javadoc + prepare-package + + copy-resources + + + ${project.build.directory}/apidocs/META-INF + + + ${basedir} + + LICENSE + ASM-LICENSE + + + + + + + org.apache.maven.plugins maven-surefire-plugin @@ -254,6 +324,14 @@ build.properties + + ${basedir} + META-INF + + LICENSE + ASM-LICENSE + + src/main/resources diff --git a/src/main/java/org/mvel2/CompileException.java b/src/main/java/org/mvel2/CompileException.java index 1abe61ad5..3e230d469 100644 --- a/src/main/java/org/mvel2/CompileException.java +++ b/src/main/java/org/mvel2/CompileException.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import org.mvel2.util.StringAppender; diff --git a/src/main/java/org/mvel2/DataTypes.java b/src/main/java/org/mvel2/DataTypes.java index 370106b89..ce108993e 100644 --- a/src/main/java/org/mvel2/DataTypes.java +++ b/src/main/java/org/mvel2/DataTypes.java @@ -17,6 +17,11 @@ */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; diff --git a/src/main/java/org/mvel2/ExecutionContext.java b/src/main/java/org/mvel2/ExecutionContext.java index 5fe390c6e..363844c10 100644 --- a/src/main/java/org/mvel2/ExecutionContext.java +++ b/src/main/java/org/mvel2/ExecutionContext.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2; import org.mvel2.execution.ExecutionArrayList; diff --git a/src/main/java/org/mvel2/MVEL.java b/src/main/java/org/mvel2/MVEL.java index 9fde5bf68..24af27526 100644 --- a/src/main/java/org/mvel2/MVEL.java +++ b/src/main/java/org/mvel2/MVEL.java @@ -12,6 +12,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import java.io.File; diff --git a/src/main/java/org/mvel2/MVELInterpretedRuntime.java b/src/main/java/org/mvel2/MVELInterpretedRuntime.java index 5160b6850..0e98631c3 100644 --- a/src/main/java/org/mvel2/MVELInterpretedRuntime.java +++ b/src/main/java/org/mvel2/MVELInterpretedRuntime.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import java.util.Map; diff --git a/src/main/java/org/mvel2/MVELRuntime.java b/src/main/java/org/mvel2/MVELRuntime.java index e834c61f3..105946d11 100644 --- a/src/main/java/org/mvel2/MVELRuntime.java +++ b/src/main/java/org/mvel2/MVELRuntime.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import org.mvel2.ast.ASTNode; diff --git a/src/main/java/org/mvel2/Operator.java b/src/main/java/org/mvel2/Operator.java index ef0076de5..ff56fb340 100644 --- a/src/main/java/org/mvel2/Operator.java +++ b/src/main/java/org/mvel2/Operator.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; /** diff --git a/src/main/java/org/mvel2/ParserConfiguration.java b/src/main/java/org/mvel2/ParserConfiguration.java index db4e74874..e75235b77 100644 --- a/src/main/java/org/mvel2/ParserConfiguration.java +++ b/src/main/java/org/mvel2/ParserConfiguration.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import org.mvel2.ast.Proto; diff --git a/src/main/java/org/mvel2/ParserContext.java b/src/main/java/org/mvel2/ParserContext.java index c9ad67c0a..7f52317ff 100644 --- a/src/main/java/org/mvel2/ParserContext.java +++ b/src/main/java/org/mvel2/ParserContext.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import org.mvel2.ast.Function; diff --git a/src/main/java/org/mvel2/PropertyAccessor.java b/src/main/java/org/mvel2/PropertyAccessor.java index 7a1c6dbd4..4899dd0ac 100644 --- a/src/main/java/org/mvel2/PropertyAccessor.java +++ b/src/main/java/org/mvel2/PropertyAccessor.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2; import org.mvel2.ast.*; diff --git a/src/main/java/org/mvel2/SandboxedClassLoader.java b/src/main/java/org/mvel2/SandboxedClassLoader.java index 54dbfc71c..2e5661e07 100644 --- a/src/main/java/org/mvel2/SandboxedClassLoader.java +++ b/src/main/java/org/mvel2/SandboxedClassLoader.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2; import org.mvel2.compiler.AbstractParser; diff --git a/src/main/java/org/mvel2/SandboxedParserConfiguration.java b/src/main/java/org/mvel2/SandboxedParserConfiguration.java index d52d23396..3813171f3 100644 --- a/src/main/java/org/mvel2/SandboxedParserConfiguration.java +++ b/src/main/java/org/mvel2/SandboxedParserConfiguration.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2; import org.mvel2.compiler.AbstractParser; diff --git a/src/main/java/org/mvel2/ScriptExecutionStoppedException.java b/src/main/java/org/mvel2/ScriptExecutionStoppedException.java index d58d20eb3..3082dbabe 100644 --- a/src/main/java/org/mvel2/ScriptExecutionStoppedException.java +++ b/src/main/java/org/mvel2/ScriptExecutionStoppedException.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2; public class ScriptExecutionStoppedException extends ScriptRuntimeException { diff --git a/src/main/java/org/mvel2/ScriptMemoryOverflowException.java b/src/main/java/org/mvel2/ScriptMemoryOverflowException.java index 2893e2c0b..3ec005c0b 100644 --- a/src/main/java/org/mvel2/ScriptMemoryOverflowException.java +++ b/src/main/java/org/mvel2/ScriptMemoryOverflowException.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2; /** diff --git a/src/main/java/org/mvel2/ast/ASTNode.java b/src/main/java/org/mvel2/ast/ASTNode.java index 9156a27ad..828a1b982 100644 --- a/src/main/java/org/mvel2/ast/ASTNode.java +++ b/src/main/java/org/mvel2/ast/ASTNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/AssignmentNode.java b/src/main/java/org/mvel2/ast/AssignmentNode.java index 5218e4012..4c6c776a9 100644 --- a/src/main/java/org/mvel2/ast/AssignmentNode.java +++ b/src/main/java/org/mvel2/ast/AssignmentNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/BreakNode.java b/src/main/java/org/mvel2/ast/BreakNode.java index 3a7aec65e..a7c916c36 100644 --- a/src/main/java/org/mvel2/ast/BreakNode.java +++ b/src/main/java/org/mvel2/ast/BreakNode.java @@ -1,19 +1,6 @@ /** - * MVEL 2.0 - * Copyright (C) 2007 The Codehaus - * Mike Brock, Dhanji Prasanna, John Graham, Mark Proctor - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 */ package org.mvel2.ast; diff --git a/src/main/java/org/mvel2/ast/DeclTypedVarNode.java b/src/main/java/org/mvel2/ast/DeclTypedVarNode.java index b2cfc46d4..deee9eb83 100644 --- a/src/main/java/org/mvel2/ast/DeclTypedVarNode.java +++ b/src/main/java/org/mvel2/ast/DeclTypedVarNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/DoNode.java b/src/main/java/org/mvel2/ast/DoNode.java index 836c5ad1f..536dab970 100644 --- a/src/main/java/org/mvel2/ast/DoNode.java +++ b/src/main/java/org/mvel2/ast/DoNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/DoUntilNode.java b/src/main/java/org/mvel2/ast/DoUntilNode.java index d1745665a..ab5dfe58d 100644 --- a/src/main/java/org/mvel2/ast/DoUntilNode.java +++ b/src/main/java/org/mvel2/ast/DoUntilNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/ForEachNode.java b/src/main/java/org/mvel2/ast/ForEachNode.java index 7d658f218..886f48790 100644 --- a/src/main/java/org/mvel2/ast/ForEachNode.java +++ b/src/main/java/org/mvel2/ast/ForEachNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import java.lang.reflect.Array; diff --git a/src/main/java/org/mvel2/ast/ForNode.java b/src/main/java/org/mvel2/ast/ForNode.java index 9cb1b2fca..921a1c7a3 100644 --- a/src/main/java/org/mvel2/ast/ForNode.java +++ b/src/main/java/org/mvel2/ast/ForNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/Function.java b/src/main/java/org/mvel2/ast/Function.java index 503b0c86e..88322978a 100644 --- a/src/main/java/org/mvel2/ast/Function.java +++ b/src/main/java/org/mvel2/ast/Function.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/FunctionInstance.java b/src/main/java/org/mvel2/ast/FunctionInstance.java index 665709751..5ccecb444 100644 --- a/src/main/java/org/mvel2/ast/FunctionInstance.java +++ b/src/main/java/org/mvel2/ast/FunctionInstance.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/ast/HasStatement.java b/src/main/java/org/mvel2/ast/HasStatement.java index a1ceb8bbf..7f4871e61 100644 --- a/src/main/java/org/mvel2/ast/HasStatement.java +++ b/src/main/java/org/mvel2/ast/HasStatement.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.ast; import org.mvel2.compiler.ExecutableStatement; diff --git a/src/main/java/org/mvel2/ast/IndexedAssignmentNode.java b/src/main/java/org/mvel2/ast/IndexedAssignmentNode.java index f8c91c1e3..9fe58ea7e 100644 --- a/src/main/java/org/mvel2/ast/IndexedAssignmentNode.java +++ b/src/main/java/org/mvel2/ast/IndexedAssignmentNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/IndexedDeclTypedVarNode.java b/src/main/java/org/mvel2/ast/IndexedDeclTypedVarNode.java index 0c9ea5baf..294ce2a96 100644 --- a/src/main/java/org/mvel2/ast/IndexedDeclTypedVarNode.java +++ b/src/main/java/org/mvel2/ast/IndexedDeclTypedVarNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/IndexedPostFixDecNode.java b/src/main/java/org/mvel2/ast/IndexedPostFixDecNode.java index 4044767d0..a38a1be51 100644 --- a/src/main/java/org/mvel2/ast/IndexedPostFixDecNode.java +++ b/src/main/java/org/mvel2/ast/IndexedPostFixDecNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/IndexedPostFixIncNode.java b/src/main/java/org/mvel2/ast/IndexedPostFixIncNode.java index 105c95937..253efc6e8 100644 --- a/src/main/java/org/mvel2/ast/IndexedPostFixIncNode.java +++ b/src/main/java/org/mvel2/ast/IndexedPostFixIncNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/IndexedPreFixDecNode.java b/src/main/java/org/mvel2/ast/IndexedPreFixDecNode.java index e8c9ad0a0..a3dc56b63 100644 --- a/src/main/java/org/mvel2/ast/IndexedPreFixDecNode.java +++ b/src/main/java/org/mvel2/ast/IndexedPreFixDecNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/IndexedPreFixIncNode.java b/src/main/java/org/mvel2/ast/IndexedPreFixIncNode.java index 64cef2e93..8afa9b444 100644 --- a/src/main/java/org/mvel2/ast/IndexedPreFixIncNode.java +++ b/src/main/java/org/mvel2/ast/IndexedPreFixIncNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/InlineCollectionNode.java b/src/main/java/org/mvel2/ast/InlineCollectionNode.java index c9e11a976..1836d9311 100644 --- a/src/main/java/org/mvel2/ast/InlineCollectionNode.java +++ b/src/main/java/org/mvel2/ast/InlineCollectionNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/NewObjectNode.java b/src/main/java/org/mvel2/ast/NewObjectNode.java index 4da733618..815d47870 100644 --- a/src/main/java/org/mvel2/ast/NewObjectNode.java +++ b/src/main/java/org/mvel2/ast/NewObjectNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/OperativeAssign.java b/src/main/java/org/mvel2/ast/OperativeAssign.java index a760d1543..b54d1f8d4 100644 --- a/src/main/java/org/mvel2/ast/OperativeAssign.java +++ b/src/main/java/org/mvel2/ast/OperativeAssign.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/PostFixDecNode.java b/src/main/java/org/mvel2/ast/PostFixDecNode.java index 59bed59f9..a4ae91999 100644 --- a/src/main/java/org/mvel2/ast/PostFixDecNode.java +++ b/src/main/java/org/mvel2/ast/PostFixDecNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/PostFixIncNode.java b/src/main/java/org/mvel2/ast/PostFixIncNode.java index 1fa9636c0..23ea6fd30 100644 --- a/src/main/java/org/mvel2/ast/PostFixIncNode.java +++ b/src/main/java/org/mvel2/ast/PostFixIncNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/PreFixDecNode.java b/src/main/java/org/mvel2/ast/PreFixDecNode.java index 33e73b9f6..aeca255aa 100644 --- a/src/main/java/org/mvel2/ast/PreFixDecNode.java +++ b/src/main/java/org/mvel2/ast/PreFixDecNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/PreFixIncNode.java b/src/main/java/org/mvel2/ast/PreFixIncNode.java index 87d811693..61896742e 100644 --- a/src/main/java/org/mvel2/ast/PreFixIncNode.java +++ b/src/main/java/org/mvel2/ast/PreFixIncNode.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/ast/Proto.java b/src/main/java/org/mvel2/ast/Proto.java index f61db16dc..b1bea8ee5 100644 --- a/src/main/java/org/mvel2/ast/Proto.java +++ b/src/main/java/org/mvel2/ast/Proto.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/PrototypalFunctionInstance.java b/src/main/java/org/mvel2/ast/PrototypalFunctionInstance.java index 4e991fd4d..b19bdd7b9 100644 --- a/src/main/java/org/mvel2/ast/PrototypalFunctionInstance.java +++ b/src/main/java/org/mvel2/ast/PrototypalFunctionInstance.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/ast/Stacklang.java b/src/main/java/org/mvel2/ast/Stacklang.java index e3af02272..55644d4da 100644 --- a/src/main/java/org/mvel2/ast/Stacklang.java +++ b/src/main/java/org/mvel2/ast/Stacklang.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import java.lang.reflect.Constructor; diff --git a/src/main/java/org/mvel2/ast/SwitchNode.java b/src/main/java/org/mvel2/ast/SwitchNode.java index 06ed41dc9..d73cb9225 100644 --- a/src/main/java/org/mvel2/ast/SwitchNode.java +++ b/src/main/java/org/mvel2/ast/SwitchNode.java @@ -1,21 +1,7 @@ /** - * MVEL 2.0 - * Copyright (C) 2007 The Codehaus - * Mike Brock, Dhanji Prasanna, John Graham, Mark Proctor - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 */ - package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/ThisWithNode.java b/src/main/java/org/mvel2/ast/ThisWithNode.java index a5e0da380..a3f61512d 100644 --- a/src/main/java/org/mvel2/ast/ThisWithNode.java +++ b/src/main/java/org/mvel2/ast/ThisWithNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/ast/TypedVarNode.java b/src/main/java/org/mvel2/ast/TypedVarNode.java index e64b9843e..31d775f52 100644 --- a/src/main/java/org/mvel2/ast/TypedVarNode.java +++ b/src/main/java/org/mvel2/ast/TypedVarNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/UntilNode.java b/src/main/java/org/mvel2/ast/UntilNode.java index ecc233216..45312cddf 100644 --- a/src/main/java/org/mvel2/ast/UntilNode.java +++ b/src/main/java/org/mvel2/ast/UntilNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/WhileNode.java b/src/main/java/org/mvel2/ast/WhileNode.java index 287cb1676..62fcd2c50 100644 --- a/src/main/java/org/mvel2/ast/WhileNode.java +++ b/src/main/java/org/mvel2/ast/WhileNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/ast/WithNode.java b/src/main/java/org/mvel2/ast/WithNode.java index be4c2f828..302058063 100644 --- a/src/main/java/org/mvel2/ast/WithNode.java +++ b/src/main/java/org/mvel2/ast/WithNode.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.ast; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/compiler/AbstractParser.java b/src/main/java/org/mvel2/compiler/AbstractParser.java index 46c7f7894..de2187843 100644 --- a/src/main/java/org/mvel2/compiler/AbstractParser.java +++ b/src/main/java/org/mvel2/compiler/AbstractParser.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.compiler; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/compiler/CompiledExpression.java b/src/main/java/org/mvel2/compiler/CompiledExpression.java index 9d5164d40..bc9b02e4f 100644 --- a/src/main/java/org/mvel2/compiler/CompiledExpression.java +++ b/src/main/java/org/mvel2/compiler/CompiledExpression.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.compiler; import org.mvel2.ParserConfiguration; diff --git a/src/main/java/org/mvel2/compiler/ExpressionCompiler.java b/src/main/java/org/mvel2/compiler/ExpressionCompiler.java index 105f1ce90..b5d6a2dac 100644 --- a/src/main/java/org/mvel2/compiler/ExpressionCompiler.java +++ b/src/main/java/org/mvel2/compiler/ExpressionCompiler.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.compiler; import java.util.Iterator; diff --git a/src/main/java/org/mvel2/compiler/PropertyVerifier.java b/src/main/java/org/mvel2/compiler/PropertyVerifier.java index 460c4b50d..7e40f3773 100644 --- a/src/main/java/org/mvel2/compiler/PropertyVerifier.java +++ b/src/main/java/org/mvel2/compiler/PropertyVerifier.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.compiler; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/debug/DebugTools.java b/src/main/java/org/mvel2/debug/DebugTools.java index d754cbed4..40d9c4f4c 100644 --- a/src/main/java/org/mvel2/debug/DebugTools.java +++ b/src/main/java/org/mvel2/debug/DebugTools.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.debug; import org.mvel2.Operator; diff --git a/src/main/java/org/mvel2/execution/ExecutionArrayList.java b/src/main/java/org/mvel2/execution/ExecutionArrayList.java index 4a206007b..1e3956bcb 100644 --- a/src/main/java/org/mvel2/execution/ExecutionArrayList.java +++ b/src/main/java/org/mvel2/execution/ExecutionArrayList.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.execution; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/execution/ExecutionCollections.java b/src/main/java/org/mvel2/execution/ExecutionCollections.java index a1a7aa96e..fe0871e30 100644 --- a/src/main/java/org/mvel2/execution/ExecutionCollections.java +++ b/src/main/java/org/mvel2/execution/ExecutionCollections.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.execution; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/execution/ExecutionEntry.java b/src/main/java/org/mvel2/execution/ExecutionEntry.java index b9b07e9ec..e26cddddf 100644 --- a/src/main/java/org/mvel2/execution/ExecutionEntry.java +++ b/src/main/java/org/mvel2/execution/ExecutionEntry.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.execution; import java.util.Map; diff --git a/src/main/java/org/mvel2/execution/ExecutionHashMap.java b/src/main/java/org/mvel2/execution/ExecutionHashMap.java index 660cec3f4..5464ae934 100644 --- a/src/main/java/org/mvel2/execution/ExecutionHashMap.java +++ b/src/main/java/org/mvel2/execution/ExecutionHashMap.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.execution; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/execution/ExecutionLinkedHashSet.java b/src/main/java/org/mvel2/execution/ExecutionLinkedHashSet.java index fd891c3c8..44f7a9183 100644 --- a/src/main/java/org/mvel2/execution/ExecutionLinkedHashSet.java +++ b/src/main/java/org/mvel2/execution/ExecutionLinkedHashSet.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.execution; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/execution/ExecutionObject.java b/src/main/java/org/mvel2/execution/ExecutionObject.java index d8bcf87b9..1d984ff92 100644 --- a/src/main/java/org/mvel2/execution/ExecutionObject.java +++ b/src/main/java/org/mvel2/execution/ExecutionObject.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.execution; public interface ExecutionObject { diff --git a/src/main/java/org/mvel2/integration/VariableResolverFactory.java b/src/main/java/org/mvel2/integration/VariableResolverFactory.java index aad7a0eb6..595287e0f 100644 --- a/src/main/java/org/mvel2/integration/VariableResolverFactory.java +++ b/src/main/java/org/mvel2/integration/VariableResolverFactory.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.integration; import java.io.Serializable; diff --git a/src/main/java/org/mvel2/integration/impl/BaseVariableResolverFactory.java b/src/main/java/org/mvel2/integration/impl/BaseVariableResolverFactory.java index 754281c82..197fbc827 100644 --- a/src/main/java/org/mvel2/integration/impl/BaseVariableResolverFactory.java +++ b/src/main/java/org/mvel2/integration/impl/BaseVariableResolverFactory.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.integration.impl; import org.mvel2.UnresolveablePropertyException; diff --git a/src/main/java/org/mvel2/integration/impl/ImmutableDefaultFactory.java b/src/main/java/org/mvel2/integration/impl/ImmutableDefaultFactory.java index b94f4f77d..534b98068 100644 --- a/src/main/java/org/mvel2/integration/impl/ImmutableDefaultFactory.java +++ b/src/main/java/org/mvel2/integration/impl/ImmutableDefaultFactory.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.integration.impl; import org.mvel2.ScriptRuntimeException; diff --git a/src/main/java/org/mvel2/integration/impl/StackDemarcResolverFactory.java b/src/main/java/org/mvel2/integration/impl/StackDemarcResolverFactory.java index 1ece3d906..5012a8011 100644 --- a/src/main/java/org/mvel2/integration/impl/StackDemarcResolverFactory.java +++ b/src/main/java/org/mvel2/integration/impl/StackDemarcResolverFactory.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.integration.impl; import org.mvel2.integration.VariableResolver; diff --git a/src/main/java/org/mvel2/integration/impl/StackResetResolverFactory.java b/src/main/java/org/mvel2/integration/impl/StackResetResolverFactory.java index b1d06595c..922eacbdf 100644 --- a/src/main/java/org/mvel2/integration/impl/StackResetResolverFactory.java +++ b/src/main/java/org/mvel2/integration/impl/StackResetResolverFactory.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.integration.impl; import org.mvel2.integration.VariableResolver; diff --git a/src/main/java/org/mvel2/math/MathProcessor.java b/src/main/java/org/mvel2/math/MathProcessor.java index 781adcecf..2120f8d26 100644 --- a/src/main/java/org/mvel2/math/MathProcessor.java +++ b/src/main/java/org/mvel2/math/MathProcessor.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.math; import org.mvel2.DataTypes; diff --git a/src/main/java/org/mvel2/optimizers/OptimizerFactory.java b/src/main/java/org/mvel2/optimizers/OptimizerFactory.java index f025c543f..797899ee9 100644 --- a/src/main/java/org/mvel2/optimizers/OptimizerFactory.java +++ b/src/main/java/org/mvel2/optimizers/OptimizerFactory.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers; import org.mvel2.optimizers.dynamic.DynamicOptimizer; diff --git a/src/main/java/org/mvel2/optimizers/dynamic/DynamicCollectionAccessor.java b/src/main/java/org/mvel2/optimizers/dynamic/DynamicCollectionAccessor.java index 04b5a7af7..be2793e49 100644 --- a/src/main/java/org/mvel2/optimizers/dynamic/DynamicCollectionAccessor.java +++ b/src/main/java/org/mvel2/optimizers/dynamic/DynamicCollectionAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.dynamic; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/optimizers/dynamic/DynamicGetAccessor.java b/src/main/java/org/mvel2/optimizers/dynamic/DynamicGetAccessor.java index 7d55d5691..4729e3e36 100644 --- a/src/main/java/org/mvel2/optimizers/dynamic/DynamicGetAccessor.java +++ b/src/main/java/org/mvel2/optimizers/dynamic/DynamicGetAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.dynamic; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/optimizers/dynamic/DynamicSetAccessor.java b/src/main/java/org/mvel2/optimizers/dynamic/DynamicSetAccessor.java index 52589a112..b0a9db9a2 100644 --- a/src/main/java/org/mvel2/optimizers/dynamic/DynamicSetAccessor.java +++ b/src/main/java/org/mvel2/optimizers/dynamic/DynamicSetAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.dynamic; import org.mvel2.ParserContext; diff --git a/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java b/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java index 998f7b809..965f6a6f4 100644 --- a/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java +++ b/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.asm; import java.io.FileWriter; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/ReflectiveAccessorOptimizer.java b/src/main/java/org/mvel2/optimizers/impl/refl/ReflectiveAccessorOptimizer.java index 0508bb1c3..c93354748 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/ReflectiveAccessorOptimizer.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/ReflectiveAccessorOptimizer.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/collection/ArrayCreator.java b/src/main/java/org/mvel2/optimizers/impl/refl/collection/ArrayCreator.java index f2500ef20..5c848fa38 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/collection/ArrayCreator.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/collection/ArrayCreator.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.collection; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/collection/ListCreator.java b/src/main/java/org/mvel2/optimizers/impl/refl/collection/ListCreator.java index 338721162..a2a0db6b8 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/collection/ListCreator.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/collection/ListCreator.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.collection; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/collection/MapCreator.java b/src/main/java/org/mvel2/optimizers/impl/refl/collection/MapCreator.java index 740971e1f..d79215637 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/collection/MapCreator.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/collection/MapCreator.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.collection; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/DynamicFunctionAccessor.java b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/DynamicFunctionAccessor.java index 1de973efa..d08ad87a2 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/DynamicFunctionAccessor.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/DynamicFunctionAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.nodes; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FieldAccessor.java b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FieldAccessor.java index 6096838db..031461fb8 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FieldAccessor.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FieldAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.nodes; import org.mvel2.ScriptMemoryOverflowException; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FunctionAccessor.java b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FunctionAccessor.java index 318b2c2ca..02d0e271e 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FunctionAccessor.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/FunctionAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.nodes; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/MethodAccessor.java b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/MethodAccessor.java index 1581b6cc1..44b5e8923 100644 --- a/src/main/java/org/mvel2/optimizers/impl/refl/nodes/MethodAccessor.java +++ b/src/main/java/org/mvel2/optimizers/impl/refl/nodes/MethodAccessor.java @@ -16,6 +16,11 @@ * limitations under the License. * */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.optimizers.impl.refl.nodes; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/util/ArgsRepackUtil.java b/src/main/java/org/mvel2/util/ArgsRepackUtil.java index f31630737..dab2daa51 100644 --- a/src/main/java/org/mvel2/util/ArgsRepackUtil.java +++ b/src/main/java/org/mvel2/util/ArgsRepackUtil.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.util; import org.mvel2.ExecutionContext; diff --git a/src/main/java/org/mvel2/util/ArrayTools.java b/src/main/java/org/mvel2/util/ArrayTools.java index 8c15d26da..bf9086896 100644 --- a/src/main/java/org/mvel2/util/ArrayTools.java +++ b/src/main/java/org/mvel2/util/ArrayTools.java @@ -15,6 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.util; import java.util.List; diff --git a/src/main/java/org/mvel2/util/CollectionParser.java b/src/main/java/org/mvel2/util/CollectionParser.java index fdbafd0d2..8b8d4655d 100644 --- a/src/main/java/org/mvel2/util/CollectionParser.java +++ b/src/main/java/org/mvel2/util/CollectionParser.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.util; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/util/CompilerTools.java b/src/main/java/org/mvel2/util/CompilerTools.java index b63e208d8..ea1055e1d 100644 --- a/src/main/java/org/mvel2/util/CompilerTools.java +++ b/src/main/java/org/mvel2/util/CompilerTools.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.util; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/util/ErrorUtil.java b/src/main/java/org/mvel2/util/ErrorUtil.java index cbb23e1a8..7f97d0aaf 100644 --- a/src/main/java/org/mvel2/util/ErrorUtil.java +++ b/src/main/java/org/mvel2/util/ErrorUtil.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.util; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/util/Make.java b/src/main/java/org/mvel2/util/Make.java index 39265b055..d64d187f8 100644 --- a/src/main/java/org/mvel2/util/Make.java +++ b/src/main/java/org/mvel2/util/Make.java @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.util; import java.util.ArrayList; diff --git a/src/main/java/org/mvel2/util/ParseTools.java b/src/main/java/org/mvel2/util/ParseTools.java index c9ee1c78a..e86342c3a 100644 --- a/src/main/java/org/mvel2/util/ParseTools.java +++ b/src/main/java/org/mvel2/util/ParseTools.java @@ -16,6 +16,11 @@ * limitations under the License. */ +/* + * SPDX-FileCopyrightText: Modifications Copyright (C) 2022-present ThingsBoard, Inc. + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.util; import org.mvel2.CompileException; diff --git a/src/main/java/org/mvel2/util/TriFunction.java b/src/main/java/org/mvel2/util/TriFunction.java index e8f894d5a..d6beb8195 100644 --- a/src/main/java/org/mvel2/util/TriFunction.java +++ b/src/main/java/org/mvel2/util/TriFunction.java @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: Copyright 2022 ThingsBoard, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ package org.mvel2.util; import java.util.Objects; diff --git a/src/test/java/org/mvel2/tests/core/StaticMethodImportTests.java b/src/test/java/org/mvel2/tests/core/StaticMethodImportTests.java index 73f5eef7a..00cefcc30 100644 --- a/src/test/java/org/mvel2/tests/core/StaticMethodImportTests.java +++ b/src/test/java/org/mvel2/tests/core/StaticMethodImportTests.java @@ -1,3 +1,7 @@ +/* + * This file has been modified from the original MVEL source. + * See the project's Git history for details of the changes. + */ package org.mvel2.tests.core; import java.lang.reflect.Array; @@ -16,9 +20,8 @@ /** * Classes ripped from hamcrest for purposes for testing - * http://code.google.com/p/hamcrest/ - * hamcrest is licensed under "New BDS License" - * + * https://github.com/hamcrest/JavaHamcrest + * hamcrest is licensed under the New BSD License. */ public class StaticMethodImportTests { From e8edb7fec731a00f4db90e85493c5b0166e95605 Mon Sep 17 00:00:00 2001 From: Dmytro Skarzhynets Date: Sun, 2 Aug 2026 14:23:58 +0300 Subject: [PATCH 2/2] chore: bump version to 1.2.11 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2b96bc2ae..a00e571db 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.thingsboard tbel jar - 1.2.10 + 1.2.11 tbel https://thingsboard.io/