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..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/
@@ -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 {