diff --git a/.copyrightconfig b/.copyrightconfig
new file mode 100644
index 000000000..28894f528
--- /dev/null
+++ b/.copyrightconfig
@@ -0,0 +1,14 @@
+# COPYRIGHT VALIDATION CONFIG
+# ---------------------------------
+# Required start year (keep fixed; end year auto-updates in check output)
+startyear: 2011
+
+# Optional exclusions list (comma-separated). Leave commented if none.
+# Rules:
+# - Relative paths (no leading ./)
+# - Simple * wildcard only (no recursive **)
+# - Use sparingly (third_party, generated, binary assets)
+# - Dotfiles already skipped automatically
+# Enable by removing the leading '# ' from the next line and editing values.
+# filesexcluded: third_party/*, docs/generated/*.md, assets/*.png, scripts/temp_*.py, vendor/lib.js
+filesexcluded: .github/*, README.md
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 210924b4e..5d8db2db4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
target
deliverable
.idea
+.vscode
diff --git a/NOTICE.txt b/NOTICE.txt
index dd592d8ee..2e0539f31 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,1267 +1,1264 @@
-Progress® MarkLogic® Content Pump 12.0.1
-
-Copyright © 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
-
-This project is licensed under the Apache License, Version 2.0 (the "License"); you may not use this project 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.
-
-To the extent required by the applicable open-source license, a complete machine-readable copy of the source code corresponding to such code is available upon request. This offer is valid to anyone in receipt of this information and shall expire three years following the date of the final distribution of this product version by Progress Software Corporation. To obtain such source code, send an email to Legal-thirdpartyreview@progress.com. Please specify the product and version for which you are requesting source code.
-
--------------------------------------------------------------------------
-
-The following software may be included in Progress® MarkLogic® Content Pump 12.0.1 (last updated November 24, 2025):
-
-Third Party Components
-
-avro 1.11.4 (Apache-2.0)
-caffeine 3.1.6 (Apache-2.0)
-collection 0.7 (MIT)
-commons-beanutils 1.11.0 (Apache-2.0)
-commons-cli 1.6.0 (Apache-2.0)
-commons-codec 1.16.1 (Apache-2.0)
-commons-collections 3.2.2 (Apache-2.0)
-commons-collections4 4.5.0-M2 (Apache-2.0)
-commons-compress 1.26.1 (Apache-2.0)
-commons-configuration2 2.10.1 (Apache-2.0)
-commons-csv 1.13.0 (Apache-2.0)
-commons-io 2.17.0 (Apache-2.0)
-commons-lang3 3.5 (Apache-2.0)
-commons-logging 1.3.0 (Apache-2.0)
-commons-logging-api 1.1 (Apache-2.0)
-commons-modeler 2.0.1 (Apache-2.0)
-failureaccess 1.0.1 (Apache-2.0)
-hadoop-annotations 3.4.0 (Apache-2.0)
-hadoop-auth 3.4.0 (Apache-2.0)
-hadoop-client 3.4.0 (Apache-2.0)
-hadoop-common 3.4.0 (Apache-2.0)
-hadoop-hdfs 3.4.0 (Apache-2.0)
-hadoop-hdfs-client 3.4.0 (Apache-2.0)
-hadoop-mapreduce-client-common 3.4.0 (Apache-2.0)
-hadoop-mapreduce-client-core 3.4.0 (Apache-2.0)
-hadoop-mapreduce-client-jobclient 3.4.0 (Apache-2.0)
-hadoop-shaded-guava 1.2.0 (Apache-2.0)
-hadoop-yarn-api 3.4.0 (Apache-2.0)
-hadoop-yarn-client 3.4.0 (Apache-2.0)
-hadoop-yarn-common 3.4.0 (Apache-2.0)
-httpclient 4.5.13 (Apache-2.0)
-jackson-annotations 2.17.1 (Apache-2.0)
-jackson-core 2.17.1 (Apache-2.0)
-jackson-databind 2.17.1 (Apache-2.0)
-jakarta.xml.soap-api 3.0.1 (BSD)
-jakarta.xml.ws-api 4.0.0 (BSD)
-jaxws-rt 4.0.0 (BSD)
-jcl-over-slf4j 2.0.12 (Apache-2.0)
-jena-arq 4.9.0 (Apache-2.0)
-jena-base 4.9.0 (Apache-2.0)
-jena-core 4.9.0 (Apache-2.0)
-jena-iri 4.9.0 (Apache-2.0)
-jersey-core 1.19.3 (CDDL-1.1)
-jsonld-java 0.13.6 (BSD-3-Clause)
-libthrift 0.17.0 (Apache-2.0)
-log4j-1.2-api 2.17.1 (Apache-2.0)
-log4j-api 2.17.1 (Apache-2.0)
-log4j-core 2.17.1 (Apache-2.0)
-log4j-jcl 2.17.1 (Apache-2.0)
-log4j-slf4j-impl 2.17.1 (Apache-2.0)
-marklogic-xcc 12.0 (Apache-2.0)
-re2j 1.6 (BSD)
-saxon-he 9.7.0-7 (MPL-2.0)
-slf4j-api 1.7.32 (MIT)
-stax2-api 4.2.1 (BSD)
-woodstox-core 6.5.1 (Apache-2.0)
-xercesimpl 2.12.2 (Apache-2.0)
-xml-apis 1.0.b2 (Apache-2.0)
-xpp3 1.1.4c (Apache-1.1)
-xstream 1.4.21 (BSD-3-Clause)
-
-Common Licenses
-
-Apache License 2.0 (Apache-2.0)
-Mozilla Public License 2.0 (MPL-2.0)
-
--------------------------------------------------------------------------
-
-avro 1.11.4 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/avro/avro
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-caffeine 3.1.6 (Apache-2.0)
-https://repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-collection 0.7 (MIT)
-https://repo1.maven.org/maven2/com/github/andrewoma/dexx/collection
-
-Copyright (c) 2014 Andrew O'Malley
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Portions based on code from the Scala standard library.
-Copyright (c) 2002-2014 EPFL
-Copyright (c) 2011-2014 Typesafe, Inc.
-
-Licensed under BSD-style license (see licenses/LICENSE_Scala.txt)
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-commons-beanutils 1.11.0 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-cli 1.6.0 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-cli/commons-cli
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-codec 1.16.1 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-codec/commons-codec
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-collections 3.2.2 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-collections/commons-collections
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-collections4 4.5.0-M2 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/commons/commons-collections4
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-compress 1.26.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/commons/commons-compress
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-configuration2 2.10.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/commons/commons-configuration2
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-csv 1.13.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/commons/commons-csv
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-io 2.17.0 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-io/commons-io
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+
+ Progress MarkLogic Content Pump 12.1.0 Updated September 2026
+
+ ----------------------------------------------------------------------------------------------------------------------------
+ NOTICES REPORT
+ ----------------------------------------------------------------------------------------------------------------------------
+
+ Portions of the Products include certain open source and commercial third-party components listed below ("Third-Party
+ Components"). The authors of the Third-Party Components require Progress Software Corporation ("PSC") to include the
+ following notices and additional licensing terms as a condition of PSC's use of such Third-Party Components. You
+ acknowledge that the authors of the Third-Party Components have no obligation to provide support to you for the Third-Party
+ Components or the Product. You hereby undertake to comply with all licenses related to the applicable Third-Party
+ Components. Notwithstanding anything to the contrary, to the extent that any of the terms and conditions of the Progress
+ Agreement conflict, vary, or are in addition to the terms and conditions of the aforementioned third-party licenses for these
+ technologies, such terms and conditions are offered by PSC alone and not by any other party.
+
+ ----------------------------------------------------------------------------------------------------------------------------
+ Report Content
+ - General License Information
+ - Components
+ - License Data and Text
+ ----------------------------------------------------------------------------------------------------------------------------
+
+ General License Information:
+
+ ----------------------------------------------------------------------------------------------------------------------------
+
+ GENERATIVE ARTIFICIAL INTELLIGENCE INTEGRATION
+ If the Software documentation specifies integration with some form of generative artificial intelligence (AI), then the
+ Software will include a configuration to connect to AI. You acknowledge that a separate license or subscription access
+ to AI governed by the terms and conditions of a license agreement from AI licensor will be required for use and access of
+ AI capabilities integrated with the Software. You will be responsible to comply with the terms of such license agreement
+ for a valid use of AI. You acknowledge and accept that Progress is not a party to the license agreement between You
+ and AI licensor for AI use, and as a result Progress does not have any control over AI and its availability, and Progress
+ disclaims any and all liabilities for any output, error, damages, loss, etc., or any other result of Your use of AI
+ integrated with the Software.
+
+ ----------------------------------------------------------------------------------------------------------------------------
+
+ NOTICE FROM PROGRESS SOFTWARE CORPORATION: Additional notices may be included in the release notes or other
+ documentation that accompanies updates received in connection with support of the Product.
+
+ ----------------------------------------------------------------------------------------------------------------------------
+
+ PUBLISH SOURCE REQUIREMENTS
+ The Product contains the following third-party technologies licensed to PSC for which User is subject to the terms of a third-
+ party license, a copy of which is included herein. PSC will, at Licensee's request, provide a copy of the source code for
+ these third-party technologies, including modifications, if any, made by PSC. PSC may charge reasonable shipping and
+ handling charges for such distribution. Licensee may also obtain the source code for these third-party technologies through
+ http://iue.progress.com/3dpartysoftwares/Pages/default.aspx by following the instructions set forth therein.
+
+ Jersey | 1.19.3
+ Saxon XSLT and XQuery Processor | 9.7.0-7
+
+ ----------------------------------------------------------------------------------------------------------------------------
+
+Components:
+
+| -------------------------------------- | ------------------------------------- | ---------------------------------------- |
+| Component | Origin | License |
+| -------------------------------------- | ------------------------------------- | ---------------------------------------- |
+| Apache Avro 1.11.5 | http://avro.apache.org/ | Apache License 2.0 |
+| Apache Commons BeanUtils 1.11.0 | http://commons.apache.org/beanutils/ | Apache License 2.0 |
+| Apache Commons Codec 1.16.1 | https://github.com/apache/commons-cod | Apache License 2.0 |
+| | ec | |
+| Apache Commons Collections 3.2.2 | http://commons.apache.org/proper/ | |
+| | commons-collections/ | Apache License 2.0 |
+| Apache Commons Collections 4.5.0-M2 | http://commons.apache.org/proper/comm | Apache License 2.0 |
+| | ons-collections/ | |
+| Apache Commons Compress 1.26.1 | http://commons.apache.org/proper/comm | Apache License 2.0 |
+| | ons-compress/ | |
+| Apache Commons Configuration 2.10.1 | https://commons.apache.org/proper/ | Apache License 2.0 |
+| | commons-configuration/
+| Apache Commons IO 2.17.0 | http://commons.apache.org/io/ | Apache License 2.0 |
+| Apache Commons Lang 3.5 | https://github.com/apache/commons-lan | Apache License 2.0 |
+| | g | |
+| Apache Commons Logging 1.3.0 | http://commons.apache.org/proper/comm | Apache License 2.0 |
+| | ons-logging/ | |
+| Apache Commons Modeler 2.0.1 | http://commons.apache.org/modele | Apache License 2.0 |
+| Apache Hadoop 3.4.0 | https://hadoop.apache.org/ | Apache License 2.0 |
+| Apache Hadoop Annotations 3.4.0 | | Apache License 2.0 |
+| Apache Hadoop Auth 3.4.0 | | Apache License 2.0 |
+| Apache Hadoop Client 3.4.0 | http://www.apache.org/hadoop-client/ | Apache License 2.0 |
+| Apache Hadoop Common 3.4.0 | | Apache License 2.0 |
+| Apache Hadoop HDFS 3.4.0 | | Apache License 2.0 |
+| Apache Hadoop HDFS Client 3.4.0 | | Apache License 2.0 |
+| Apache Hadoop shaded Guava 1.2.0 | | Apache License 2.0 |
+| Apache HttpClient 4.5.13 | https://github.com/apache/httpcompone | Apache License 2.0 |
+| | nts-client | |
+| Apache Jena - Base Common Environment | | Apache License 2.0 |
+| 4.9.0 | | |
+| Apache Log4j 2.17.1 | http://logging.apache.org/log4j/ | Apache License 2.0 |
+| Apache Log4J API 2.17.1 | http://logging.apache.org/log4j/2.x/l | Apache License 2.0 |
+| | og4j-api/ | |
+| Apache Log4j SLF4J Binding 2.17.1 | http://logging.apache.org/log4j/2.x/l | Apache License 2.0 |
+| | og4j-slf4j-impl/ | |
+| Apache Thrift 0.17.0 | http://thrift.apache.org/ | Apache License 2.0 |
+| Apache Xerces2 J 2.12.2 | http://xerces.apache.org/xerces2-j/ | Apache License 2.0 |
+| ARQ 4.9.0 | http://jena.apache.org/jena-arq/ | Apache License 2.0 |
+| Caffeine cache 3.1.6 | | Apache License 2.0 |
+| commons-cli 1.6.0 | http://commons.apache.org/cli/ | Apache License 2.0 |
+| commons-csv 1.13.0 | http://commons.apache.org/proper/comm | Apache License 2.0 |
+| | ons-csv/index.html | |
+| Commons Logging API 1.1.0 | http://maven.lucee.org/commons-loggin | Apache License 2.0 |
+| | g-api/ | |
+| dexx 0.7 | | MIT License |
+| Guava InternalFutureFailureAccess and | | Apache License 2.0 |
+| InternalFutures 1.0.1 | | |
+| hadoop-mapreduce-client-common 3.4.0 | | Apache License 2.0 |
+| hadoop-mapreduce-client-core 3.4.0 | | Apache License 2.0 |
+| hadoop-mapreduce-client-jobclient | | Apache License 2.0 |
+| 3.4.0 | | |
+| hadoop-yarn-api 3.4.0 | | Apache License 2.0 |
+| hadoop-yarn-client 3.4.0 | | Apache License 2.0 |
+| hadoop-yarn-common 3.4.0 | | Apache License 2.0 |
+| IRI 4.9.0 | http://jena.apache.org/jena-iri/ | Apache License 2.0 |
+| jackson-annotations 2.17.1 | https://github.com/FasterXML/jackson- | Apache License 2.0 |
+| | annotations | |
+| jackson-core 2.17.1 | https://github.com/FasterXML/jackson- | Apache License 2.0 |
+| | core | |
+| jackson-databind 2.17.1 | https://github.com/FasterXML/jackson- | Apache License 2.0 |
+| | databind | |
+| jakarta.xml.soap API 3.0.1 | | Eclipse Distribution License - v 1.0 |
+| Java API for XML Web Services 4.0.0 | | BSD 3-clause "New" or "Revised" License |
+| JCL 1.2 Implemented Over SLF4J 2.0.12 | http://www.slf4j.org | Apache License 2.0 |
+| Jena 4.9.0 | http://jena.apache.org/ | Apache License 2.0 |
+| Jersey 1.19.3 | https://projects.eclipse.org/projects | Common Development and Distribution |
+| | /ee4j.jersey | License 1.1 |
+| JSONLD Java : Core 0.13.6 | http://github.com/jsonld-java/jsonld | BSD 3-clause "New" or "Revised" License | | | -java/jsonld-java/ |
+| Log4J Commons Logging Bridge 2.17.1 | http://logging.apache.org/log4j/2.x/l | Apache License 2.0 |
+| | og4j-jcl/ | |
+| Log4J Compatibility API 2.17.1 | http://logging.apache.org/log4j/2.x/l | Apache License 2.0 |
+| | og4j-1.2-api/ | |
+| marklogic/marklogic-contentpump | | Apache License 2.0 |
+| 12.1.0 | | |
+| MarkLogic XCC 12.1.0 | | PSC Product License |
+| re2j 1.6 | | BSD 3-clause "New" or "Revised" License |
+| Saxon XSLT and XQuery Processor | http://saxon.sourceforge.net | Mozilla Public License 2.0 |
+| 9.7.0-7 | | |
+| SLF4J API Module 1.7.32 | http://www.slf4j.org | MIT License |
+| stax2-api 4.2.1 | https://github.com/FasterXML/stax2-ap | BSD 2-clause "Simplified" License |
+| | i | |
+| Woodstox 6.5.1 | https://github.com/FasterXML/woodstox | Apache License 2.0 |
+| xml-apis:xml-apis 1.0.b2 | http://xml.apache.org/commons/#extern | Apache License 1.1 |
+| | al | |
+| XPP3 1.1.4c | http://www.extreme.indiana.edu/xgws/x | Public Domain |
+| | soap/xpp/mxp1/ | |
+| XStream 1.4.21 | http://x-stream.github.io | BSD 3-clause "New" or "Revised" License |
+| -------------------------------------- | ------------------------------------- | ---------------------------------------- |
+
+-------------------------------------------------------------------------------------------------------------------------
+License Data and Text:
+-------------------------------------------------------------------------------------------------------------------------
-commons-lang3 3.5 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/commons/commons-lang3
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-logging 1.3.0 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-logging/commons-logging
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-logging-api 1.1 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-logging/commons-logging-api
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-commons-modeler 2.0.1 (Apache-2.0)
-https://repo1.maven.org/maven2/commons-modeler/commons-modeler
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-failureaccess 1.0.1 (Apache-2.0)
-https://repo1.maven.org/maven2/com/google/guava/failureaccess
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-annotations 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-annotations
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-auth 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-auth
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-client 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-client
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-common 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-common
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-hdfs 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-hdfs
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-hdfs-client 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-hdfs-client
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-mapreduce-client-common 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-mapreduce-client-common
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-mapreduce-client-core 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-mapreduce-client-core
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-mapreduce-client-jobclient 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-mapreduce-client-jobclient
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-shaded-guava 1.2.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/thirdparty/hadoop-shaded-guava
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-yarn-api 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-yarn-api
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
-
-hadoop-yarn-client 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-yarn-client
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Apache License 1.1
+(xml-apis:xml-apis 1.0.b2)
-hadoop-yarn-common 3.4.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-yarn-common
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Apache Software License
+=======================
-httpclient 4.5.13 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Version 1.1
+-----------
-jackson-annotations 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Copyright (c) 2000 The Apache Software Foundation. All rights reserved.
-jackson-core 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
-jackson-databind 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
-jakarta.xml.soap-api 3.0.1 (BSD)
-https://repo1.maven.org/maven2/jakarta/xml/soap/jakarta.xml.soap-api
-Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+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.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+3. The end-user documentation included with the redistribution, if any, must
+include the following acknowledgment:
- - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ "This product includes software developed by the Apache Software Foundation
+ (http://www.apache.org/)."
- - 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.
+Alternately, this acknowledgment may appear in the software itself, if and
+wherever such third-party acknowledgments normally appear.
- - Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+4. The names "Apache" and "Apache Software Foundation" must not be used to
+endorse or promote products derived from this software without prior written
+permission. For written permission, please contact apache@apache.org.
-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.
+5. Products derived from this software may not be called "Apache", nor may
+"Apache" appear in their name, without prior written permission of the Apache
+Software Foundation.
-jakarta.xml.ws-api 4.0.0 (BSD)
-https://repo1.maven.org/maven2/jakarta/xml/ws/jakarta.xml.ws-api
-Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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 APACHE
+SOFTWARE FOUNDATION OR ITS 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.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+--------------------------------------------------------------------------------
- - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+This software consists of voluntary contributions made by many individuals on
+behalf of the Apache Software Foundation. For more information on the Apache
+Software Foundation, please see .
- - 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.
+Portions of this software are based upon public domain software originally
+written at the National Center for Supercomputing Applications, University of
+Illinois, Urbana-Champaign.
- - Neither the name of the Eclipse Foundation, Inc. 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.
+Apache License 2.0
+(Apache Avro 1.11.5, Apache Commons BeanUtils 1.11.0, Apache Commons Codec 1.16.1, Apache Commons Collections 4.5.0-M2, Apache Commons Compress 1.26.1, Apache Commons Configuration 2.10.1, Apache Commons IO 2.17.0, Apache Commons Lang 3.5, Apache Commons Logging 1.3.0, Apache Commons Modeler 2.0.1, Apache Hadoop 3.4.0, Apache Hadoop Annotations 3.4.0, Apache Hadoop Auth 3.4.0, Apache Hadoop Client 3.4.0, Apache Hadoop Common 3.4.0, Apache Hadoop HDFS 3.4.0, Apache Hadoop HDFS Client 3.4.0, Apache Hadoop shaded Guava 1.2.0, Apache HttpClient 4.5.13, Apache Jena - Base Common Environment 4.9.0, Apache Log4j 2.17.1, Apache Log4J API 2.17.1, Apache Log4j SLF4J Binding 2.17.1, Apache Thrift 0.17.0, Apache Xerces2 J 2.12.2, ARQ 4.9.0, Caffeine cache 3.1.6, Commons Logging API 1.1.0, commons-cli 1.6.0, commons-csv 1.13.0, Guava InternalFutureFailureAccess and InternalFutures 1.0.1, hadoop-mapreduce-client-common 3.4.0, hadoop-mapreduce-client-core 3.4.0, hadoop-mapreduce-client-jobclient 3.4.0, hadoop-yarn-api 3.4.0, hadoop-yarn-client 3.4.0, hadoop-yarn-common 3.4.0, IRI 4.9.0, jackson-annotations 2.17.1, jackson-core 2.17.1, jackson-databind 2.17.1, JCL 1.2 Implemented Over SLF4J 2.0.12, Log4J Commons Logging Bridge 2.17.1, Log4J Compatibility API 2.17.1, marklogic/marklogic-contentpump v12.0.1, Woodstox 6.5.1)
-jaxws-rt 4.0.0 (BSD)
-https://repo1.maven.org/maven2/com/sun/xml/ws/jaxws-rt
+Apache License
+Version 2.0, January 2004
+=========================
-Eclipse Distribution License - v 1.0
-Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.
+http://www.apache.org/licenses/
-All rights reserved.
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+1. Definitions.
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+"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.
-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.
+END OF TERMS AND CONDITIONS
-Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+APPENDIX: How to apply the Apache License to your work
-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.
+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.
-jcl-over-slf4j 2.0.12 (Apache-2.0)
-https://repo1.maven.org/maven2/org/slf4j/jcl-over-slf4j
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ 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
+ 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.
-jena-arq 4.9.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/jena/jena-arq
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+---
-jena-base 4.9.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/jena/jena-base
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+BSD 2-clause "Simplified" License
+(stax2-api 4.2.1)
-jena-core 4.9.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/jena/jena-core
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+BSD Two Clause License
+======================
-jena-iri 4.9.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/jena/jena-iri
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
-jersey-core 1.19.3 (CDDL-1.1)
-https://repo1.maven.org/maven2/com/sun/jersey/jersey-core
-For the full text of the CDDL-1.1, see Common Development and Distribution License 1.1 (CDDL-1.1)
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-jsonld-java 0.13.6 (BSD-3-Clause)
-https://repo1.maven.org/maven2/com/github/jsonld-java/jsonld-java
-Copyright (c) 2012, Deutsche Forschungszentrum für Künstliche Intelligenz GmbH
-Copyright (c) 2012-2017, JSONLD-Java contributors
-All rights reserved.
+ 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.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- * 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.
- * Neither the name of the 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 AUTHOR "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 AUTHOR 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.
-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 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.
+---
-libthrift 0.17.0 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/thrift/libthrift
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+BSD 3-clause "New" or "Revised" License
+(Java API for XML Web Services 4.0.0, JSONLD Java :: Core 0.13.6, re2j 1.6, XStream 1.4.21)
-log4j-1.2-api 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-1.2-api
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+[Copyright notice for each component version subject to this license can be located via the origin url provided in the Component Summary above]
-log4j-api 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
-log4j-core 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
-log4j-jcl 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jcl
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ * 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.
-log4j-slf4j-impl 2.17.1 (Apache-2.0)
-https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ * Neither the name of the nor the names of its contributors may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
-marklogic-xcc 12.0 (Apache-2.0)
-https://repo1.maven.org/maven2/com/marklogic/marklogic-xcc
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+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.
-re2j 1.6 (BSD)
-https://repo1.maven.org/maven2/com/google/re2j/re2j
-This is a work derived from Russ Cox's RE2 in Go, whose license
-http://golang.org/LICENSE is as follows:
+---
-Copyright (c) 2009 The Go Authors. All rights reserved.
+Common Development and Distribution License 1.1
+(Jersey 1.19.3)
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1
+==============================================================
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+1. Definitions.
-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.
-Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ 1.1. “Contributor” means each individual or entity that creates or contributes
+ to the creation of Modifications.
-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.
+ 1.2. “Contributor Version” means the combination of the Original Software,
+ prior Modifications used by a Contributor (if any), and the Modifications made
+ by that particular Contributor.
-saxon-he 9.7.0-7 (MPL-2.0)
-https://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE
-For the full text of the MPL-2.0 license, see Mozilla Public License 2.0 (MPL-2.0)
+ 1.3. “Covered Software” means (a) the Original Software, or (b) Modifications,
+ or (c) the combination of files containing Original Software with files
+ containing Modifications, in each case including portions thereof.
-slf4j-api 1.7.32 (MIT)
-https://repo1.maven.org/maven2/org/slf4j/slf4j-api
-Copyright (c) 2004-2023 QOS.ch
-All rights reserved.
+ 1.4. “Executable” means the Covered Software in any form other than Source
+ Code.
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ 1.5. “Initial Developer” means the individual or entity that first makes
+ Original Software available under this License.
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ 1.6. “Larger Work” means a work which combines Covered Software or portions
+ thereof with code not governed by the terms of this License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 1.7. “License” means this document.
-stax2-api 4.2.1 (BSD)
-https://repo1.maven.org/maven2/org/codehaus/woodstox/stax2-api
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ 1.8. “Licensable” means having the right to grant, to the maximum extent
+ possible, whether at the time of the initial grant or subsequently acquired,
+ any and all of the rights conveyed herein.
+ 1.9. “Modifications” means the Source Code and Executable form of any of the
+ following:
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ A. Any file that results from an addition to, deletion from or modification
+ of the contents of a file containing Original Software or previous
+ Modifications;
-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.
+ B. Any new file that contains any part of the Original Software or previous
+ Modification; or
-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 HOLDER 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.
+ C. Any new file that is contributed or otherwise made available under the
+ terms of this License.
-woodstox-core 6.5.1 (Apache-2.0)
-https://repo1.maven.org/maven2/com/fasterxml/woodstox/woodstox-core
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ 1.10. “Original Software” means the Source Code and Executable form of computer
+ software code that is originally released under this License.
-xercesimpl 2.12.2 (Apache-2.0)
-https://repo1.maven.org/maven2/xerces/xercesImpl
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ 1.11. “Patent Claims” means any patent claim(s), now owned or hereafter
+ acquired, including without limitation, method, process, and apparatus claims,
+ in any patent Licensable by grantor.
-xml-apis 1.0.b2 (Apache-2.0)
-https://repo1.maven.org/maven2/xml-apis/xml-apis
-For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
+ 1.12. “Source Code” means (a) the common form of computer software code in
+ which modifications are made and (b) associated documentation included in or
+ with such code.
-xpp3 1.1.4c (Apache-1.1)
-https://repo1.maven.org/maven2/xpp3/xpp3
-Apache License 1.1
+ 1.13. “You” (or “Your”) means an individual or a legal entity exercising rights
+ under, and complying with all of the terms of, this License. For legal
+ entities, “You” includes any entity which controls, is controlled by, or is
+ under common control with You. For purposes of this definition, “control” means
+ (a) the power, direct or indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (b) ownership of more than fifty
+ percent (50%) of the outstanding shares or beneficial ownership of such entity.
-Copyright (c) 2000 The Apache Software Foundation. All rights reserved.
+2. License Grants.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ 2.1. The Initial Developer Grant.
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ Conditioned upon Your compliance with Section 3.1 below and subject to third
+ party intellectual property claims, the Initial Developer hereby grants You a
+ world-wide, royalty-free, non-exclusive license:
-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.
+ (a) under intellectual property rights (other than patent or trademark)
+ Licensable by Initial Developer, to use, reproduce, modify, display, perform,
+ sublicense and distribute the Original Software (or portions thereof), with
+ or without Modifications, and/or as part of a Larger Work; and
-3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
-"This product includes software developed by the Apache Software Foundation (http://www.apache.org/)."
+ (b) under Patent Claims infringed by the making, using or selling of Original
+ Software, to make, have made, use, practice, sell, and offer for sale, and/or
+ otherwise dispose of the Original Software (or portions thereof).
-Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date
+ Initial Developer first distributes or otherwise makes the Original Software
+ available to a third party under the terms of this License.
-4. The name "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1)
+ for code that You delete from the Original Software, or (2) for infringements
+ caused by: (i) the modification of the Original Software, or (ii) the
+ combination of the Original Software with other software or devices.
-5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation.
+ 2.2. Contributor Grant.
-THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR ITS 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.
+ Conditioned upon Your compliance with Section 3.1 below and subject to third
+ party intellectual property claims, each Contributor hereby grants You a
+ world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark)
+ Licensable by Contributor to use, reproduce, modify, display, perform,
+ sublicense and distribute the Modifications created by such Contributor (or
+ portions thereof), either on an unmodified basis, with other Modifications,
+ as Covered Software and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of
+ Modifications made by that Contributor either alone and/or in combination
+ with its Contributor Version (or portions of such combination), to make, use,
+ sell, offer for sale, have made, and/or otherwise dispose of: (1)
+ Modifications made by that Contributor (or portions thereof); and (2) the
+ combination of Modifications made by that Contributor with its Contributor
+ Version (or portions of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the
+ date Contributor first distributes or otherwise makes the Modifications
+ available to a third party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted:
+
+ (1) for any code that Contributor has deleted from the Contributor Version;
+
+ (2) for infringements caused by: (i) third party modifications of
+ Contributor Version, or (ii) the combination of Modifications made by that
+ Contributor with other software (except as part of the Contributor Version)
+ or other devices; or
+
+ (3) under Patent Claims infringed by Covered Software in the absence of
+ Modifications made by that Contributor.
+
+ 3. Distribution Obligations.
+
+ 3.1. Availability of Source Code.
+
+ Any Covered Software that You distribute or otherwise make available in
+ Executable form must also be made available in Source Code form and that
+ Source Code form must be distributed only under the terms of this License.
+ You must include a copy of this License with every copy of the Source Code
+ form of the Covered Software You distribute or otherwise make available. You
+ must inform recipients of any such Covered Software in Executable form as to
+ how they can obtain such Covered Software in Source Code form in a reasonable
+ manner on or through a medium customarily used for software exchange.
+
+ 3.2. Modifications.
+
+ The Modifications that You create or to which You contribute are governed by
+ the terms of this License. You represent that You believe Your Modifications
+ are Your original creation(s) and/or You have sufficient rights to grant the
+ rights conveyed by this License.
+
+ 3.3. Required Notices.
+
+ You must include a notice in each of Your Modifications that identifies You
+ as the Contributor of the Modification. You may not remove or alter any
+ copyright, patent or trademark notices contained within the Covered Software,
+ or any notices of licensing or any descriptive text giving attribution to any
+ Contributor or the Initial Developer.
+
+ 3.4. Application of Additional Terms.
+
+ You may not offer or impose any terms on any Covered Software in Source Code
+ form that alters or restricts the applicable version of this License or the
+ recipients' rights hereunder. You may choose to offer, and to charge a fee
+ for, warranty, support, indemnity or liability obligations to one or more
+ recipients of Covered Software. However, you may do so only on Your own
+ behalf, and not on behalf of the Initial Developer or any Contributor. You
+ must make it absolutely clear that any such warranty, support, indemnity or
+ liability obligation is offered by You alone, and You hereby agree to
+ indemnify the Initial Developer and every Contributor for any liability
+ incurred by the Initial Developer or such Contributor as a result of
+ warranty, support, indemnity or liability terms You offer.
+
+ 3.5. Distribution of Executable Versions.
+
+ You may distribute the Executable form of the Covered Software under the
+ terms of this License or under the terms of a license of Your choice, which
+ may contain terms different from this License, provided that You are in
+ compliance with the terms of this License and that the license for the
+ Executable form does not attempt to limit or alter the recipient's rights in
+ the Source Code form from the rights set forth in this License. If You
+ distribute the Covered Software in Executable form under a different license,
+ You must make it absolutely clear that any terms which differ from this
+ License are offered by You alone, not by the Initial Developer or
+ Contributor. You hereby agree to indemnify the Initial Developer and every
+ Contributor for any liability incurred by the Initial Developer or such
+ Contributor as a result of any such terms You offer.
+
+ 3.6. Larger Works.
+
+ You may create a Larger Work by combining Covered Software with other code
+ not governed by the terms of this License and distribute the Larger Work as a
+ single product. In such a case, You must make sure the requirements of this
+ License are fulfilled for the Covered Software.
+
+ 4. Versions of the License.
+
+ 4.1. New Versions.
+
+ Oracle is the initial license steward and may publish revised and/or new
+ versions of this License from time to time. Each version will be given a
+ distinguishing version number. Except as provided in Section 4.3, no one
+ other than the license steward has the right to modify this License.
+
+ 4.2. Effect of New Versions.
+
+ You may always continue to use, distribute or otherwise make the Covered
+ Software available under the terms of the version of the License under which
+ You originally received the Covered Software. If the Initial Developer
+ includes a notice in the Original Software prohibiting it from being
+ distributed or otherwise made available under any subsequent version of the
+ License, You must distribute and make the Covered Software available under
+ the terms of the version of the License under which You originally received
+ the Covered Software. Otherwise, You may also choose to use, distribute or
+ otherwise make the Covered Software available under the terms of any
+ subsequent version of the License published by the license steward.
+
+ 4.3. Modified Versions.
+
+ When You are an Initial Developer and You want to create a new license for
+ Your Original Software, You may create and use a modified version of this
+ License if You: (a) rename the license and remove any references to the name
+ of the license steward (except to note that the license differs from this
+ License); and (b) otherwise make it clear that the license contains terms
+ which differ from this License.
+
+ 5. DISCLAIMER OF WARRANTY.
+
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT
+ WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+ LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS,
+ MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK
+ AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD
+ ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL
+ DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
+ REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART
+ OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT
+ UNDER THIS DISCLAIMER.
+
+ 6. TERMINATION.
+
+ 6.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to cure such
+ breach within 30 days of becoming aware of the breach. Provisions which, by
+ their nature, must remain in effect beyond the termination of this License
+ shall survive.
+
+ 6.2. If You assert a patent infringement claim (excluding declaratory
+ judgment actions) against Initial Developer or a Contributor (the Initial
+ Developer or Contributor against whom You assert such claim is referred to as
+ “Participant”) alleging that the Participant Software (meaning the
+ Contributor Version where the Participant is a Contributor or the Original
+ Software where the Participant is the Initial Developer) directly or
+ indirectly infringes any patent, then any and all rights granted directly or
+ indirectly to You by such Participant, the Initial Developer (if the Initial
+ Developer is not the Participant) and all Contributors under Sections 2.1
+ and/or 2.2 of this License shall, upon 60 days notice from Participant
+ terminate prospectively and automatically at the expiration of such 60 day
+ notice period, unless if within such 60 day period You withdraw Your claim
+ with respect to the Participant Software against such Participant either
+ unilaterally or pursuant to a written agreement with Participant.
+
+ 6.3. If You assert a patent infringement claim against Participant alleging
+ that the Participant Software directly or indirectly infringes any patent
+ where such claim is resolved (such as by license or settlement) prior to the
+ initiation of patent infringement litigation, then the reasonable value of
+ the licenses granted by such Participant under Sections 2.1 or 2.2 shall be
+ taken into account in determining the amount or value of any payment or
+ license.
+
+ 6.4. In the event of termination under Sections 6.1 or 6.2 above, all end
+ user licenses that have been validly granted by You or any distributor
+ hereunder prior to termination (excluding licenses granted to You by any
+ distributor) shall survive termination.
+
+ 7. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
+ NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
+ OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF
+ ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
+ INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
+ MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
+ PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
+ LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+ INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
+ LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
+ LIMITATION MAY NOT APPLY TO YOU.
+
+ 8. U.S. GOVERNMENT END USERS.
+
+ The Covered Software is a “commercial item,” as that term is defined in 48
+ C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that
+ term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer
+ software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept.
+ 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through
+ 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software
+ with only those rights set forth herein. This U.S. Government Rights clause is
+ in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision
+ that addresses Government rights in computer software under this License.
+
+ 9. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject matter
+ hereof. If any provision of this License is held to be unenforceable, such
+ provision shall be reformed only to the extent necessary to make it
+ enforceable. This License shall be governed by the law of the jurisdiction
+ specified in a notice contained within the Original Software (except to the
+ extent applicable law, if any, provides otherwise), excluding such
+ jurisdiction's conflict-of-law provisions. Any litigation relating to this
+ License shall be subject to the jurisdiction of the courts located in the
+ jurisdiction and venue specified in a notice contained within the Original
+ Software, with the losing party responsible for costs, including, without
+ limitation, court costs and reasonable attorneys' fees and expenses. The
+ application of the United Nations Convention on Contracts for the International
+ Sale of Goods is expressly excluded. Any law or regulation which provides that
+ the language of a contract shall be construed against the drafter shall not
+ apply to this License. You agree that You alone are responsible for compliance
+ with the United States export administration regulations (and the export
+ control laws and regulation of any other countries) when You use, distribute or
+ otherwise make available any Covered Software.
+
+ 10. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is responsible
+ for claims and damages arising, directly or indirectly, out of its utilization
+ of rights under this License and You agree to work with Initial Developer and
+ Contributors to distribute such responsibility on an equitable basis. Nothing
+ herein is intended or shall be deemed to constitute any admission of liability.
+
+ ------------------------------------------------------------------------------
+
+ NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+ (CDDL)
+
+ The code released under the CDDL shall be governed by the laws of the State of
+ California (excluding conflict-of-law provisions). Any litigation relating to
+ this License shall be subject to the jurisdiction of the Federal Courts of the
+ Northern District of California and the state courts of the State of
+ California, with venue lying in Santa Clara County, California.
+
+---
-This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org/. Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign.
+Eclipse Distribution License - v 1.0
+(jakarta.xml.soap API 3.0.1)
-xstream 1.4.21 (BSD-3-Clause)
-https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+Eclipse Distribution License - v 1.0
+====================================
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.
-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.
+All rights reserved.
-3. Neither the name of XStream nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
-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.
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
--------------------------------------------------------------------------
+ * 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.
-Common Licenses
+ * Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
-This section shows the text of common third-party licenses used by Progress® MarkLogic® Content Pump v12.0.1:
+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.
-Apache License 2.0 (Apache-2.0)
-https://spdx.org/licenses/Apache-2.0.html
+---
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
+MIT License
+(dexx 0.7, SLF4J API Module 1.7.32)
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+The MIT License
+===============
-1. Definitions.
+[Copyright notice for each component version subject to this license can be located via the origin url provided in the Component Summary above]
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in the
+Software without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
+Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-"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.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-"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.
+Mozilla Public License 2.0
+(Saxon XSLT and XQuery Processor 9.7.0-7)
-"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.
+Mozilla Public License
+Version 2.0
+======================
-"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).
+1. Definitions
+--------------
-"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.
+ 1.1. "Contributor"
-"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."
+ means each individual or legal entity that creates, contributes to the creation
+ of, or owns Covered Software.
-"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.
+ 1.2. "Contributor Version"
-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.
+ means the combination of the Contributions of others (if any) used by a
+ Contributor and that particular Contributor's Contribution.
-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.
+ 1.3. "Contribution"
-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:
+ means Covered Software of a particular Contributor.
- (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
+ 1.4. "Covered Software"
- (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
+ means Source Code Form to which the initial Contributor has attached the notice
+ in Exhibit A, the Executable Form of such Source Code Form, and Modifications
+ of such Source Code Form, in each case including portions thereof.
- (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
+ 1.5. "Incompatible With Secondary Licenses"
- (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.
+ means
- 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.
+ a.
-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.
+ that the initial Contributor has attached the notice described in Exhibit B
+ to the Covered Software; or
-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.
+ b.
-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.
+ that the Covered Software was made available under the terms of version 1.1
+ or earlier of the License, but not also under the terms of a Secondary
+ 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.
+ 1.6. "Executable Form"
-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.
+ means any form of the work other than Source Code Form.
-END OF TERMS AND CONDITIONS
+ 1.7. "Larger Work"
-APPENDIX: How to apply the Apache License to your work.
+ means a work that combines Covered Software with other material, in a separate
+ file or files, that is not Covered Software.
-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.
+ 1.8. "License"
-Copyright [yyyy] [name of copyright owner]
+ means this document.
-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
+ 1.9. "Licensable"
-http://www.apache.org/licenses/LICENSE-2.0
+ means having the right to grant, to the maximum extent possible, whether at the
+ time of the initial grant or subsequently, any and all of the rights conveyed
+ by this License.
-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.
+ 1.10. "Modifications"
-------------------------
+ means any of the following:
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 (CDDL-1.1)
-https://spdx.org/licenses/CDDL-1.1.html
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1
-1. Definitions.
-
- 1.1. "Contributor" means each individual or entity that creates or
- contributes to the creation of Modifications.
+ a.
- 1.2. "Contributor Version" means the combination of the Original
- Software, prior Modifications used by a Contributor (if any), and
- the Modifications made by that particular Contributor.
+ any file in Source Code Form that results from an addition to, deletion
+ from, or modification of the contents of Covered Software; or
- 1.3. "Covered Software" means (a) the Original Software, or (b)
- Modifications, or (c) the combination of files containing Original
- Software with files containing Modifications, in each case including
- portions thereof.
+ b.
- 1.4. "Executable" means the Covered Software in any form other than
- Source Code.
+ any new file in Source Code Form that contains any Covered Software.
- 1.5. "Initial Developer" means the individual or entity that first
- makes Original Software available under this License.
+ 1.11. "Patent Claims" of a Contributor
- 1.6. "Larger Work" means a work which combines Covered Software or
- portions thereof with code not governed by the terms of this License.
+ means any patent claim(s), including without limitation, method, process, and
+ apparatus claims, in any patent Licensable by such Contributor that would be
+ infringed, but for the grant of the License, by the making, using, selling,
+ offering for sale, having made, import, or transfer of either its Contributions
+ or its Contributor Version.
- 1.7. "License" means this document.
+ 1.12. "Secondary License"
- 1.8. "Licensable" means having the right to grant, to the maximum
- extent possible, whether at the time of the initial grant or
- subsequently acquired, any and all of the rights conveyed herein.
+ means either the GNU General Public License, Version 2.0, the GNU Lesser
+ General Public License, Version 2.1, the GNU Affero General Public License,
+ Version 3.0, or any later versions of those licenses.
- 1.9. "Modifications" means the Source Code and Executable form of
- any of the following:
+ 1.13. "Source Code Form"
- A. Any file that results from an addition to, deletion from or
- modification of the contents of a file containing Original Software
- or previous Modifications;
+ means the form of the work preferred for making modifications.
- B. Any new file that contains any part of the Original Software or
- previous Modification; or
+ 1.14. "You" (or "Your")
- C. Any new file that is contributed or otherwise made available
- under the terms of this License.
+ means an individual or a legal entity exercising rights under this License. For
+ legal entities, "You" includes any entity that controls, is controlled by, or
+ is under common control with You. For purposes of this definition, "control"
+ means (a) the power, direct or indirect, to cause the direction or management
+ of such entity, whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial ownership of such
+ entity.
- 1.10. "Original Software" means the Source Code and Executable form
- of computer software code that is originally released under this
- License.
+2. License Grants and Conditions
+--------------------------------
- 1.11. "Patent Claims" means any patent claim(s), now owned or
- hereafter acquired, including without limitation, method, process,
- and apparatus claims, in any patent Licensable by grantor.
+ 2.1. Grants
- 1.12. "Source Code" means (a) the common form of computer software
- code in which modifications are made and (b) associated
- documentation included in or with such code.
+ Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive
+ license:
- 1.13. "You" (or "Your") means an individual or a legal entity
- exercising rights under, and complying with all of the terms of,
- this License. For legal entities, "You" includes any entity which
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
+ a.
-2. License Grants.
+ under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available, modify,
+ display, perform, distribute, and otherwise exploit its Contributions,
+ either on an unmodified basis, with Modifications, or as part of a Larger
+ Work; and
- 2.1. The Initial Developer Grant.
+ b.
- Conditioned upon Your compliance with Section 3.1 below and subject
- to third party intellectual property claims, the Initial Developer
- hereby grants You a world-wide, royalty-free, non-exclusive license:
+ under Patent Claims of such Contributor to make, use, sell, offer for sale,
+ have made, import, and otherwise transfer either its Contributions or its
+ Contributor Version.
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Initial Developer, to use, reproduce,
- modify, display, perform, sublicense and distribute the Original
- Software (or portions thereof), with or without Modifications,
- and/or as part of a Larger Work; and
+ 2.2. Effective Date
- (b) under Patent Claims infringed by the making, using or selling of
- Original Software, to make, have made, use, practice, sell, and
- offer for sale, and/or otherwise dispose of the Original Software
- (or portions thereof).
+ The licenses granted in Section 2.1 with respect to any Contribution become
+ effective for each Contribution on the date the Contributor first distributes
+ such Contribution.
- (c) The licenses granted in Sections 2.1(a) and (b) are effective on
- the date Initial Developer first distributes or otherwise makes the
- Original Software available to a third party under the terms of this
- License.
+ 2.3. Limitations on Grant Scope
- (d) Notwithstanding Section 2.1(b) above, no patent license is
- granted: (1) for code that You delete from the Original Software, or
- (2) for infringements caused by: (i) the modification of the
- Original Software, or (ii) the combination of the Original Software
- with other software or devices.
+ The licenses granted in this Section 2 are the only rights granted under this
+ License. No additional rights or licenses will be implied from the distribution
+ or licensing of Covered Software under this License. Notwithstanding
+ Section 2.1(b) above, no patent license is granted by a Contributor:
- 2.2. Contributor Grant.
+ a.
- Conditioned upon Your compliance with Section 3.1 below and subject
- to third party intellectual property claims, each Contributor hereby
- grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Contributor to use, reproduce, modify,
- display, perform, sublicense and distribute the Modifications
- created by such Contributor (or portions thereof), either on an
- unmodified basis, with other Modifications, as Covered Software
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or selling
- of Modifications made by that Contributor either alone and/or in
- combination with its Contributor Version (or portions of such
- combination), to make, use, sell, offer for sale, have made, and/or
- otherwise dispose of: (1) Modifications made by that Contributor (or
- portions thereof); and (2) the combination of Modifications made by
- that Contributor with its Contributor Version (or portions of such
- combination).
-
- (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective
- on the date Contributor first distributes or otherwise makes the
- Modifications available to a third party.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is
- granted: (1) for any code that Contributor has deleted from the
- Contributor Version; (2) for infringements caused by: (i) third
- party modifications of Contributor Version, or (ii) the combination
- of Modifications made by that Contributor with other software
- (except as part of the Contributor Version) or other devices; or (3)
- under Patent Claims infringed by Covered Software in the absence of
- Modifications made by that Contributor.
-
-3. Distribution Obligations.
-
- 3.1. Availability of Source Code.
-
- Any Covered Software that You distribute or otherwise make available
- in Executable form must also be made available in Source Code form
- and that Source Code form must be distributed only under the terms
- of this License. You must include a copy of this License with every
- copy of the Source Code form of the Covered Software You distribute
- or otherwise make available. You must inform recipients of any such
- Covered Software in Executable form as to how they can obtain such
- Covered Software in Source Code form in a reasonable manner on or
- through a medium customarily used for software exchange.
-
- 3.2. Modifications.
-
- The Modifications that You create or to which You contribute are
- governed by the terms of this License. You represent that You
- believe Your Modifications are Your original creation(s) and/or You
- have sufficient rights to grant the rights conveyed by this License.
-
- 3.3. Required Notices.
-
- You must include a notice in each of Your Modifications that
- identifies You as the Contributor of the Modification. You may not
- remove or alter any copyright, patent or trademark notices contained
- within the Covered Software, or any notices of licensing or any
- descriptive text giving attribution to any Contributor or the
- Initial Developer.
-
- 3.4. Application of Additional Terms.
-
- You may not offer or impose any terms on any Covered Software in
- Source Code form that alters or restricts the applicable version of
- this License or the recipients' rights hereunder. You may choose to
- offer, and to charge a fee for, warranty, support, indemnity or
- liability obligations to one or more recipients of Covered Software.
- However, you may do so only on Your own behalf, and not on behalf of
- the Initial Developer or any Contributor. You must make it
- absolutely clear that any such warranty, support, indemnity or
- liability obligation is offered by You alone, and You hereby agree
- to indemnify the Initial Developer and every Contributor for any
- liability incurred by the Initial Developer or such Contributor as a
- result of warranty, support, indemnity or liability terms You offer.
-
- 3.5. Distribution of Executable Versions.
-
- You may distribute the Executable form of the Covered Software under
- the terms of this License or under the terms of a license of Your
- choice, which may contain terms different from this License,
- provided that You are in compliance with the terms of this License
- and that the license for the Executable form does not attempt to
- limit or alter the recipient's rights in the Source Code form from
- the rights set forth in this License. If You distribute the Covered
- Software in Executable form under a different license, You must make
- it absolutely clear that any terms which differ from this License
- are offered by You alone, not by the Initial Developer or
- Contributor. You hereby agree to indemnify the Initial Developer and
- every Contributor for any liability incurred by the Initial
- Developer or such Contributor as a result of any such terms You offer.
-
- 3.6. Larger Works.
-
- You may create a Larger Work by combining Covered Software with
- other code not governed by the terms of this License and distribute
- the Larger Work as a single product. In such a case, You must make
- sure the requirements of this License are fulfilled for the Covered
- Software.
-
-4. Versions of the License.
-
- 4.1. New Versions.
-
- Oracle is the initial license steward and may publish revised and/or
- new versions of this License from time to time. Each version will be
- given a distinguishing version number. Except as provided in Section
- 4.3, no one other than the license steward has the right to modify
- this License.
-
- 4.2. Effect of New Versions.
-
- You may always continue to use, distribute or otherwise make the
- Covered Software available under the terms of the version of the
- License under which You originally received the Covered Software. If
- the Initial Developer includes a notice in the Original Software
- prohibiting it from being distributed or otherwise made available
- under any subsequent version of the License, You must distribute and
- make the Covered Software available under the terms of the version
- of the License under which You originally received the Covered
- Software. Otherwise, You may also choose to use, distribute or
- otherwise make the Covered Software available under the terms of any
- subsequent version of the License published by the license steward.
-
- 4.3. Modified Versions.
-
- When You are an Initial Developer and You want to create a new
- license for Your Original Software, You may create and use a
- modified version of this License if You: (a) rename the license and
- remove any references to the name of the license steward (except to
- note that the license differs from this License); and (b) otherwise
- make it clear that the license contains terms which differ from this
- License.
-
-5. DISCLAIMER OF WARRANTY.
-
- COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE
- IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
- NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
- THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE
- DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
- OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
- REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
- ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS
- AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-6. TERMINATION.
-
- 6.1. This License and the rights granted hereunder will terminate
- automatically if You fail to comply with terms herein and fail to
- cure such breach within 30 days of becoming aware of the breach.
- Provisions which, by their nature, must remain in effect beyond the
- termination of this License shall survive.
-
- 6.2. If You assert a patent infringement claim (excluding
- declaratory judgment actions) against Initial Developer or a
- Contributor (the Initial Developer or Contributor against whom You
- assert such claim is referred to as "Participant") alleging that the
- Participant Software (meaning the Contributor Version where the
- Participant is a Contributor or the Original Software where the
- Participant is the Initial Developer) directly or indirectly
- infringes any patent, then any and all rights granted directly or
- indirectly to You by such Participant, the Initial Developer (if the
- Initial Developer is not the Participant) and all Contributors under
- Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice
- from Participant terminate prospectively and automatically at the
- expiration of such 60 day notice period, unless if within such 60
- day period You withdraw Your claim with respect to the Participant
- Software against such Participant either unilaterally or pursuant to
- a written agreement with Participant.
-
- 6.3. If You assert a patent infringement claim against Participant
- alleging that the Participant Software directly or indirectly
- infringes any patent where such claim is resolved (such as by
- license or settlement) prior to the initiation of patent
- infringement litigation, then the reasonable value of the licenses
- granted by such Participant under Sections 2.1 or 2.2 shall be taken
- into account in determining the amount or value of any payment or
- license.
-
- 6.4. In the event of termination under Sections 6.1 or 6.2 above,
- all end user licenses that have been validly granted by You or any
- distributor hereunder prior to termination (excluding licenses
- granted to You by any distributor) shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
- INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
- COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE
- TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
- CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
- LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
- FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR
- LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE
- POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT
- APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH
- PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
- LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
- LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
- AND LIMITATION MAY NOT APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
- The Covered Software is a "commercial item," as that term is defined
- in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
- software" (as that term is defined at 48 C.F.R. §
- 252.227-7014(a)(1)) and "commercial computer software documentation"
- as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent
- with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
- (June 1995), all U.S. Government End Users acquire Covered Software
- with only those rights set forth herein. This U.S. Government Rights
- clause is in lieu of, and supersedes, any other FAR, DFAR, or other
- clause or provision that addresses Government rights in computer
- software under this License.
-
-9. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the extent
- necessary to make it enforceable. This License shall be governed by
- the law of the jurisdiction specified in a notice contained within
- the Original Software (except to the extent applicable law, if any,
- provides otherwise), excluding such jurisdiction's conflict-of-law
- provisions. Any litigation relating to this License shall be subject
- to the jurisdiction of the courts located in the jurisdiction and
- venue specified in a notice contained within the Original Software,
- with the losing party responsible for costs, including, without
- limitation, court costs and reasonable attorneys' fees and expenses.
- The application of the United Nations Convention on Contracts for
- the International Sale of Goods is expressly excluded. Any law or
- regulation which provides that the language of a contract shall be
- construed against the drafter shall not apply to this License. You
- agree that You alone are responsible for compliance with the United
- States export administration regulations (and the export control
- laws and regulation of any other countries) when You use, distribute
- or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
- responsible for claims and damages arising, directly or indirectly,
- out of its utilization of rights under this License and You agree to
- work with Initial Developer and Contributors to distribute such
- responsibility on an equitable basis. Nothing herein is intended or
- shall be deemed to constitute any admission of liability.
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
-The code released under the CDDL shall be governed by the laws of the
-State of California (excluding conflict-of-law provisions). Any
-litigation relating to this License shall be subject to the jurisdiction
-of the Federal Courts of the Northern District of California and the
-state courts of the State of California, with venue lying in Santa Clara
-County, California.
+ for any code that a Contributor has removed from Covered Software; or
---------------------------
+ b.
-Mozilla Public License 2.0 (MPL-2.0)
-https://spdx.org/licenses/MPL-2.0.html
+ for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
-Mozilla Public License Version 2.0
-==================================
+ c.
-1. Definitions
---------------
+ under Patent Claims infringed by Covered Software in the absence of its
+ Contributions.
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
+ This License does not grant any rights in the trademarks, service marks, or
+ logos of any Contributor (except as may be necessary to comply with the notice
+ requirements in Section 3.4).
-2. License Grants and Conditions
---------------------------------
+ 2.4. Subsequent Licenses
-2.1. Grants
+ No Contributor makes additional grants as a result of Your choice to distribute
+ the Covered Software under a subsequent version of this License (see
+ Section 10.2) or under the terms of a Secondary License (if permitted under the
+ terms of Section 3.3).
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
+ 2.5. Representation
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
+ Each Contributor represents that the Contributor believes its Contributions are
+ its original creation(s) or it has sufficient rights to grant the rights to its
+ Contributions conveyed by this License.
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
+ 2.6. Fair Use
-2.2. Effective Date
+ This License is not intended to limit any rights You have under applicable
+ copyright doctrines of fair use, fair dealing, or other equivalents.
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
+ 2.7. Conditions
-2.3. Limitations on Grant Scope
+ Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
+ Section 2.1.
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
+3. Responsibilities
+-------------------
-(a) for any code that a Contributor has removed from Covered Software;
- or
+ 3.1. Distribution of Source Form
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
+ All distribution of Covered Software in Source Code Form, including any
+ Modifications that You create or to which You contribute, must be under the
+ terms of this License. You must inform recipients that the Source Code Form of
+ the Covered Software is governed by the terms of this License, and how they can
+ obtain a copy of this License. You may not attempt to alter or restrict the
+ recipients' rights in the Source Code Form.
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
+ 3.2. Distribution of Executable Form
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
+ If You distribute Covered Software in Executable Form then:
-2.4. Subsequent Licenses
+ a.
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
+ such Covered Software must also be made available in Source Code Form, as
+ described in Section 3.1, and You must inform recipients of the Executable
+ Form how they can obtain a copy of such Source Code Form by reasonable
+ means in a timely manner, at a charge no more than the cost of distribution
+ to the recipient; and
-2.5. Representation
+ b.
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
+ You may distribute such Executable Form under the terms of this License, or
+ sublicense it under different terms, provided that the license for the
+ Executable Form does not attempt to limit or alter the recipients' rights
+ in the Source Code Form under this License.
-2.6. Fair Use
+ 3.3. Distribution of a Larger Work
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
+ You may create and distribute a Larger Work under terms of Your choice,
+ provided that You also comply with the requirements of this License for the
+ Covered Software. If the Larger Work is a combination of Covered Software with
+ a work governed by one or more Secondary Licenses, and the Covered Software is
+ not Incompatible With Secondary Licenses, this License permits You to
+ additionally distribute such Covered Software under the terms of such Secondary
+ License(s), so that the recipient of the Larger Work may, at their option,
+ further distribute the Covered Software under the terms of either this License
+ or such Secondary License(s).
-2.7. Conditions
+ 3.4. Notices
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
+ You may not remove or alter the substance of any license notices (including
+ copyright notices, patent notices, disclaimers of warranty, or limitations of
+ liability) contained within the Source Code Form of the Covered Software,
+ except that You may alter any license notices to the extent required to remedy
+ known factual inaccuracies.
-3. Responsibilities
--------------------
+ 3.5. Application of Additional Terms
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
+ You may choose to offer, and to charge a fee for, warranty, support, indemnity
+ or liability obligations to one or more recipients of Covered Software.
+ However, You may do so only on Your own behalf, and not on behalf of any
+ Contributor. You must make it absolutely clear that any such warranty, support,
+ indemnity, or liability obligation is offered by You alone, and You hereby
+ agree to indemnify every Contributor for any liability incurred by such
+ Contributor as a result of warranty, support, indemnity or liability terms You
+ offer. You may include additional disclaimers of warranty and limitations of
+ liability specific to any jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
+If it is impossible for You to comply with any of the terms of this License with
+respect to some or all of the Covered Software due to statute, judicial order, or
+regulation then You must: (a) comply with the terms of this License to the
+maximum extent possible; and (b) describe the limitations and the code they
+affect. Such description must be placed in a text file included with all
+distributions of the Covered Software under this License. Except to the extent
+prohibited by statute or regulation, such description must be sufficiently
+detailed for a recipient of ordinary skill to be able to understand it.
5. Termination
--------------
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
+ 5.1. The rights granted under this License will terminate automatically if You
+ fail to comply with any of its terms. However, if You become compliant, then
+ the rights granted under this License from a particular Contributor are
+ reinstated (a) provisionally, unless and until such Contributor explicitly and
+ finally terminates Your grants, and (b) on an ongoing basis, if such
+ Contributor fails to notify You of the non-compliance by some reasonable means
+ prior to 60 days after You have come back into compliance. Moreover, Your
+ grants from a particular Contributor are reinstated on an ongoing basis if such
+ Contributor notifies You of the non-compliance by some reasonable means, this
+ is the first time You have received notice of non-compliance with this License
+ from such Contributor, and You become compliant prior to 30 days after Your
+ receipt of the notice.
+
+ 5.2. If You initiate litigation against any entity by asserting a patent
+ infringement claim (excluding declaratory judgment actions, counter-claims, and
+ cross-claims) alleging that a Contributor Version directly or indirectly
+ infringes any patent, then the rights granted to You by any and all
+ Contributors for the Covered Software under Section 2.1 of this License shall
+ terminate.
+
+ 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
+ license agreements (excluding distributors and resellers) which have been
+ validly granted by You or Your distributors under this License prior to
+ termination shall survive termination.
+
+6. Disclaimer of Warranty
+-------------------------
+
+Covered Software is provided under this License on an "as is" basis, without
+warranty of any kind, either expressed, implied, or statutory, including, without
+limitation, warranties that the Covered Software is free of defects,
+merchantable, fit for a particular purpose or non-infringing. The entire risk as
+to the quality and performance of the Covered Software is with You. Should any
+Covered Software prove defective in any respect, You (not any Contributor) assume
+the cost of any necessary servicing, repair, or correction. This disclaimer of
+warranty constitutes an essential part of this License. No use of any Covered
+Software is authorized under this License except under this disclaimer.
+
+7. Limitation of Liability
+--------------------------
+
+Under no circumstances and under no legal theory, whether tort (including
+negligence), contract, or otherwise, shall any Contributor, or anyone who
+distributes Covered Software as permitted above, be liable to You for any direct,
+indirect, special, incidental, or consequential damages of any character
+including, without limitation, damages for lost profits, loss of goodwill, work
+stoppage, computer failure or malfunction, or any and all other commercial
+damages or losses, even if such party shall have been informed of the possibility
+of such damages. This limitation of liability shall not apply to liability for
+death or personal injury resulting from such party's negligence to the extent
+applicable law prohibits such limitation. Some jurisdictions do not allow the
+exclusion or limitation of incidental or consequential damages, so this exclusion
+and limitation may not apply to You.
8. Litigation
-------------
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
+Any litigation relating to this License may be brought only in the courts of a
+jurisdiction where the defendant maintains its principal place of business and
+such litigation shall be governed by laws of that jurisdiction, without reference
+to its conflict-of-law provisions. Nothing in this Section shall prevent a
+party's ability to bring cross-claims or counter-claims.
9. Miscellaneous
----------------
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
+This License represents the complete agreement concerning the subject matter
+hereof. If any provision of this License is held to be unenforceable, such
+provision shall be reformed only to the extent necessary to make it enforceable.
+Any law or regulation which provides that the language of a contract shall be
+construed against the drafter shall not be used to construe this License against
+a Contributor.
10. Versions of the License
---------------------------
-10.1. New Versions
+ 10.1. New Versions
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
+ Mozilla Foundation is the license steward. Except as provided in Section 10.3,
+ no one other than the license steward has the right to modify or publish new
+ versions of this License. Each version will be given a distinguishing version
+ number.
-10.2. Effect of New Versions
+ 10.2. Effect of New Versions
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
+ You may distribute the Covered Software under the terms of the version of the
+ License under which You originally received the Covered Software, or under the
+ terms of any subsequent version published by the license steward.
-10.3. Modified Versions
+ 10.3. Modified Versions
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
+ If you create software not governed by this License, and you want to create a
+ new license for such software, you may create and use a modified version of
+ this License if you rename the license and remove any references to the name of
+ the license steward (except to note that such modified license differs from
+ this License).
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
+ 10.4. Distributing Source Code Form that is Incompatible With Secondary
+ Licenses
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
+ If You choose to distribute Source Code Form that is Incompatible With
+ Secondary Licenses under the terms of this version of the License, the notice
+ described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ This Source Code Form is subject to the terms of the Mozilla Public License,
+ v. 2.0. If a copy of the MPL was not distributed with this file, You can
+ obtain one at http://mozilla.org/MPL/2.0/.
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
+If it is not possible or desirable to put the notice in a particular file, then
+You may include the notice in a location (such as a LICENSE file in a relevant
+directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
- This Source Code Form is "Incompatible With Secondary Licenses", as
- defined by the Mozilla Public License, v. 2.0.
+ This Source Code Form is "Incompatible With Secondary Licenses", as defined
+ by the Mozilla Public License, v. 2.0.
+
+---
+
+PSC Product License
+(MarkLogic XCC 12.1.0)
+
+See Progress License
+
+---
+
+Public Domain
+(XPP3 1.1.4c)
+Public domain code is not subject to any license.
-----------------------
+---
diff --git a/README.md b/README.md
index 9bac39beb..2a2b4253e 100644
--- a/README.md
+++ b/README.md
@@ -15,13 +15,21 @@ The MarkLogic Connector for Hadoop is an extension to Hadoop’s MapReduce frame
## Release Notes
+### What's New in mlcp 12.1
+
+- Added support for isolated HTTP and XDBC requests. **Note:** as a result of this change, older versions of mlcp are no longer compatible with MarkLogic Server 12.1.0 and beyond; please refer to the [release notes](https://docs.progress.com/bundle/marklogic-server-whats-new-12/page/topics/release-notes.html) for details.
+- Upgraded Apache Avro to address a known security vulnerability.
+- Strengthened TLS security by removing support for the outdated TLSv1 protocol.
+- Fixed several security and stability issues.
+- Various reliability and robustness improvements based on static code analysis.
+
### What's New in mlcp 12.0.1
- No new updates
-
+
### What's New in mlcp 12.0.0
-- Replaced the commons-csv-marklogic library with the standard Apache Commons CSV library for improved compatibility and maintainability
+- Replaced the commons-csv-marklogic library with the standard Apache Commons CSV library for improved compatibility and maintainability.
- Upgraded commons-csv and commons-io libraries to the latest stable versions.
- Upgraded commons-beanutils, xstream and avro libraries to mitigate security vulnerabilities.
- Removed unused dependencies: hadoop-shaded-protobuf_3_25, jena-shaded-guava.
diff --git a/pom.xml b/pom.xml
index c19c090f7..e3b45cf4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.marklogic
mlcp
- 12.0.1
+ 12.1.0
MarkLogic Content Pump
MarkLogic Content Pump
https://github.com/marklogic/marklogic-contentpump
@@ -17,7 +17,7 @@
- 12.0.1
+ 12.1.0
${versionString}
3.4.0
2.17.1
@@ -1615,7 +1615,7 @@
org.apache.avro
avro
- 1.11.4
+ 1.11.5
commons-cli
diff --git a/src/lib/marklogic-xcc-12.0.1.jar b/src/lib/marklogic-xcc-12.0.1.jar
deleted file mode 100644
index 16610c835..000000000
Binary files a/src/lib/marklogic-xcc-12.0.1.jar and /dev/null differ
diff --git a/src/lib/marklogic-xcc-12.1.0.jar b/src/lib/marklogic-xcc-12.1.0.jar
new file mode 100644
index 000000000..781b35fa7
Binary files /dev/null and b/src/lib/marklogic-xcc-12.1.0.jar differ
diff --git a/src/main/java/com/marklogic/contentpump/AggregateXMLInputFormat.java b/src/main/java/com/marklogic/contentpump/AggregateXMLInputFormat.java
index 6eb738f1e..c9b9e96e8 100644
--- a/src/main/java/com/marklogic/contentpump/AggregateXMLInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/AggregateXMLInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/AggregateXMLReader.java b/src/main/java/com/marklogic/contentpump/AggregateXMLReader.java
index 95e36e168..3aa8b5072 100644
--- a/src/main/java/com/marklogic/contentpump/AggregateXMLReader.java
+++ b/src/main/java/com/marklogic/contentpump/AggregateXMLReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -110,6 +110,16 @@ public void initialize(InputSplit inSplit, TaskAttemptContext context)
initAggConf(context);
f = XMLInputFactory.newInstance();
+ try {
+ f.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security property IS_SUPPORTING_EXTERNAL_ENTITIES on XMLInputFactory", e);
+ }
+ try {
+ f.setProperty(XMLInputFactory.SUPPORT_DTD, false);
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security property SUPPORT_DTD on XMLInputFactory", e);
+ }
setFile(((FileSplit) inSplit).getPath());
fs = file.getFileSystem(context.getConfiguration());
FileStatus status = fs.getFileStatus(file);
diff --git a/src/main/java/com/marklogic/contentpump/ArchiveInputFormat.java b/src/main/java/com/marklogic/contentpump/ArchiveInputFormat.java
index fa8b77c21..b8c19660c 100644
--- a/src/main/java/com/marklogic/contentpump/ArchiveInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/ArchiveInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ArchiveOutputFormat.java b/src/main/java/com/marklogic/contentpump/ArchiveOutputFormat.java
index ad8c930d2..45205caf5 100644
--- a/src/main/java/com/marklogic/contentpump/ArchiveOutputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/ArchiveOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ArchiveRecordReader.java b/src/main/java/com/marklogic/contentpump/ArchiveRecordReader.java
index 4351b4486..5eabcaf03 100644
--- a/src/main/java/com/marklogic/contentpump/ArchiveRecordReader.java
+++ b/src/main/java/com/marklogic/contentpump/ArchiveRecordReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ColumnDataType.java b/src/main/java/com/marklogic/contentpump/ColumnDataType.java
index 672fa1046..382dd0f91 100644
--- a/src/main/java/com/marklogic/contentpump/ColumnDataType.java
+++ b/src/main/java/com/marklogic/contentpump/ColumnDataType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ public Object parse(String s) throws Exception {
NUMBER {
@Override
public Object parse(String s) throws Exception {
- s.trim();
+ s = s.trim();
if ("".equals(s)) {
throw new Exception("missing value");
}
@@ -46,14 +46,14 @@ public Object parse(String s) throws Exception {
BOOLEAN {
@Override
public Object parse(String s) throws Exception {
- s.trim();
+ s = s.trim();
if ("".equals(s)) {
throw new Exception("missing value");
} else if (!"true".equalsIgnoreCase(s) &&
!"false".equalsIgnoreCase(s)) {
throw new ParseException("", 0);
}
- return new Boolean(s);
+ return Boolean.valueOf(s);
}
};
diff --git a/src/main/java/com/marklogic/contentpump/CombineDocumentInputFormat.java b/src/main/java/com/marklogic/contentpump/CombineDocumentInputFormat.java
index 6b7b65092..2db0b9c54 100644
--- a/src/main/java/com/marklogic/contentpump/CombineDocumentInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/CombineDocumentInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CombineDocumentReader.java b/src/main/java/com/marklogic/contentpump/CombineDocumentReader.java
index ff347539b..34fdbfb3a 100644
--- a/src/main/java/com/marklogic/contentpump/CombineDocumentReader.java
+++ b/src/main/java/com/marklogic/contentpump/CombineDocumentReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CombineDocumentSplit.java b/src/main/java/com/marklogic/contentpump/CombineDocumentSplit.java
index ec4cf4496..6fcdf1624 100644
--- a/src/main/java/com/marklogic/contentpump/CombineDocumentSplit.java
+++ b/src/main/java/com/marklogic/contentpump/CombineDocumentSplit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedAggXMLInputFormat.java b/src/main/java/com/marklogic/contentpump/CompressedAggXMLInputFormat.java
index f6ec30a79..0024578cb 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedAggXMLInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedAggXMLInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedAggXMLReader.java b/src/main/java/com/marklogic/contentpump/CompressedAggXMLReader.java
index 03a389217..21038d900 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedAggXMLReader.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedAggXMLReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -69,6 +69,16 @@ public void initialize(InputSplit inSplit, TaskAttemptContext context)
initConfig(context);
initAggConf(context);
f = XMLInputFactory.newInstance();
+ try {
+ f.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security property IS_SUPPORTING_EXTERNAL_ENTITIES on XMLInputFactory", e);
+ }
+ try {
+ f.setProperty(XMLInputFactory.SUPPORT_DTD, false);
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security property SUPPORT_DTD on XMLInputFactory", e);
+ }
setFile(((FileSplit) inSplit).getPath());
fs = file.getFileSystem(context.getConfiguration());
diff --git a/src/main/java/com/marklogic/contentpump/CompressedDelimitedJSONInputFormat.java b/src/main/java/com/marklogic/contentpump/CompressedDelimitedJSONInputFormat.java
index 28b9ae464..c5b4e41bd 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedDelimitedJSONInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedDelimitedJSONInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextInputFormat.java b/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextInputFormat.java
index 730fcab08..9be7493e1 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextReader.java b/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextReader.java
index 71cd8a3f5..e6bcba94f 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextReader.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedDelimitedTextReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedDocumentInputFormat.java b/src/main/java/com/marklogic/contentpump/CompressedDocumentInputFormat.java
index 77e5a21ea..ae64f3ff1 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedDocumentInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedDocumentInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedDocumentReader.java b/src/main/java/com/marklogic/contentpump/CompressedDocumentReader.java
index 13c669c0a..f849bdf43 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedDocumentReader.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedDocumentReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedRDFInputFormat.java b/src/main/java/com/marklogic/contentpump/CompressedRDFInputFormat.java
index f14172482..eec0fe432 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedRDFInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedRDFInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/CompressedRDFReader.java b/src/main/java/com/marklogic/contentpump/CompressedRDFReader.java
index 94b8707bd..e8f84970e 100644
--- a/src/main/java/com/marklogic/contentpump/CompressedRDFReader.java
+++ b/src/main/java/com/marklogic/contentpump/CompressedRDFReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ContentPump.java b/src/main/java/com/marklogic/contentpump/ContentPump.java
index 541d6b84d..404639811 100644
--- a/src/main/java/com/marklogic/contentpump/ContentPump.java
+++ b/src/main/java/com/marklogic/contentpump/ContentPump.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -333,7 +333,11 @@ public boolean accept(File dir, String name) {
// set lib jars
StringBuilder jars = new StringBuilder();
- for (File jar : cpHomeDir.listFiles(filter)) {
+ File[] libJars = cpHomeDir.listFiles(filter);
+ if (libJars == null) {
+ throw new RuntimeException("Unable to list library jars in directory: " + cpHomeDir.getAbsolutePath());
+ }
+ for (File jar : libJars) {
if (jars.length() > 0) {
jars.append(',');
}
diff --git a/src/main/java/com/marklogic/contentpump/ContentPumpReporter.java b/src/main/java/com/marklogic/contentpump/ContentPumpReporter.java
index ca9c79585..580473466 100644
--- a/src/main/java/com/marklogic/contentpump/ContentPumpReporter.java
+++ b/src/main/java/com/marklogic/contentpump/ContentPumpReporter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ContentWithFileNameWritable.java b/src/main/java/com/marklogic/contentpump/ContentWithFileNameWritable.java
index 9fe6d2cd0..bb9b3c813 100644
--- a/src/main/java/com/marklogic/contentpump/ContentWithFileNameWritable.java
+++ b/src/main/java/com/marklogic/contentpump/ContentWithFileNameWritable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DatabaseContentInputFormat.java b/src/main/java/com/marklogic/contentpump/DatabaseContentInputFormat.java
index e5c3d578e..516e4c142 100644
--- a/src/main/java/com/marklogic/contentpump/DatabaseContentInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/DatabaseContentInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DatabaseContentOutputFormat.java b/src/main/java/com/marklogic/contentpump/DatabaseContentOutputFormat.java
index 1faeadd3f..64e4d123a 100644
--- a/src/main/java/com/marklogic/contentpump/DatabaseContentOutputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/DatabaseContentOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DatabaseContentReader.java b/src/main/java/com/marklogic/contentpump/DatabaseContentReader.java
index ef2a977ca..ca5fed8f9 100644
--- a/src/main/java/com/marklogic/contentpump/DatabaseContentReader.java
+++ b/src/main/java/com/marklogic/contentpump/DatabaseContentReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -438,24 +438,39 @@ private void initMetadataMap() throws IOException {
*/
private String parseMetadata(DocumentMetadata metadata) throws IOException {
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
ResultItem item = result.next();
String uri = item.asString();
if (uri == null) {
throw new IOException("Missing document URI for metadata.");
}
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
//node-kind, must exist
String nKind = item.asString();
metadata.setFormat(nKind);
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
// handle collections, may not be present
while (item != null && item.getItemType() == ValueType.XS_STRING) {
if (!copyCollection) {
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
continue;
}
metadata.addCollection(item.asString());
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
}
@@ -464,6 +479,9 @@ private String parseMetadata(DocumentMetadata metadata) throws IOException {
buf.append("");
while (item != null && ValueType.ELEMENT == item.getItemType()) {
if (!copyPermission) {
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
continue;
}
@@ -472,15 +490,24 @@ private String parseMetadata(DocumentMetadata metadata) throws IOException {
} catch (Exception e) {
throw new IOException(e);
}
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
}
buf.append("");
metadata.setPermString(buf.toString());
// handle quality, always present even if not requested (barrier)
+ if (item == null) {
+ throw new IOException("Unexpected null item when reading quality");
+ }
metadata.setQuality((XSInteger) item.getItem());
// handle metadata
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
if (copyMetadata) {
XdmItem metaItem = item.getItem();
@@ -493,6 +520,9 @@ private String parseMetadata(DocumentMetadata metadata) throws IOException {
JsonNode nodeVal = node.get(key);
metadata.meta.put(key, nodeVal.asText());
}
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
}
}
@@ -505,6 +535,9 @@ private String parseMetadata(DocumentMetadata metadata) throws IOException {
if (pString != null) {
metadata.setProperties(pString);
}
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
}
if (ValueType.XS_INTEGER != item.getItemType()) {
@@ -595,7 +628,7 @@ public boolean nextKeyValue() throws IOException, InterruptedException {
queryNakedProperties();
int curCount = 0;
while (curCount < nakedCount) {
- if (result.hasNext()) {
+ if (result != null && result.hasNext()) {
result.next();
curCount++;
} else {
@@ -604,7 +637,7 @@ public boolean nextKeyValue() throws IOException, InterruptedException {
}
}
- if (result.hasNext()) {
+ if (result != null && result.hasNext()) {
ResultItem currItem = null;
currItem = result.next();
@@ -693,6 +726,9 @@ private void readPermission(XdmElement _permissionElement,
buf.append(permString.substring(0, i));
buf.append(permString.substring(j+16));
Element permissionW3cElement = _permissionElement.asW3cElement();
+ if (permissionW3cElement == null) {
+ throw new Exception("Failed to parse permission element as W3C Element");
+ }
NodeList capabilities = permissionW3cElement
.getElementsByTagName("sec:capability");
@@ -703,7 +739,7 @@ private void readPermission(XdmElement _permissionElement,
Node role;
Node capability;
Node id;
- if (0 < roles.getLength() && 0 < capabilities.getLength()) {
+ if (0 < roles.getLength() && 0 < capabilities.getLength() && 0 < ids.getLength()) {
role = roles.item(0);
capability = capabilities.item(0);
id = ids.item(0);
@@ -717,7 +753,7 @@ private void readPermission(XdmElement _permissionElement,
LOG.warn("input permission: " + permissionW3cElement + ": "
+ capabilities.getLength() + " capabilities, using only 1");
}
- if (capabilities.getLength() > 1) {
+ if (ids.getLength() > 1) {
LOG.warn("input permission: " + permissionW3cElement + ": "
+ ids.getLength() + " ids, using only 1");
}
@@ -731,6 +767,10 @@ private void readPermission(XdmElement _permissionElement,
LOG.warn("skipping input permission: " + permissionW3cElement
+ ": no capabilities");
}
+ if (ids.getLength() < 1) {
+ LOG.warn("skipping input permission: " + permissionW3cElement
+ + ": no ids");
+ }
}
}
diff --git a/src/main/java/com/marklogic/contentpump/DatabaseContentWriter.java b/src/main/java/com/marklogic/contentpump/DatabaseContentWriter.java
index 355618c4a..92a131cbc 100644
--- a/src/main/java/com/marklogic/contentpump/DatabaseContentWriter.java
+++ b/src/main/java/com/marklogic/contentpump/DatabaseContentWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -71,11 +71,6 @@ public class DatabaseContentWriter extends
public static final String XQUERY_VERSION_1_0_ML =
"xquery version \"1.0-ml\";\n";
- public DatabaseContentWriter(Configuration conf,
- Map hostSourceMap, boolean fastLoad) {
- this(conf, hostSourceMap, fastLoad, null);
- }
-
public DatabaseContentWriter(Configuration conf,
Map hostSourceMap, boolean fastLoad,
AssignmentManager am) {
diff --git a/src/main/java/com/marklogic/contentpump/DatabaseTransformOutputFormat.java b/src/main/java/com/marklogic/contentpump/DatabaseTransformOutputFormat.java
index f52f39f36..78919939d 100644
--- a/src/main/java/com/marklogic/contentpump/DatabaseTransformOutputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/DatabaseTransformOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DatabaseTransformWriter.java b/src/main/java/com/marklogic/contentpump/DatabaseTransformWriter.java
index b68fc7929..c862b5dfe 100644
--- a/src/main/java/com/marklogic/contentpump/DatabaseTransformWriter.java
+++ b/src/main/java/com/marklogic/contentpump/DatabaseTransformWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -92,10 +92,12 @@ public void write(DocumentURI key, VALUE value) throws IOException,
commitSleepTime = MIN_SLEEP_TIME;
while (commitRetry < commitRetryLimit) {
committed = false;
- if (LOG.isDebugEnabled()) {
- LOG.debug(getFormattedBatchId() +
- "Retrying committing batch , attempts: " +
- commitRetry + "/" + MAX_RETRIES);
+ if (commitRetry > 0) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(getFormattedBatchId() +
+ "Retrying committing batch, attempts: " +
+ commitRetry + "/" + MAX_RETRIES);
+ }
}
queries[sid].setNewVariables(uriName, uris[sid]);
queries[sid].setNewVariables(contentName, values[sid]);
diff --git a/src/main/java/com/marklogic/contentpump/DelimitedJSONInputFormat.java b/src/main/java/com/marklogic/contentpump/DelimitedJSONInputFormat.java
index 96449dd0b..63e476798 100644
--- a/src/main/java/com/marklogic/contentpump/DelimitedJSONInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/DelimitedJSONInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DelimitedJSONReader.java b/src/main/java/com/marklogic/contentpump/DelimitedJSONReader.java
index 5c930b922..b708ccb94 100644
--- a/src/main/java/com/marklogic/contentpump/DelimitedJSONReader.java
+++ b/src/main/java/com/marklogic/contentpump/DelimitedJSONReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DelimitedTextInputFormat.java b/src/main/java/com/marklogic/contentpump/DelimitedTextInputFormat.java
index 6e04650e7..12b0e79b7 100644
--- a/src/main/java/com/marklogic/contentpump/DelimitedTextInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/DelimitedTextInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DocumentMapper.java b/src/main/java/com/marklogic/contentpump/DocumentMapper.java
index f89d38eb1..84a4ab1df 100644
--- a/src/main/java/com/marklogic/contentpump/DocumentMapper.java
+++ b/src/main/java/com/marklogic/contentpump/DocumentMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/DocumentMetadata.java b/src/main/java/com/marklogic/contentpump/DocumentMetadata.java
index 56326581d..ab4783bf8 100644
--- a/src/main/java/com/marklogic/contentpump/DocumentMetadata.java
+++ b/src/main/java/com/marklogic/contentpump/DocumentMetadata.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2022 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -222,20 +222,21 @@ public String getFormatName() {
* @param _format
*/
public void setFormat(String _format) {
- if (_format.equals(DocumentFormat.XML)
- || _format.equals("element") || _format.equals("comment")
- || _format.equals("processing-instruction")) {
+ if (DocumentFormat.XML.toString().equals(_format)
+ || "element".equals(_format) || "comment".equals(_format)
+ || "processing-instruction".equals(_format)) {
setFormat(DocumentFormat.XML);
return;
}
- if (_format.equals(DocumentFormat.TEXT)
- || _format.equals(("text"))) {
+ if (DocumentFormat.TEXT.toString().equals(_format)
+ || "text".equals(_format)) {
setFormat(DocumentFormat.TEXT);
return;
}
-
- if (_format.equals(DocumentFormat.BINARY)) {
+
+ if (DocumentFormat.BINARY.toString().equals(_format)
+ || "binary".equals(_format)) {
setFormat(DocumentFormat.BINARY);
return;
}
diff --git a/src/main/java/com/marklogic/contentpump/DocumentPathFilter.java b/src/main/java/com/marklogic/contentpump/DocumentPathFilter.java
index b0086768b..a49ad5571 100644
--- a/src/main/java/com/marklogic/contentpump/DocumentPathFilter.java
+++ b/src/main/java/com/marklogic/contentpump/DocumentPathFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ExportOutputType.java b/src/main/java/com/marklogic/contentpump/ExportOutputType.java
index 5467818dd..d21edff89 100644
--- a/src/main/java/com/marklogic/contentpump/ExportOutputType.java
+++ b/src/main/java/com/marklogic/contentpump/ExportOutputType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/FileAndDirectoryInputFormat.java b/src/main/java/com/marklogic/contentpump/FileAndDirectoryInputFormat.java
index 26a326816..51c34a0a3 100644
--- a/src/main/java/com/marklogic/contentpump/FileAndDirectoryInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/FileAndDirectoryInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/GzipDelimitedJSONReader.java b/src/main/java/com/marklogic/contentpump/GzipDelimitedJSONReader.java
index e291b8387..d74c960ac 100644
--- a/src/main/java/com/marklogic/contentpump/GzipDelimitedJSONReader.java
+++ b/src/main/java/com/marklogic/contentpump/GzipDelimitedJSONReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/InputType.java b/src/main/java/com/marklogic/contentpump/InputType.java
index c22fe12d9..1ede945b3 100644
--- a/src/main/java/com/marklogic/contentpump/InputType.java
+++ b/src/main/java/com/marklogic/contentpump/InputType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -249,6 +249,10 @@ public void applyConfigOptions(Configuration conf, CommandLine cmdline)
ContentSource cs;
String[] outputHosts =
conf.getStrings(MarkLogicConstants.OUTPUT_HOST);
+ if (outputHosts == null || outputHosts.length == 0) {
+ throw new IllegalArgumentException(MarkLogicConstants.OUTPUT_HOST +
+ " is not specified.");
+ }
int hostIdx = 0;
while (hostIdx < outputHosts.length) {
try {
@@ -261,7 +265,13 @@ public void applyConfigOptions(Configuration conf, CommandLine cmdline)
AdhocQuery query = session.newAdhocQuery(ROLE_QUERY);
query.setOptions(options);
result = session.submitRequest(query);
+ if (!result.hasNext()) {
+ throw new IOException("Invalid role map");
+ }
Text version = new Text(result.next().asString());
+ if (!result.hasNext()) {
+ throw new IOException("Invalid role map");
+ }
boolean hasFunc = Boolean.parseBoolean(result.next().asString());
LinkedMapWritable roleMap = new LinkedMapWritable();
if(hasFunc) {
diff --git a/src/main/java/com/marklogic/contentpump/LocalJobRunner.java b/src/main/java/com/marklogic/contentpump/LocalJobRunner.java
index ba44a4e16..f2bdef0a5 100644
--- a/src/main/java/com/marklogic/contentpump/LocalJobRunner.java
+++ b/src/main/java/com/marklogic/contentpump/LocalJobRunner.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,6 +22,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Callable;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
@@ -136,7 +137,6 @@ void run() throws Exception {
}
// Initialize thread pool
pool = threadManager.initThreadPool();
- threadManager.runThreadPoller();
progress = new AtomicInteger[splits.size()];
for (int i = 0; i < splits.size(); i++) {
@@ -218,6 +218,12 @@ void run() throws Exception {
}
}
}
+ // Start thread poller after all tasks are submitted to avoid race
+ // condition where taskList grows between active count snapshot and
+ // scale method iteration.
+ if (pool != null) {
+ threadManager.runThreadPoller();
+ }
threadManager.shutdownThreadPool();
job.setJobState(JobStatus.State.SUCCEEDED);
monitor.interrupt();
@@ -263,6 +269,7 @@ public class LocalMapTask
private Class extends Mapper,?,?,?>> mapperClass;
private int threadCount = 0;
private AtomicBoolean isTaskDone = new AtomicBoolean(false);
+ private CountDownLatch runnersLatch = new CountDownLatch(1);
public LocalMapTask(InputFormat inputFormat,
OutputFormat outputFormat,
@@ -310,6 +317,10 @@ public boolean isTaskDone() {
return isTaskDone.get();
}
+ public CountDownLatch getRunnersLatch() {
+ return runnersLatch;
+ }
+
@SuppressWarnings("unchecked")
@Override
public Object call() {
@@ -339,6 +350,7 @@ public Object call() {
if (mapperClass == (Class)MultithreadedMapper.class) {
((MultithreadedMapper)mapper).setThreadCount(threadCount);
((MultithreadedMapper)mapper).setThreadPool(pool);
+ ((MultithreadedMapper)mapper).setRunnersLatch(runnersLatch);
}
mapper.run(mapperContext);
} catch (Throwable t) {
@@ -349,9 +361,7 @@ public Object call() {
LOG.error(t.getMessage());
}
try {
- synchronized(pool) {
- pool.notify();
- }
+ runnersLatch.countDown();
} catch (Throwable t1) {
LOG.error(t1);
}
diff --git a/src/main/java/com/marklogic/contentpump/MultithreadedMapper.java b/src/main/java/com/marklogic/contentpump/MultithreadedMapper.java
index f23ee8ece..d28694059 100644
--- a/src/main/java/com/marklogic/contentpump/MultithreadedMapper.java
+++ b/src/main/java/com/marklogic/contentpump/MultithreadedMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.ThreadPoolExecutor;
@@ -57,6 +58,7 @@ public class MultithreadedMapper extends
private List> runnerFutureList = new ArrayList<>();
private int threadCount = 0;
private ThreadPoolExecutor threadPool;
+ private CountDownLatch runnersLatch;
/**
* Get thread count set for this mapper.
@@ -86,6 +88,10 @@ public void setThreadPool(ThreadPoolExecutor pool) {
this.threadPool = pool;
}
+ public void setRunnersLatch(CountDownLatch latch) {
+ this.runnersLatch = latch;
+ }
+
/**
* The number of threads in the thread pool that will run the map function.
*
@@ -174,7 +180,9 @@ public void createRunners(int numRunners) throws IOException,
}
}
}
- threadPool.notify();
+ if (runnersLatch != null) {
+ runnersLatch.countDown();
+ }
}
}
@@ -409,6 +417,7 @@ public void run() {
try {
mapper.runThreadSafe(outer, subcontext, this);
} catch (Throwable ie) {
+ throwable = ie;
if (LOG.isDebugEnabled()) {
LOG.debug("Error running task:" + ie);
ie.printStackTrace();
@@ -417,6 +426,9 @@ public void run() {
try {
writer.close(subcontext);
} catch (Throwable t) {
+ if (throwable == null) {
+ throwable = t;
+ }
LOG.error("Error closing writer: " + t.getMessage());
if (LOG.isDebugEnabled()) {
LOG.debug(t);
diff --git a/src/main/java/com/marklogic/contentpump/OutputArchive.java b/src/main/java/com/marklogic/contentpump/OutputArchive.java
index 640a7c1e9..16251209d 100644
--- a/src/main/java/com/marklogic/contentpump/OutputArchive.java
+++ b/src/main/java/com/marklogic/contentpump/OutputArchive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -91,7 +91,11 @@ private void newOutputStream() throws IOException {
if (fs instanceof LocalFileSystem) {
File f = new File(zpath.toUri().getPath());
if (!f.exists()) {
- f.getParentFile().mkdirs();
+ File parentFile = f.getParentFile();
+ if (parentFile == null) {
+ throw new IOException("Unable to determine parent directory for: " + f);
+ }
+ parentFile.mkdirs();
f.createNewFile();
}
FileOutputStream fos = new FileOutputStream(f, false);
@@ -129,8 +133,9 @@ public void write(String uri, InputStream is, long size,
boolean isExportDoc)
throws IOException {
ZipEntry entry = new ZipEntry(uri);
- if (outputStream == null ||
- (currentFileBytes + size > Integer.MAX_VALUE) &&
+ if (outputStream == null) {
+ newOutputStream();
+ } else if ((currentFileBytes + size > Integer.MAX_VALUE) &&
currentFileBytes > 0) {
if (currentEntries % 2 == 0 && !isExportDoc) {
//the file overflowed is metadata, create new zip
diff --git a/src/main/java/com/marklogic/contentpump/RDFInputFormat.java b/src/main/java/com/marklogic/contentpump/RDFInputFormat.java
index cfd4aef13..e62aaa4f5 100644
--- a/src/main/java/com/marklogic/contentpump/RDFInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/RDFInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/RDFReader.java b/src/main/java/com/marklogic/contentpump/RDFReader.java
index 51facf1e2..ae1d3be88 100644
--- a/src/main/java/com/marklogic/contentpump/RDFReader.java
+++ b/src/main/java/com/marklogic/contentpump/RDFReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -263,8 +263,14 @@ public void initialize(InputSplit inSplit, TaskAttemptContext context)
}
String[] perms = conf.getStrings(MarkLogicConstants.OUTPUT_PERMISSION);
if(perms!=null) {
- defaultPerms = PermissionUtil.getPermissions(perms).toArray(
- new ContentPermission[perms.length>>1]);
+ List permList = PermissionUtil.getPermissions(perms);
+ if (permList != null) {
+ defaultPerms = permList.toArray(new ContentPermission[perms.length>>1]);
+ } else {
+ List tmp = PermissionUtil.getDefaultPermissions(conf,roleMap);
+ if(tmp!=null)
+ defaultPerms = tmp.toArray(new ContentPermission[tmp.size()]);
+ }
} else {
List tmp = PermissionUtil.getDefaultPermissions(conf,roleMap);
if(tmp!=null)
@@ -546,8 +552,13 @@ public void initExistingMapPerms() throws IOException {
ResultSequence result = null;
ContentSource cs;
try {
+ String[] hosts = conf.getStrings(MarkLogicConstants.OUTPUT_HOST);
+ if (hosts == null || hosts.length == 0) {
+ throw new IllegalArgumentException(MarkLogicConstants.OUTPUT_HOST +
+ " is not specified.");
+ }
cs = InternalUtilities.getOutputContentSource(conf,
- conf.getStrings(MarkLogicConstants.OUTPUT_HOST)[0]);
+ hosts[0]);
session = cs.newSession();
RequestOptions options = new RequestOptions();
options.setDefaultXQueryVersion("1.0-ml");
@@ -565,6 +576,9 @@ public void initExistingMapPerms() throws IOException {
result = session.submitRequest(query);
while (result.hasNext()) {
String uri = result.next().asString();
+ if (!result.hasNext()) {
+ throw new IOException("Invalid role map");
+ }
String tmp = result.next().asString();
ArrayList perms = new ArrayList<>();
while(!tmp.equals("0")) {
@@ -577,6 +591,9 @@ public void initExistingMapPerms() throws IOException {
ContentCapability capability = PermissionUtil
.getCapbility(cap);
perms.add(new ContentPermission(capability, roleName));
+ if (!result.hasNext()) {
+ throw new IOException("Invalid role map");
+ }
tmp = result.next().asString();
}
diff --git a/src/main/java/com/marklogic/contentpump/RDFWritable.java b/src/main/java/com/marklogic/contentpump/RDFWritable.java
index c840407e0..d225912f6 100644
--- a/src/main/java/com/marklogic/contentpump/RDFWritable.java
+++ b/src/main/java/com/marklogic/contentpump/RDFWritable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SequenceFileInputFormat.java b/src/main/java/com/marklogic/contentpump/SequenceFileInputFormat.java
index cb2907121..f58553615 100644
--- a/src/main/java/com/marklogic/contentpump/SequenceFileInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/SequenceFileInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SequenceFileKey.java b/src/main/java/com/marklogic/contentpump/SequenceFileKey.java
index 2d7abd03e..4130b06ca 100644
--- a/src/main/java/com/marklogic/contentpump/SequenceFileKey.java
+++ b/src/main/java/com/marklogic/contentpump/SequenceFileKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SequenceFileReader.java b/src/main/java/com/marklogic/contentpump/SequenceFileReader.java
index e6fcc5404..0bc0082c3 100644
--- a/src/main/java/com/marklogic/contentpump/SequenceFileReader.java
+++ b/src/main/java/com/marklogic/contentpump/SequenceFileReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SequenceFileValue.java b/src/main/java/com/marklogic/contentpump/SequenceFileValue.java
index 3192d8267..bb1571e14 100644
--- a/src/main/java/com/marklogic/contentpump/SequenceFileValue.java
+++ b/src/main/java/com/marklogic/contentpump/SequenceFileValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SequenceFileValueType.java b/src/main/java/com/marklogic/contentpump/SequenceFileValueType.java
index d611b7004..cb549a8c6 100644
--- a/src/main/java/com/marklogic/contentpump/SequenceFileValueType.java
+++ b/src/main/java/com/marklogic/contentpump/SequenceFileValueType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SingleDocumentOutputFormat.java b/src/main/java/com/marklogic/contentpump/SingleDocumentOutputFormat.java
index 5bedd2e14..5afebfb33 100644
--- a/src/main/java/com/marklogic/contentpump/SingleDocumentOutputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/SingleDocumentOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/SingleDocumentWriter.java b/src/main/java/com/marklogic/contentpump/SingleDocumentWriter.java
index fd5b5b0de..782bcedd9 100644
--- a/src/main/java/com/marklogic/contentpump/SingleDocumentWriter.java
+++ b/src/main/java/com/marklogic/contentpump/SingleDocumentWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -87,7 +87,11 @@ public void write(DocumentURI uri, MarkLogicDocument content)
if (fs instanceof LocalFileSystem) {
File f = new File(path.toUri().getPath());
if (!f.exists()) {
- f.getParentFile().mkdirs();
+ File parentFile = f.getParentFile();
+ if (parentFile == null) {
+ throw new IOException("Unable to determine parent directory for: " + f);
+ }
+ parentFile.mkdirs();
f.createNewFile();
}
os = new BufferedOutputStream(new FileOutputStream(f, false));
diff --git a/src/main/java/com/marklogic/contentpump/StreamingDocumentInputFormat.java b/src/main/java/com/marklogic/contentpump/StreamingDocumentInputFormat.java
index d1070a6d3..dc74ee7da 100644
--- a/src/main/java/com/marklogic/contentpump/StreamingDocumentInputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/StreamingDocumentInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/StreamingDocumentReader.java b/src/main/java/com/marklogic/contentpump/StreamingDocumentReader.java
index bfb8274ec..57a8a1e1d 100644
--- a/src/main/java/com/marklogic/contentpump/StreamingDocumentReader.java
+++ b/src/main/java/com/marklogic/contentpump/StreamingDocumentReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ThreadManager.java b/src/main/java/com/marklogic/contentpump/ThreadManager.java
index e1c097d07..c2dc83fbc 100644
--- a/src/main/java/com/marklogic/contentpump/ThreadManager.java
+++ b/src/main/java/com/marklogic/contentpump/ThreadManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -260,6 +260,7 @@ public void scaleOutThreadPool(int activeTaskCounts) {
pool.setCorePoolSize(newServerThreads);
}
// Assign new available threads to each task
+ int activeIdx = 0;
for (int i = 0; i < taskList.size(); i++) {
LocalMapTask task = taskList.get(i);
if (task.getMapperClass() == (Class)MultithreadedMapper.class) {
@@ -272,13 +273,21 @@ public void scaleOutThreadPool(int activeTaskCounts) {
}
continue;
}
+ if (activeIdx >= randomIndexes.size()) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Reached end of active task snapshot; " +
+ "remaining tasks will be considered in the " +
+ "next polling cycle.");
+ }
+ break;
+ }
// In assignThreads, pass down a random index as splitIndex to
// make sure threads are more evenly assigned. The total delta
// threads in a scale-out event equals to the new available
// threads plus the idle threads that finish running other
// LocalMapTasks.
int deltaTaskThreads = assignThreads(
- randomIndexes.get(i), activeTaskCounts,
+ randomIndexes.get(activeIdx++), activeTaskCounts,
(newServerThreads - curServerThreads + idleServerThreads),
false);
int newTaskThreads = deltaTaskThreads + task.getThreadCount();
@@ -313,6 +322,7 @@ public void scaleInThreadPool(int activeTaskCounts) {
LOG.info("Thread pool is scaling-in. New thread pool size: " +
newServerThreads);
// Deduct runners from each task
+ int activeIdx = 0;
for (int i = 0; i < taskList.size(); i++) {
LocalMapTask task = taskList.get(i);
if (task.getMapperClass() == (Class)MultithreadedMapper.class) {
@@ -325,11 +335,19 @@ public void scaleInThreadPool(int activeTaskCounts) {
}
continue;
}
+ if (activeIdx >= randomIndexes.size()) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Reached end of active task snapshot; " +
+ "remaining tasks will be considered in the " +
+ "next polling cycle.");
+ }
+ break;
+ }
// The total delta threads in a scale-in event equals to the
// unavailable threads minus the idle threads that finish
// running other LocalMapTasks.
int deltaTaskThreads = assignThreads(
- randomIndexes.get(i), activeTaskCounts,
+ randomIndexes.get(activeIdx++), activeTaskCounts,
(curServerThreads - newServerThreads - idleServerThreads),
false);
int newTaskThreads = task.getThreadCount() - deltaTaskThreads;
@@ -368,6 +386,7 @@ public void assignIdleThreads(int activeTaskCounts) {
LOG.debug("Assigning idle threads to each LocalMapTask. Idle thread" +
"counts: " + idleServerThreads);
}
+ int activeIdx = 0;
for (int i = 0; i < taskList.size(); i++) {
LocalMapTask task = taskList.get(i);
if (task.isTaskDone()) {
@@ -378,7 +397,15 @@ public void assignIdleThreads(int activeTaskCounts) {
}
continue;
}
- int deltaTaskThreads = assignThreads(randomIndexes.get(i),
+ if (activeIdx >= randomIndexes.size()) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Reached end of active task snapshot; " +
+ "remaining tasks will be considered in the " +
+ "next polling cycle.");
+ }
+ break;
+ }
+ int deltaTaskThreads = assignThreads(randomIndexes.get(activeIdx++),
activeTaskCounts, idleServerThreads, false);
if (task.getMapperClass() == (Class)MultithreadedMapper.class) {
int newTaskThreads = deltaTaskThreads + task.getThreadCount();
@@ -458,10 +485,8 @@ public void submitTask(LocalMapTask task, int index, int splitCount)
}
taskList.add(task);
if (runtimeMapperClass == (Class)MultithreadedMapper.class) {
- synchronized (pool) {
- taskFutureList.add(pool.submit(task));
- pool.wait();
- }
+ taskFutureList.add(pool.submit(task));
+ task.getRunnersLatch().await();
} else {
pool.submit(task);
}
@@ -548,6 +573,12 @@ public void run() {
boolean isRetryable = false;
pollingRetry = 0;
pollingSleepTime = MIN_SLEEP_TIME;
+ String[] hosts = conf.getStrings(MarkLogicConstants.OUTPUT_HOST);
+ if (hosts == null || hosts.length == 0) {
+ LOG.error(MarkLogicConstants.OUTPUT_HOST + " is not specified.");
+ job.setJobState(JobStatus.State.FAILED);
+ return;
+ }
// Poll server max threads
while (pollingRetry < MAX_RETRIES) {
if (pollingRetry > 0) {
@@ -555,7 +586,6 @@ public void run() {
LOG.debug("Retrying querying available server max threads.");
}
}
- String[] hosts = conf.getStrings(MarkLogicConstants.OUTPUT_HOST);
for (String host : hosts) {
try {
ContentSource cs = InternalUtilities.
@@ -599,6 +629,7 @@ public void run() {
}
// Collect active task counts and idle thread counts
int activeTaskCounts = getActiveTaskCounts();
+ if (activeTaskCounts == 0) return;
prepareRandomIndexes(activeTaskCounts);
if (curServerThreads < newServerThreads) {
// Scale out
diff --git a/src/main/java/com/marklogic/contentpump/TransformOutputFormat.java b/src/main/java/com/marklogic/contentpump/TransformOutputFormat.java
index a7f8b20ae..aa1c6fb6f 100644
--- a/src/main/java/com/marklogic/contentpump/TransformOutputFormat.java
+++ b/src/main/java/com/marklogic/contentpump/TransformOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -75,6 +75,10 @@ private LinkedMapWritable getMimetypesMap() throws IOException {
return mimetypeMap;
}
String[] hosts = conf.getStrings(OUTPUT_HOST);
+ if (hosts == null || hosts.length == 0) {
+ throw new IllegalArgumentException(OUTPUT_HOST +
+ " is not specified.");
+ }
Session session = null;
ResultSequence result = null;
diff --git a/src/main/java/com/marklogic/contentpump/TransformWriter.java b/src/main/java/com/marklogic/contentpump/TransformWriter.java
index e2e7f6735..7c313ca76 100644
--- a/src/main/java/com/marklogic/contentpump/TransformWriter.java
+++ b/src/main/java/com/marklogic/contentpump/TransformWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -604,7 +604,8 @@ protected void insertBatch(int id, XdmValue[] uriList,
LOG.warn(getFormattedBatchId() + "RequestServerException:" + e.getMessage());
} else {
LOG.warn(getFormattedBatchId() + "Exception: " + e.getMessage());
- if (e.getMessage().contains("Module Not Found")) {
+ String msg = e.getMessage();
+ if (msg != null && msg.contains("Module Not Found")) {
retryable = false;
}
}
diff --git a/src/main/java/com/marklogic/contentpump/Versions.java b/src/main/java/com/marklogic/contentpump/Versions.java
index 101aa533d..ebb2b63e6 100644
--- a/src/main/java/com/marklogic/contentpump/Versions.java
+++ b/src/main/java/com/marklogic/contentpump/Versions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/ZipDelimitedJSONReader.java b/src/main/java/com/marklogic/contentpump/ZipDelimitedJSONReader.java
index 766d01e23..d43d06e37 100644
--- a/src/main/java/com/marklogic/contentpump/ZipDelimitedJSONReader.java
+++ b/src/main/java/com/marklogic/contentpump/ZipDelimitedJSONReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileCreator.java b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileCreator.java
index 3d2ed069b..eb5596a39 100644
--- a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileCreator.java
+++ b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileCreator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileKey.java b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileKey.java
index fb18bacb8..6fa8071da 100644
--- a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileKey.java
+++ b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileReader.java b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileReader.java
index 1da83961f..2b637c229 100644
--- a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileReader.java
+++ b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileValue.java b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileValue.java
index 5a447f5aa..ac2114f7a 100644
--- a/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileValue.java
+++ b/src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/AuditUtil.java b/src/main/java/com/marklogic/contentpump/utilities/AuditUtil.java
index 4e056e72e..1dc4724be 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/AuditUtil.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/AuditUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/CSVParserFormatter.java b/src/main/java/com/marklogic/contentpump/utilities/CSVParserFormatter.java
index ddd300324..9461f18f0 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/CSVParserFormatter.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/CSVParserFormatter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/CommandlineOption.java b/src/main/java/com/marklogic/contentpump/utilities/CommandlineOption.java
index d751698e4..0a9b67510 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/CommandlineOption.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/CommandlineOption.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/CommandlineOptions.java b/src/main/java/com/marklogic/contentpump/utilities/CommandlineOptions.java
index 4176f20be..e96df0d77 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/CommandlineOptions.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/CommandlineOptions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/DelimitedSplit.java b/src/main/java/com/marklogic/contentpump/utilities/DelimitedSplit.java
index 9c7283ee5..9cd2697a1 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/DelimitedSplit.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/DelimitedSplit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/DocBuilder.java b/src/main/java/com/marklogic/contentpump/utilities/DocBuilder.java
index 8269cfad2..8a2d71f2e 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/DocBuilder.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/DocBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/EncodingUtil.java b/src/main/java/com/marklogic/contentpump/utilities/EncodingUtil.java
index 19dc7ed8f..7bd6f8b22 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/EncodingUtil.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/EncodingUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/FileIterator.java b/src/main/java/com/marklogic/contentpump/utilities/FileIterator.java
index 0d3daf625..0160b69d9 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/FileIterator.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/FileIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/IdGenerator.java b/src/main/java/com/marklogic/contentpump/utilities/IdGenerator.java
index 414b6f520..dee6e5329 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/IdGenerator.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/IdGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/JSONDocBuilder.java b/src/main/java/com/marklogic/contentpump/utilities/JSONDocBuilder.java
index 099210a46..776308f88 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/JSONDocBuilder.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/JSONDocBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -73,7 +73,7 @@ public void put(String key, String value) throws Exception{
+ datatypeMap.get(key).name(), 0);
} catch (Exception e) {
String msg = e.getMessage();
- if (!msg.contains("missing value")) {
+ if (msg != null && !msg.contains("missing value")) {
throw new Exception(msg);
}
}
diff --git a/src/main/java/com/marklogic/contentpump/utilities/OptionsFileUtil.java b/src/main/java/com/marklogic/contentpump/utilities/OptionsFileUtil.java
index 003f89d59..63d6990df 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/OptionsFileUtil.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/OptionsFileUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/PermissionUtil.java b/src/main/java/com/marklogic/contentpump/utilities/PermissionUtil.java
index 976c5f62e..28d89d0ed 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/PermissionUtil.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/PermissionUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -79,8 +79,13 @@ public static List getDefaultPermissions(Configuration conf,
ResultSequence result = null;
ContentSource cs;
try {
+ String[] hosts = conf.getStrings(MarkLogicConstants.OUTPUT_HOST);
+ if (hosts == null || hosts.length == 0) {
+ throw new IllegalArgumentException(MarkLogicConstants.OUTPUT_HOST +
+ " is not specified.");
+ }
cs = InternalUtilities.getOutputContentSource(conf,
- conf.getStrings(MarkLogicConstants.OUTPUT_HOST)[0]);
+ hosts[0]);
session = cs.newSession();
RequestOptions options = new RequestOptions();
diff --git a/src/main/java/com/marklogic/contentpump/utilities/ReflectionUtil.java b/src/main/java/com/marklogic/contentpump/utilities/ReflectionUtil.java
index 712215b3b..1c4663492 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/ReflectionUtil.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/ReflectionUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/XMLDocBuilder.java b/src/main/java/com/marklogic/contentpump/utilities/XMLDocBuilder.java
index 5105a4860..5257e4ed3 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/XMLDocBuilder.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/XMLDocBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/XMLUtil.java b/src/main/java/com/marklogic/contentpump/utilities/XMLUtil.java
index fd9e3d8f4..1c0289391 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/XMLUtil.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/XMLUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/contentpump/utilities/ZipInputStream.java b/src/main/java/com/marklogic/contentpump/utilities/ZipInputStream.java
index ca0937ff6..d2d40743e 100644
--- a/src/main/java/com/marklogic/contentpump/utilities/ZipInputStream.java
+++ b/src/main/java/com/marklogic/contentpump/utilities/ZipInputStream.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ *
+ * 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.
+ */
/**
*
*/
diff --git a/src/main/java/com/marklogic/dom/AttrImpl.java b/src/main/java/com/marklogic/dom/AttrImpl.java
index fef28f10f..d2e17c957 100644
--- a/src/main/java/com/marklogic/dom/AttrImpl.java
+++ b/src/main/java/com/marklogic/dom/AttrImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -178,13 +178,15 @@ public boolean isId() {
/** {@inheritDoc} */
@Override
public String lookupNamespaceURI(String prefix) {
- return getOwnerElement().lookupNamespaceURI(prefix);
+ Element owner = getOwnerElement();
+ return owner != null ? owner.lookupNamespaceURI(prefix) : null;
}
/** {@inheritDoc} */
@Override
public String lookupPrefix(String namespaceURI) {
- return getOwnerElement().lookupPrefix(namespaceURI);
+ Element owner = getOwnerElement();
+ return owner != null ? owner.lookupPrefix(namespaceURI) : null;
}
/** Unsupported. */
diff --git a/src/main/java/com/marklogic/dom/AttributeNodeMapImpl.java b/src/main/java/com/marklogic/dom/AttributeNodeMapImpl.java
index 81fc40079..c86a89c83 100644
--- a/src/main/java/com/marklogic/dom/AttributeNodeMapImpl.java
+++ b/src/main/java/com/marklogic/dom/AttributeNodeMapImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/dom/CharacterDataImpl.java b/src/main/java/com/marklogic/dom/CharacterDataImpl.java
index b5570192b..d59ebe683 100644
--- a/src/main/java/com/marklogic/dom/CharacterDataImpl.java
+++ b/src/main/java/com/marklogic/dom/CharacterDataImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -56,7 +56,8 @@ public String getData() throws DOMException {
/** {@inheritDoc} */
public int getLength() {
- return getData().length();
+ String data = getData();
+ return data != null ? data.length() : 0;
}
/** {@inheritDoc} */
@@ -87,6 +88,9 @@ public String substringData(int offset, int count) throws DOMException {
throw new DOMException(DOMException.INDEX_SIZE_ERR, null);
}
String data = getData();
+ if (data == null) {
+ throw new DOMException(DOMException.DOMSTRING_SIZE_ERR, null);
+ }
if (offset > data.length()) {
throw new DOMException(DOMException.INDEX_SIZE_ERR, null);
}
diff --git a/src/main/java/com/marklogic/dom/CommentImpl.java b/src/main/java/com/marklogic/dom/CommentImpl.java
index 465013959..bb5a7f29a 100644
--- a/src/main/java/com/marklogic/dom/CommentImpl.java
+++ b/src/main/java/com/marklogic/dom/CommentImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -60,12 +60,20 @@ public String getTextContent() throws DOMException {
/** {@inheritDoc} */
@Override
public String lookupPrefix(String namespaceURI) {
- return getParentNode().lookupPrefix(namespaceURI);
+ Node parent = getParentNode();
+ if (parent == null) {
+ return null;
+ }
+ return parent.lookupPrefix(namespaceURI);
}
/** {@inheritDoc} */
@Override
public String lookupNamespaceURI(String prefix) {
- return getParentNode().lookupNamespaceURI(prefix);
+ Node parent = getParentNode();
+ if (parent == null) {
+ return null;
+ }
+ return parent.lookupNamespaceURI(prefix);
}
}
diff --git a/src/main/java/com/marklogic/dom/DocumentImpl.java b/src/main/java/com/marklogic/dom/DocumentImpl.java
index e3dc0044f..6529d62e2 100644
--- a/src/main/java/com/marklogic/dom/DocumentImpl.java
+++ b/src/main/java/com/marklogic/dom/DocumentImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -364,12 +364,14 @@ public Node importNode(Node arg0, boolean arg1) throws DOMException {
@Override
public String lookupNamespaceURI(String prefix) {
- return getDocumentElement().lookupNamespaceURI(prefix);
+ Element e = getDocumentElement();
+ return e != null ? e.lookupNamespaceURI(prefix) : null;
}
@Override
public String lookupPrefix(String namespaceURI) {
- return getDocumentElement().lookupPrefix(namespaceURI);
+ Element e = getDocumentElement();
+ return e != null ? e.lookupPrefix(namespaceURI) : null;
}
/** Unsupported. */
diff --git a/src/main/java/com/marklogic/dom/DocumentTypeImpl.java b/src/main/java/com/marklogic/dom/DocumentTypeImpl.java
index 7a3900432..de95e8701 100644
--- a/src/main/java/com/marklogic/dom/DocumentTypeImpl.java
+++ b/src/main/java/com/marklogic/dom/DocumentTypeImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2014 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/dom/ElementImpl.java b/src/main/java/com/marklogic/dom/ElementImpl.java
index da21d2de5..10b10bf1e 100644
--- a/src/main/java/com/marklogic/dom/ElementImpl.java
+++ b/src/main/java/com/marklogic/dom/ElementImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/dom/NodeImpl.java b/src/main/java/com/marklogic/dom/NodeImpl.java
index 8bcebd65d..f5c7eaf5a 100644
--- a/src/main/java/com/marklogic/dom/NodeImpl.java
+++ b/src/main/java/com/marklogic/dom/NodeImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -297,6 +297,9 @@ public boolean isDefaultNamespace(String namespaceURI) {
}
}
Node p = getParentNode();
+ if (p == null) {
+ return false;
+ }
return p.isDefaultNamespace(namespaceURI);
}
@@ -314,7 +317,7 @@ public boolean isEqualNode(Node other) {
if (other==null) return false;
if (getNodeType() != other.getNodeType())
return false;
- if (!getLocalName().equals(other.getLocalName()))
+ if (notequals(getLocalName(),other.getLocalName()))
return false;
if (notequals(getNamespaceURI(),other.getNamespaceURI()))
return false;
@@ -326,22 +329,22 @@ public boolean isEqualNode(Node other) {
return false;
if (hasAttributes() != other.hasAttributes())
return false;
- if (hasChildNodes()) {
+ if (hasAttributes()) {
NamedNodeMap thisAttr = getAttributes();
NamedNodeMap otherAttr = other.getAttributes();
if (thisAttr.getLength() != otherAttr.getLength())
return false;
for (int i = 0; i < thisAttr.getLength(); i++)
- if (thisAttr.item(i).isEqualNode(otherAttr.item(i)))
+ if (!thisAttr.item(i).isEqualNode(otherAttr.item(i)))
return false;
}
- if (hasAttributes()) {
+ if (hasChildNodes()) {
NodeList thisChild = getChildNodes();
NodeList otherChild = other.getChildNodes();
if (thisChild.getLength() != otherChild.getLength())
return false;
for (int i = 0; i < thisChild.getLength(); i++)
- if (thisChild.item(i).isEqualNode(otherChild.item(i)))
+ if (!thisChild.item(i).isEqualNode(otherChild.item(i)))
return false;
}
return true;
diff --git a/src/main/java/com/marklogic/dom/NodeListImpl.java b/src/main/java/com/marklogic/dom/NodeListImpl.java
index 5a6c9f941..a7b3af993 100644
--- a/src/main/java/com/marklogic/dom/NodeListImpl.java
+++ b/src/main/java/com/marklogic/dom/NodeListImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/dom/ProcessingInstructionImpl.java b/src/main/java/com/marklogic/dom/ProcessingInstructionImpl.java
index 7ccfb4650..63665b319 100644
--- a/src/main/java/com/marklogic/dom/ProcessingInstructionImpl.java
+++ b/src/main/java/com/marklogic/dom/ProcessingInstructionImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2014 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/dom/TextImpl.java b/src/main/java/com/marklogic/dom/TextImpl.java
index 2ecf14f71..27dc7af58 100644
--- a/src/main/java/com/marklogic/dom/TextImpl.java
+++ b/src/main/java/com/marklogic/dom/TextImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2014 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/dom/package-info.java b/src/main/java/com/marklogic/dom/package-info.java
index cf13cb0fc..82afeda76 100644
--- a/src/main/java/com/marklogic/dom/package-info.java
+++ b/src/main/java/com/marklogic/dom/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/io/BiendianDataInputStream.java b/src/main/java/com/marklogic/io/BiendianDataInputStream.java
index e82c66421..b9c6108ec 100644
--- a/src/main/java/com/marklogic/io/BiendianDataInputStream.java
+++ b/src/main/java/com/marklogic/io/BiendianDataInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/io/Decoder.java b/src/main/java/com/marklogic/io/Decoder.java
index 210a10f80..5437411e9 100644
--- a/src/main/java/com/marklogic/io/Decoder.java
+++ b/src/main/java/com/marklogic/io/Decoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -173,7 +173,11 @@ int _decodeUnsigned() throws IOException {
long val = reg & ((nbits < 64) ? ((1L << nbits) - 1) : -1L);
for (int i = 0; i < nbits; i += 4)
val += (1L << i);
- reg >>>= nbits;
+ if (nbits >= 64) {
+ reg = 0;
+ } else {
+ reg >>>= nbits;
+ }
numBitsInReg -= nbits;
return (int)(val & 0xffffffffL);
}
@@ -182,7 +186,11 @@ public int decodeUnsigned(int n) throws IOException {
if (n > numBitsInReg)
load();
long v = reg & ((n < 64) ? ((1L << n) - 1) : -1L);
- reg >>>= n;
+ if (n >= 64) {
+ reg = 0;
+ } else {
+ reg >>>= n;
+ }
numBitsInReg -= n;
return (int)(v & 0xffffffffL);
}
diff --git a/src/main/java/com/marklogic/mapreduce/BinaryDocument.java b/src/main/java/com/marklogic/mapreduce/BinaryDocument.java
index f761e1285..d412dca5e 100644
--- a/src/main/java/com/marklogic/mapreduce/BinaryDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/BinaryDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/CompressionCodec.java b/src/main/java/com/marklogic/mapreduce/CompressionCodec.java
index 96bc0d878..9091f73cd 100644
--- a/src/main/java/com/marklogic/mapreduce/CompressionCodec.java
+++ b/src/main/java/com/marklogic/mapreduce/CompressionCodec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ContentOutputFormat.java b/src/main/java/com/marklogic/mapreduce/ContentOutputFormat.java
index 9a9500307..ad0b26652 100644
--- a/src/main/java/com/marklogic/mapreduce/ContentOutputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/ContentOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -128,13 +128,18 @@ public class ContentOutputFormat extends
+ "return if (exists($f)) then $f() else ()";
// For HTTP Server
public static final String HEADER_QUERY =
- "fn:exists(xdmp:get-request-header('x-forwarded-for'))";
+ "let $f := fn:function-lookup(xs:QName('xdmp:request-forwarded'),0)\n" +
+ "return if (exists($f)) then $f() " +
+ "else fn:exists(xdmp:get-request-header('x-forwarded-for'))";
// For XDBC Server
public static final String XDBC_HEADER_QUERY =
+ "let $f := fn:function-lookup(xs:QName('xdmp:request-forwarded'),0)\n" +
+ "return if (exists($f)) then $f() " +
+ "else (" +
"let $xdbcHeaderf := " +
"fn:function-lookup(xs:QName('xdmp:get-xdbc-request-header'),1)\n" +
"return if (exists($xdbcHeaderf)) " +
- "then fn:exists($xdbcHeaderf('x-forwarded-for')) else false()";
+ "then fn:exists($xdbcHeaderf('x-forwarded-for')) else false())";
protected AssignmentManager am = AssignmentManager.getInstance();
protected boolean fastLoad;
@@ -224,6 +229,10 @@ public void checkOutputSpecs(
TextArrayWritable hostArray = null;
if (restrictHosts) {
String[] outputHosts = conf.getStrings(OUTPUT_HOST);
+ if (outputHosts == null || outputHosts.length == 0) {
+ throw new IllegalArgumentException(OUTPUT_HOST +
+ " is not specified.");
+ }
hostArray = new TextArrayWritable(outputHosts);
} else {
String outputHost = cs.getConnectionProvider().getHostName();
@@ -400,93 +409,120 @@ protected boolean initialize(Session session, boolean restrictHosts,
if (LOG.isDebugEnabled()) {
LOG.debug("init query: \n" + query.getQuery());
}
- result = session.submitRequest(query);
+ try {
+ result = session.submitRequest(query);
- ResultItem item = result.next();
- boolean httpForwardHeaderExists;
- boolean xdbcForwardHeaderExists;
- if (getForwardHeader) {
- httpForwardHeaderExists = item.asString().equals("true");
- item = result.next();
- xdbcForwardHeaderExists = item.asString().equals("true");
- item = result.next();
- if (httpForwardHeaderExists || xdbcForwardHeaderExists) {
- restrictHosts = true;
- conf.setBoolean(OUTPUT_RESTRICT_HOSTS, true);
- if (LOG.isDebugEnabled()) {
- LOG.debug("HTTP compliant mode enabled since x-forwarded-for exists");
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
+ ResultItem item = result.next();
+ boolean httpForwardHeaderExists;
+ boolean xdbcForwardHeaderExists;
+ if (getForwardHeader) {
+ httpForwardHeaderExists = item.asString().equals("true");
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
}
- } else {
- // check if input needs to be in HTTP compliant mode
- String inputRestrictHost = conf.getTrimmed(INPUT_RESTRICT_HOSTS);
- if (inputRestrictHost == null ||
- inputRestrictHost.equalsIgnoreCase("false")) {
- HttpChannel.setUseHTTP(false);
+ item = result.next();
+ xdbcForwardHeaderExists = item.asString().equals("true");
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
+ item = result.next();
+ if (httpForwardHeaderExists || xdbcForwardHeaderExists) {
+ restrictHosts = true;
+ conf.setBoolean(OUTPUT_RESTRICT_HOSTS, true);
if (LOG.isDebugEnabled()) {
- LOG.debug("HTTP compliant mode disabled since x-forwarded-for doesn't exist");
+ LOG.debug("HTTP compliant mode enabled since x-forwarded-for exists");
+ }
+ } else {
+ // check if input needs to be in HTTP compliant mode
+ String inputRestrictHost = conf.getTrimmed(INPUT_RESTRICT_HOSTS);
+ if (inputRestrictHost == null ||
+ inputRestrictHost.equalsIgnoreCase("false")) {
+ HttpChannel.setUseHTTP(false);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("HTTP compliant mode disabled since x-forwarded-for doesn't exist");
+ }
}
}
}
- }
- initHostName = item.asString();
- item = result.next();
- am.setEffectiveVersion(((XSInteger)item.getItem()).asLong());
- item = result.next();
- failover = !restrictHosts && item.asString().equals("true");
- item = result.next();
- supportSegment = item.asString().equals("true");
- if (result.hasNext()) {
+ initHostName = item.asString();
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
- String policyStr = item.asString();
- conf.set(ASSIGNMENT_POLICY, policyStr);
- policy = AssignmentPolicy.Kind.forName(policyStr);
+ am.setEffectiveVersion(((XSInteger)item.getItem()).asLong());
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
item = result.next();
- allowFastLoad = Boolean.parseBoolean(item.asString());
- if ((policy == AssignmentPolicy.Kind.STATISTICAL
- || policy == AssignmentPolicy.Kind.RANGE
- || policy == AssignmentPolicy.Kind.QUERY)
- && !allowFastLoad && conf.getBoolean(OUTPUT_FAST_LOAD, false)) {
- throw new IOException(
- "Fastload can't be used: rebalancer is on and "
- + "forests are imbalanced in a database with "
- + "statistics-based assignment policy");
+ failover = !restrictHosts && item.asString().equals("true");
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
}
- } else {
- policy = AssignmentPolicy.Kind.LEGACY;
- legacy = true;
- }
-
- // initialize fastload mode
- if (conf.get(OUTPUT_FAST_LOAD) == null) {
- // fastload not set
- if (conf.get(OUTPUT_DIRECTORY) != null) {
- // output_dir is set, attempt to do fastload
- if(conf.get(OUTPUT_PARTITION) == null &&
- (policy == AssignmentPolicy.Kind.RANGE ||
- policy == AssignmentPolicy.Kind.QUERY)) {
- fastLoad = false;
- } else if (policy == AssignmentPolicy.Kind.RANGE ||
- policy == AssignmentPolicy.Kind.QUERY ||
- policy == AssignmentPolicy.Kind.STATISTICAL) {
- fastLoad = allowFastLoad;
+ item = result.next();
+ supportSegment = item.asString().equals("true");
+ if (result.hasNext()) {
+ item = result.next();
+ String policyStr = item.asString();
+ conf.set(ASSIGNMENT_POLICY, policyStr);
+ policy = AssignmentPolicy.Kind.forName(policyStr);
+ if (!result.hasNext()) {
+ throw new IOException("Unexpected response");
+ }
+ item = result.next();
+ allowFastLoad = Boolean.parseBoolean(item.asString());
+ if ((policy == AssignmentPolicy.Kind.STATISTICAL
+ || policy == AssignmentPolicy.Kind.RANGE
+ || policy == AssignmentPolicy.Kind.QUERY)
+ && !allowFastLoad && conf.getBoolean(OUTPUT_FAST_LOAD, false)) {
+ throw new IOException(
+ "Fastload can't be used: rebalancer is on and "
+ + "forests are imbalanced in a database with "
+ + "statistics-based assignment policy");
+ }
+ } else {
+ policy = AssignmentPolicy.Kind.LEGACY;
+ legacy = true;
+ }
+
+ // initialize fastload mode
+ if (conf.get(OUTPUT_FAST_LOAD) == null) {
+ // fastload not set
+ if (conf.get(OUTPUT_DIRECTORY) != null) {
+ // output_dir is set, attempt to do fastload
+ if(conf.get(OUTPUT_PARTITION) == null &&
+ (policy == AssignmentPolicy.Kind.RANGE ||
+ policy == AssignmentPolicy.Kind.QUERY)) {
+ fastLoad = false;
+ } else if (policy == AssignmentPolicy.Kind.RANGE ||
+ policy == AssignmentPolicy.Kind.QUERY ||
+ policy == AssignmentPolicy.Kind.STATISTICAL) {
+ fastLoad = allowFastLoad;
+ } else {
+ fastLoad = true;
+ }
} else {
- fastLoad = true;
+ //neither fastload nor output_dir is set
+ fastLoad = false;
}
} else {
- //neither fastload nor output_dir is set
- fastLoad = false;
+ fastLoad = conf.getBoolean(OUTPUT_FAST_LOAD, false);
+ if (fastLoad && conf.get(OUTPUT_PARTITION) == null
+ && (policy == AssignmentPolicy.Kind.RANGE ||
+ policy == AssignmentPolicy.Kind.QUERY)) {
+ throw new IllegalArgumentException(
+ "output_partition is required for fastload mode.");
+ }
}
- } else {
- fastLoad = conf.getBoolean(OUTPUT_FAST_LOAD, false);
- if (fastLoad && conf.get(OUTPUT_PARTITION) == null
- && (policy == AssignmentPolicy.Kind.RANGE ||
- policy == AssignmentPolicy.Kind.QUERY)) {
- throw new IllegalArgumentException(
- "output_partition is required for fastload mode.");
+ conf.setBoolean(OUTPUT_FAST_LOAD, fastLoad);
+ return restrictHosts;
+ } finally {
+ if (result != null) {
+ result.close();
}
}
- conf.setBoolean(OUTPUT_FAST_LOAD, fastLoad);
- return restrictHosts;
}
/**
diff --git a/src/main/java/com/marklogic/mapreduce/ContentType.java b/src/main/java/com/marklogic/mapreduce/ContentType.java
index 9bfce5f23..2c1c54644 100644
--- a/src/main/java/com/marklogic/mapreduce/ContentType.java
+++ b/src/main/java/com/marklogic/mapreduce/ContentType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ContentWriter.java b/src/main/java/com/marklogic/mapreduce/ContentWriter.java
index e30e6a10e..16d46bd1d 100644
--- a/src/main/java/com/marklogic/mapreduce/ContentWriter.java
+++ b/src/main/java/com/marklogic/mapreduce/ContentWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -199,11 +199,6 @@ public class ContentWriter
protected final int MAX_SLEEP_TIME = 120000;
- public ContentWriter(Configuration conf,
- Map hostSourceMap, boolean fastLoad) {
- this(conf, hostSourceMap, fastLoad, null);
- }
-
public ContentWriter(Configuration conf,
Map hostSourceMap, boolean fastLoad,
AssignmentManager am) {
diff --git a/src/main/java/com/marklogic/mapreduce/CustomContent.java b/src/main/java/com/marklogic/mapreduce/CustomContent.java
index a78b7bcbc..0aa2e8574 100644
--- a/src/main/java/com/marklogic/mapreduce/CustomContent.java
+++ b/src/main/java/com/marklogic/mapreduce/CustomContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/DOMDocument.java b/src/main/java/com/marklogic/mapreduce/DOMDocument.java
index caead9a19..a17a41ffb 100644
--- a/src/main/java/com/marklogic/mapreduce/DOMDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/DOMDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
+import javax.xml.XMLConstants;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
@@ -68,6 +69,16 @@ public class DOMDocument extends ForestDocument {
private static synchronized TransformerFactory getTransformerFactory() {
if (transformerFactory == null) {
transformerFactory = TransformerFactory.newInstance();
+ try {
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security attribute ACCESS_EXTERNAL_DTD on TransformerFactory", e);
+ }
+ try {
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security attribute ACCESS_EXTERNAL_STYLESHEET on TransformerFactory", e);
+ }
}
return transformerFactory;
@@ -135,7 +146,10 @@ public byte[] getContentAsByteArray() {
if (rootNodeKind == NodeKind.TEXT) {
TextImpl textNode = (TextImpl) doc.getFirstChild();
if (textNode != null) {
- return textNode.getTextContent().getBytes();
+ String textContent = textNode.getTextContent();
+ if (textContent != null) {
+ return textContent.getBytes();
+ }
}
}
try {
diff --git a/src/main/java/com/marklogic/mapreduce/DatabaseDocument.java b/src/main/java/com/marklogic/mapreduce/DatabaseDocument.java
index cb0dfa480..a165b7fb9 100644
--- a/src/main/java/com/marklogic/mapreduce/DatabaseDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/DatabaseDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -75,13 +75,17 @@ public Text getContentAsText() {
*/
public byte[] getContentAsByteArray() {
if (content == null) {
- try {
- content = IOHelper.byteArrayFromStream(is);
- } catch (IOException e) {
- throw new RuntimeException("IOException buffering binary data",
- e);
+ if (is != null) {
+ try {
+ content = IOHelper.byteArrayFromStream(is);
+ } catch (IOException e) {
+ throw new RuntimeException("IOException buffering binary data",
+ e);
+ }
+ is = null;
+ } else {
+ content = new byte[0];
}
- is = null;
}
return content;
}
diff --git a/src/main/java/com/marklogic/mapreduce/DocumentInputFormat.java b/src/main/java/com/marklogic/mapreduce/DocumentInputFormat.java
index a3ce07b30..67a556629 100644
--- a/src/main/java/com/marklogic/mapreduce/DocumentInputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/DocumentInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/DocumentReader.java b/src/main/java/com/marklogic/mapreduce/DocumentReader.java
index f9ba04ad1..4bf8ec8f9 100644
--- a/src/main/java/com/marklogic/mapreduce/DocumentReader.java
+++ b/src/main/java/com/marklogic/mapreduce/DocumentReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2019 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/DocumentURI.java b/src/main/java/com/marklogic/mapreduce/DocumentURI.java
index afc5bac88..363bf01ce 100644
--- a/src/main/java/com/marklogic/mapreduce/DocumentURI.java
+++ b/src/main/java/com/marklogic/mapreduce/DocumentURI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/DocumentURIWithSourceInfo.java b/src/main/java/com/marklogic/mapreduce/DocumentURIWithSourceInfo.java
index a279401e2..009fd5cf0 100644
--- a/src/main/java/com/marklogic/mapreduce/DocumentURIWithSourceInfo.java
+++ b/src/main/java/com/marklogic/mapreduce/DocumentURIWithSourceInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/ForestDocument.java b/src/main/java/com/marklogic/mapreduce/ForestDocument.java
index 18bbd6ca1..7b89a3195 100644
--- a/src/main/java/com/marklogic/mapreduce/ForestDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/ForestDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ForestInputFormat.java b/src/main/java/com/marklogic/mapreduce/ForestInputFormat.java
index 88060f7b4..155f5c2aa 100644
--- a/src/main/java/com/marklogic/mapreduce/ForestInputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/ForestInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ForestReader.java b/src/main/java/com/marklogic/mapreduce/ForestReader.java
index 12c2c4954..10cf12cce 100644
--- a/src/main/java/com/marklogic/mapreduce/ForestReader.java
+++ b/src/main/java/com/marklogic/mapreduce/ForestReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -119,11 +119,15 @@ public void initialize(InputSplit split, TaskAttemptContext context)
FileSystem fs = dataPath.getFileSystem(conf);
dataIs = new BiendianDataInputStream(fs.open(dataPath));
dataIs.skipBytes(this.split.getStart());
- Path ordPath = new Path(dataPath.getParent(), "Ordinals");
+ Path parentPath = dataPath.getParent();
+ if (parentPath == null) {
+ throw new IOException("Unable to determine parent directory for: " + dataPath);
+ }
+ Path ordPath = new Path(parentPath, "Ordinals");
ordIs = new BiendianDataInputStream(fs.open(ordPath));
- Path qualPath = new Path(dataPath.getParent(), "Qualities");
+ Path qualPath = new Path(parentPath, "Qualities");
qualIs = new BiendianDataInputStream(fs.open(qualPath));
- Path tsPath = new Path(dataPath.getParent(), "Timestamps");
+ Path tsPath = new Path(parentPath, "Timestamps");
tsIs = new BiendianDataInputStream(fs.open(tsPath));
valueClass = conf.getClass(INPUT_VALUE_CLASS, ForestDocument.class,
Writable.class);
diff --git a/src/main/java/com/marklogic/mapreduce/Indentation.java b/src/main/java/com/marklogic/mapreduce/Indentation.java
index 77754e838..3e216617b 100644
--- a/src/main/java/com/marklogic/mapreduce/Indentation.java
+++ b/src/main/java/com/marklogic/mapreduce/Indentation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/InternalConstants.java b/src/main/java/com/marklogic/mapreduce/InternalConstants.java
index 6f4da2228..2134d4574 100644
--- a/src/main/java/com/marklogic/mapreduce/InternalConstants.java
+++ b/src/main/java/com/marklogic/mapreduce/InternalConstants.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ *
+ * 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.
+ */
package com.marklogic.mapreduce;
/**
diff --git a/src/main/java/com/marklogic/mapreduce/JSONDocument.java b/src/main/java/com/marklogic/mapreduce/JSONDocument.java
index da65a304d..2c4139b21 100644
--- a/src/main/java/com/marklogic/mapreduce/JSONDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/JSONDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
+import javax.xml.XMLConstants;
import javax.xml.transform.TransformerFactory;
import org.apache.commons.logging.Log;
@@ -48,6 +49,16 @@ public class JSONDocument extends ForestDocument {
private static synchronized TransformerFactory getTransformerFactory() {
if (transformerFactory == null) {
transformerFactory = TransformerFactory.newInstance();
+ try {
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security attribute ACCESS_EXTERNAL_DTD on TransformerFactory", e);
+ }
+ try {
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Failed configuring XXE-prevention security attribute ACCESS_EXTERNAL_STYLESHEET on TransformerFactory", e);
+ }
}
return transformerFactory;
diff --git a/src/main/java/com/marklogic/mapreduce/KeyValueInputFormat.java b/src/main/java/com/marklogic/mapreduce/KeyValueInputFormat.java
index 8dd0f2019..90873a08c 100644
--- a/src/main/java/com/marklogic/mapreduce/KeyValueInputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/KeyValueInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/KeyValueOutputFormat.java b/src/main/java/com/marklogic/mapreduce/KeyValueOutputFormat.java
index ac168463e..f1a504e24 100644
--- a/src/main/java/com/marklogic/mapreduce/KeyValueOutputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/KeyValueOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/KeyValueReader.java b/src/main/java/com/marklogic/mapreduce/KeyValueReader.java
index 105c35c9b..d5e777507 100644
--- a/src/main/java/com/marklogic/mapreduce/KeyValueReader.java
+++ b/src/main/java/com/marklogic/mapreduce/KeyValueReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/KeyValueWriter.java b/src/main/java/com/marklogic/mapreduce/KeyValueWriter.java
index a0e956ccc..44cdda836 100644
--- a/src/main/java/com/marklogic/mapreduce/KeyValueWriter.java
+++ b/src/main/java/com/marklogic/mapreduce/KeyValueWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/LargeBinaryDocument.java b/src/main/java/com/marklogic/mapreduce/LargeBinaryDocument.java
index 749560a63..6cb960277 100644
--- a/src/main/java/com/marklogic/mapreduce/LargeBinaryDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/LargeBinaryDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/LinkedMapWritable.java b/src/main/java/com/marklogic/mapreduce/LinkedMapWritable.java
index 306aa7b24..2086712b3 100644
--- a/src/main/java/com/marklogic/mapreduce/LinkedMapWritable.java
+++ b/src/main/java/com/marklogic/mapreduce/LinkedMapWritable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/MarkLogicCounter.java b/src/main/java/com/marklogic/mapreduce/MarkLogicCounter.java
index cb8a801d9..6889d5af8 100644
--- a/src/main/java/com/marklogic/mapreduce/MarkLogicCounter.java
+++ b/src/main/java/com/marklogic/mapreduce/MarkLogicCounter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/MarkLogicDocument.java b/src/main/java/com/marklogic/mapreduce/MarkLogicDocument.java
index 18c11971d..d8bc36d3d 100644
--- a/src/main/java/com/marklogic/mapreduce/MarkLogicDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/MarkLogicDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2014 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/MarkLogicInputFormat.java b/src/main/java/com/marklogic/mapreduce/MarkLogicInputFormat.java
index 159b32091..fe68eedf2 100644
--- a/src/main/java/com/marklogic/mapreduce/MarkLogicInputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/MarkLogicInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -223,7 +223,9 @@ protected void getForestSplits(JobContext jobContext,
throw new IOException("Unexpected item " + item.getItemType().toString());
}
String itemStr = ((XSString)item.getItem()).asString();
- ruleUris.add(itemStr);
+ if (ruleUris != null) {
+ ruleUris.add(itemStr);
+ }
}
// forest with failover hosts
@@ -316,7 +318,8 @@ public List getSplits(JobContext jobContext) throws IOException,
StringBuilder buf = new StringBuilder();
buf.append("xquery version \"1.0-ml\";\n");
if (getForwardHeader) {
- buf.append("fn:exists(xdmp:get-request-header('x-forwarded-for'));\n");
+ buf.append(ContentOutputFormat.HEADER_QUERY).append(";\n");
+ buf.append(ContentOutputFormat.XDBC_HEADER_QUERY).append(";\n");
}
buf.append("import module namespace hadoop = ");
buf.append("\"http://marklogic.com/xdmp/hadoop\" at ");
@@ -400,6 +403,8 @@ public List getSplits(JobContext jobContext) throws IOException,
if (getForwardHeader) {
forwardHeaderExists = item.asString().equals("true");
item = result.next();
+ forwardHeaderExists |= item.asString().equals("true");
+ item = result.next();
if (forwardHeaderExists) {
restrictHosts = true;
jobConf.setBoolean(INPUT_RESTRICT_HOSTS, true);
diff --git a/src/main/java/com/marklogic/mapreduce/MarkLogicInputSplit.java b/src/main/java/com/marklogic/mapreduce/MarkLogicInputSplit.java
index a0d2bd6e7..ed9dc67d8 100644
--- a/src/main/java/com/marklogic/mapreduce/MarkLogicInputSplit.java
+++ b/src/main/java/com/marklogic/mapreduce/MarkLogicInputSplit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/MarkLogicNode.java b/src/main/java/com/marklogic/mapreduce/MarkLogicNode.java
index 9cc03b366..83f2f1095 100644
--- a/src/main/java/com/marklogic/mapreduce/MarkLogicNode.java
+++ b/src/main/java/com/marklogic/mapreduce/MarkLogicNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/MarkLogicOutputFormat.java b/src/main/java/com/marklogic/mapreduce/MarkLogicOutputFormat.java
index bec783a13..8506bbb16 100644
--- a/src/main/java/com/marklogic/mapreduce/MarkLogicOutputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/MarkLogicOutputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/NodeInputFormat.java b/src/main/java/com/marklogic/mapreduce/NodeInputFormat.java
index 3fd909804..6674ac7ca 100644
--- a/src/main/java/com/marklogic/mapreduce/NodeInputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/NodeInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/NodePath.java b/src/main/java/com/marklogic/mapreduce/NodePath.java
index 9e8aa3105..ead311523 100644
--- a/src/main/java/com/marklogic/mapreduce/NodePath.java
+++ b/src/main/java/com/marklogic/mapreduce/NodePath.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/NodeReader.java b/src/main/java/com/marklogic/mapreduce/NodeReader.java
index 6e8dcedc3..46e34e646 100644
--- a/src/main/java/com/marklogic/mapreduce/NodeReader.java
+++ b/src/main/java/com/marklogic/mapreduce/NodeReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/NodeWriter.java b/src/main/java/com/marklogic/mapreduce/NodeWriter.java
index 1aaf43072..1287f0258 100644
--- a/src/main/java/com/marklogic/mapreduce/NodeWriter.java
+++ b/src/main/java/com/marklogic/mapreduce/NodeWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/PropertyWriter.java b/src/main/java/com/marklogic/mapreduce/PropertyWriter.java
index 0175d0072..f40bed7ec 100644
--- a/src/main/java/com/marklogic/mapreduce/PropertyWriter.java
+++ b/src/main/java/com/marklogic/mapreduce/PropertyWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/RegularBinaryDocument.java b/src/main/java/com/marklogic/mapreduce/RegularBinaryDocument.java
index fdb5a4134..db62cdd37 100644
--- a/src/main/java/com/marklogic/mapreduce/RegularBinaryDocument.java
+++ b/src/main/java/com/marklogic/mapreduce/RegularBinaryDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/SslConfigOptions.java b/src/main/java/com/marklogic/mapreduce/SslConfigOptions.java
index 104937c82..00c348c07 100644
--- a/src/main/java/com/marklogic/mapreduce/SslConfigOptions.java
+++ b/src/main/java/com/marklogic/mapreduce/SslConfigOptions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/StreamLocator.java b/src/main/java/com/marklogic/mapreduce/StreamLocator.java
index cf4ef1979..9d1f8ea20 100644
--- a/src/main/java/com/marklogic/mapreduce/StreamLocator.java
+++ b/src/main/java/com/marklogic/mapreduce/StreamLocator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ValueInputFormat.java b/src/main/java/com/marklogic/mapreduce/ValueInputFormat.java
index 481569fcf..69a8bf551 100644
--- a/src/main/java/com/marklogic/mapreduce/ValueInputFormat.java
+++ b/src/main/java/com/marklogic/mapreduce/ValueInputFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ValueReader.java b/src/main/java/com/marklogic/mapreduce/ValueReader.java
index 4efc9588d..5f0f7364d 100644
--- a/src/main/java/com/marklogic/mapreduce/ValueReader.java
+++ b/src/main/java/com/marklogic/mapreduce/ValueReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/ZipEntryInputStream.java b/src/main/java/com/marklogic/mapreduce/ZipEntryInputStream.java
index d797ea848..e00d24e76 100644
--- a/src/main/java/com/marklogic/mapreduce/ZipEntryInputStream.java
+++ b/src/main/java/com/marklogic/mapreduce/ZipEntryInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/BinaryReader.java b/src/main/java/com/marklogic/mapreduce/examples/BinaryReader.java
index 417084c9c..c7dde7399 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/BinaryReader.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/BinaryReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/ContentLoader.java b/src/main/java/com/marklogic/mapreduce/examples/ContentLoader.java
index 253b81b64..e128ef11a 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/ContentLoader.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/ContentLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/ContentReader.java b/src/main/java/com/marklogic/mapreduce/examples/ContentReader.java
index ac5f972b3..aed2702ca 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/ContentReader.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/ContentReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -97,24 +97,18 @@ public static void main(String[] args) throws Exception {
static class SslOptions implements SslConfigOptions {
@Override
public String[] getEnabledCipherSuites() {
- return new String[] { "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
- "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
- "TLS_RSA_WITH_AES_256_CBC_SHA" };
+ return null;
}
@Override
public String[] getEnabledProtocols() {
- return new String[] { "TLSv1" };
+ return new String[] { "TLSv1.3" };
}
@Override
- public SSLContext getSslContext() {
- SSLContext sslContext = null;
- try {
- sslContext = SSLContext.getInstance("TLSv1");
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
+ public SSLContext getSslContext()
+ throws NoSuchAlgorithmException, KeyManagementException {
+ SSLContext sslContext = SSLContext.getInstance("TLSv1.3");
TrustManager[] trustManagers = null;
// Trust anyone.
trustManagers = new TrustManager[] { new X509TrustManager() {
@@ -132,13 +126,9 @@ public X509Certificate[] getAcceptedIssuers() {
return null;
}
} };
-
+
KeyManager[] keyManagers = null;
- try {
- sslContext.init(keyManagers, trustManagers, null);
- } catch (KeyManagementException e) {
- e.printStackTrace();
- }
+ sslContext.init(keyManagers, trustManagers, null);
return sslContext;
}
}
@@ -150,7 +140,11 @@ static class CustomOutputFormat
public RecordWriter getRecordWriter(
TaskAttemptContext context)
throws IOException, InterruptedException {
- return new CustomWriter(getOutputPath(context),
+ Path outputPath = getOutputPath(context);
+ if (outputPath == null) {
+ throw new IOException("Output directory not set.");
+ }
+ return new CustomWriter(outputPath,
context.getConfiguration());
}
}
diff --git a/src/main/java/com/marklogic/mapreduce/examples/HelloWorld.java b/src/main/java/com/marklogic/mapreduce/examples/HelloWorld.java
index 49e4e57f6..96f1201af 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/HelloWorld.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/HelloWorld.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,6 +22,7 @@
import java.util.Iterator;
import org.w3c.dom.Document;
+import org.w3c.dom.Element;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
@@ -79,7 +80,8 @@ public void map(DocumentURI key, DatabaseDocument value, Context context)
if (contentType == ContentType.XML) {
// grab the first word from the document text
Document doc = (Document)value.getContentAsMarkLogicNode().get();
- String text = doc.getDocumentElement().getTextContent();
+ Element e = doc.getDocumentElement();
+ String text = e != null ? e.getTextContent() : "";
firstWord.set(text.split(" ", 2)[0]);
context.write(one, firstWord);
}
diff --git a/src/main/java/com/marklogic/mapreduce/examples/LinkCount.java b/src/main/java/com/marklogic/mapreduce/examples/LinkCount.java
index e6ef64c63..b4761f85f 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/LinkCount.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/LinkCount.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/LinkCountCooccurrences.java b/src/main/java/com/marklogic/mapreduce/examples/LinkCountCooccurrences.java
index b97c9f90c..b084ef000 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/LinkCountCooccurrences.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/LinkCountCooccurrences.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/LinkCountHDFS.java b/src/main/java/com/marklogic/mapreduce/examples/LinkCountHDFS.java
index a9c6810fc..64357eed6 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/LinkCountHDFS.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/LinkCountHDFS.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/examples/LinkCountInDoc.java b/src/main/java/com/marklogic/mapreduce/examples/LinkCountInDoc.java
index 82dbb5cab..4d9b00667 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/LinkCountInDoc.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/LinkCountInDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/LinkCountInProperty.java b/src/main/java/com/marklogic/mapreduce/examples/LinkCountInProperty.java
index 049063ae7..f5e8bde69 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/LinkCountInProperty.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/LinkCountInProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/LinkCountValue.java b/src/main/java/com/marklogic/mapreduce/examples/LinkCountValue.java
index f155a4548..ea386b7ba 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/LinkCountValue.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/LinkCountValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/RevisionGrouper.java b/src/main/java/com/marklogic/mapreduce/examples/RevisionGrouper.java
index 4aa67456a..662f9cadd 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/RevisionGrouper.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/RevisionGrouper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/ZipContentLoader.java b/src/main/java/com/marklogic/mapreduce/examples/ZipContentLoader.java
index c24876b05..cc92ce540 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/ZipContentLoader.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/ZipContentLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/examples/package-info.java b/src/main/java/com/marklogic/mapreduce/examples/package-info.java
index e44ddcb04..e73c2bd87 100644
--- a/src/main/java/com/marklogic/mapreduce/examples/package-info.java
+++ b/src/main/java/com/marklogic/mapreduce/examples/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/functions/CollectionMatch.java b/src/main/java/com/marklogic/mapreduce/functions/CollectionMatch.java
index b28ed56c9..24ac83b5f 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/CollectionMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/CollectionMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/Collections.java b/src/main/java/com/marklogic/mapreduce/functions/Collections.java
index 2812a70e0..9b5ce3592 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/Collections.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/Collections.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/CooccurrencesFunction.java b/src/main/java/com/marklogic/mapreduce/functions/CooccurrencesFunction.java
index fe0d50fd7..30e11c2e7 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/CooccurrencesFunction.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/CooccurrencesFunction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElemAttrValueCooccurrences.java b/src/main/java/com/marklogic/mapreduce/functions/ElemAttrValueCooccurrences.java
index 5fd18704a..adb350ce9 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElemAttrValueCooccurrences.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElemAttrValueCooccurrences.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElemValueCooccurrences.java b/src/main/java/com/marklogic/mapreduce/functions/ElemValueCooccurrences.java
index ce857cddc..def96c966 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElemValueCooccurrences.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElemValueCooccurrences.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValueMatch.java b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValueMatch.java
index c9c05e680..704b5ac15 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValueMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValueMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValues.java b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValues.java
index 73eed4ecd..909280565 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValues.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValues.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWordMatch.java b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWordMatch.java
index 3958e3492..38e49b576 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWordMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWordMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWords.java b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWords.java
index 656099c35..63fee5ff5 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWords.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWords.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementValueMatch.java b/src/main/java/com/marklogic/mapreduce/functions/ElementValueMatch.java
index 6052e0ec5..c5c24d241 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementValueMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementValueMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementValues.java b/src/main/java/com/marklogic/mapreduce/functions/ElementValues.java
index ff586a58e..98ca08e0e 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementValues.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementValues.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementWordMatch.java b/src/main/java/com/marklogic/mapreduce/functions/ElementWordMatch.java
index 77aa78335..8e5d4de72 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementWordMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementWordMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ElementWords.java b/src/main/java/com/marklogic/mapreduce/functions/ElementWords.java
index 9c21e2fd3..bf25623f9 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ElementWords.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ElementWords.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/FieldValueCooccurrences.java b/src/main/java/com/marklogic/mapreduce/functions/FieldValueCooccurrences.java
index d90039e30..215046cda 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/FieldValueCooccurrences.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/FieldValueCooccurrences.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/FieldValueMatch.java b/src/main/java/com/marklogic/mapreduce/functions/FieldValueMatch.java
index 3ba0cd624..659143f68 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/FieldValueMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/FieldValueMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/FieldValues.java b/src/main/java/com/marklogic/mapreduce/functions/FieldValues.java
index b84df2b16..7bed4c42d 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/FieldValues.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/FieldValues.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/FieldWordMatch.java b/src/main/java/com/marklogic/mapreduce/functions/FieldWordMatch.java
index 64a8013de..a7d6a4249 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/FieldWordMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/FieldWordMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/FieldWords.java b/src/main/java/com/marklogic/mapreduce/functions/FieldWords.java
index 63368a026..988c84c87 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/FieldWords.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/FieldWords.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/LexiconFunction.java b/src/main/java/com/marklogic/mapreduce/functions/LexiconFunction.java
index fd8161cd8..7a1d1f3da 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/LexiconFunction.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/LexiconFunction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/PathReference.java b/src/main/java/com/marklogic/mapreduce/functions/PathReference.java
index acb8c791b..307767d58 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/PathReference.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/PathReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/Reference.java b/src/main/java/com/marklogic/mapreduce/functions/Reference.java
index 465bf40ff..aa6f79bf6 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/Reference.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/Reference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/UriMatch.java b/src/main/java/com/marklogic/mapreduce/functions/UriMatch.java
index ae6dbc5c0..5300c1535 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/UriMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/UriMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/Uris.java b/src/main/java/com/marklogic/mapreduce/functions/Uris.java
index d38f76acf..40a8a6106 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/Uris.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/Uris.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ValueCooccurrences.java b/src/main/java/com/marklogic/mapreduce/functions/ValueCooccurrences.java
index 9b2a77993..987ab6227 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ValueCooccurrences.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ValueCooccurrences.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ValueMatch.java b/src/main/java/com/marklogic/mapreduce/functions/ValueMatch.java
index 970d09e07..6618bdcc3 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ValueMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ValueMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ValueOrWordMatchFunction.java b/src/main/java/com/marklogic/mapreduce/functions/ValueOrWordMatchFunction.java
index ce87dac29..4cc63fa38 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ValueOrWordMatchFunction.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ValueOrWordMatchFunction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/Values.java b/src/main/java/com/marklogic/mapreduce/functions/Values.java
index 553869df7..ff1543985 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/Values.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/Values.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2012 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/ValuesOrWordsFunction.java b/src/main/java/com/marklogic/mapreduce/functions/ValuesOrWordsFunction.java
index f3538759e..590a3912f 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/ValuesOrWordsFunction.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/ValuesOrWordsFunction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/WordMatch.java b/src/main/java/com/marklogic/mapreduce/functions/WordMatch.java
index 7a25f50ed..615533123 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/WordMatch.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/WordMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/Words.java b/src/main/java/com/marklogic/mapreduce/functions/Words.java
index a563d93e8..f77c3c53e 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/Words.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/Words.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/functions/package-info.java b/src/main/java/com/marklogic/mapreduce/functions/package-info.java
index 73c4a20e3..0fc365d6b 100644
--- a/src/main/java/com/marklogic/mapreduce/functions/package-info.java
+++ b/src/main/java/com/marklogic/mapreduce/functions/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/package-info.java b/src/main/java/com/marklogic/mapreduce/package-info.java
index 1bf4ffd62..fc4179bcf 100644
--- a/src/main/java/com/marklogic/mapreduce/package-info.java
+++ b/src/main/java/com/marklogic/mapreduce/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/test/FCheck.java b/src/main/java/com/marklogic/mapreduce/test/FCheck.java
index 102a527f1..b34e1a3b2 100644
--- a/src/main/java/com/marklogic/mapreduce/test/FCheck.java
+++ b/src/main/java/com/marklogic/mapreduce/test/FCheck.java
@@ -788,6 +788,9 @@ public void checkForest(File dir) throws IOException {
+ (littleEndian ? "Little" : "Big") + " Endian)");
checkForestLabel(dir);
File files[] = dir.listFiles();
+ if (files == null) {
+ throw new IOException("Unable to list files in directory: " + dir.getAbsolutePath());
+ }
Arrays.sort(files);
for (File file : files) {
String filename = file.getName();
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/AssignmentManager.java b/src/main/java/com/marklogic/mapreduce/utilities/AssignmentManager.java
index 29fce3110..87e09d766 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/AssignmentManager.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/AssignmentManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/AssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/AssignmentPolicy.java
index 175d63cd2..f68a4b594 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/AssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/AssignmentPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/BucketAssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/BucketAssignmentPolicy.java
index b2a6daabd..4247e5ef8 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/BucketAssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/BucketAssignmentPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/ForestHost.java b/src/main/java/com/marklogic/mapreduce/utilities/ForestHost.java
index 5bf866330..9f9155e12 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/ForestHost.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/ForestHost.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (c) 2011-2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ *
+ * 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.
+ */
package com.marklogic.mapreduce.utilities;
public class ForestHost {
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/ForestInfo.java b/src/main/java/com/marklogic/mapreduce/utilities/ForestInfo.java
index 8353d307a..7b4644d0c 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/ForestInfo.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/ForestInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/InternalUtilities.java b/src/main/java/com/marklogic/mapreduce/utilities/InternalUtilities.java
index b2a66f23e..b666faa99 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/InternalUtilities.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/InternalUtilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -104,13 +104,12 @@ public class InternalUtilities implements MarkLogicConstants {
*/
public static ContentSource getInputContentSource(Configuration conf)
throws URISyntaxException, XccConfigException, IOException {
- String host = conf.getStrings(INPUT_HOST)[0];
- if (host == null || host.isEmpty()) {
+ String[] hosts = conf.getStrings(INPUT_HOST);
+ if (hosts == null || hosts.length == 0) {
throw new IllegalArgumentException(INPUT_HOST +
" is not specified.");
}
-
- return getInputContentSource(conf, host);
+ return getInputContentSource(conf, hosts[0]);
}
/**
@@ -365,6 +364,7 @@ static ContentSource getSecureContentSource(String host, int port,
try {
options = new SecurityOptions(sslOptions.getSslContext());
} catch (KeyManagementException | NoSuchAlgorithmException e) {
+ LOG.error("Error constructing SecurityOptions", e);
throw new XccConfigException("Error constructing SecurityOptions",
e);
}
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/LegacyAssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/LegacyAssignmentPolicy.java
index 4d8ffa51b..1db9d7d6d 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/LegacyAssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/LegacyAssignmentPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/QueryAssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/QueryAssignmentPolicy.java
index b1579abad..ef10e6424 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/QueryAssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/QueryAssignmentPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/RangeAssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/RangeAssignmentPolicy.java
index 9d7d1d19f..2d2d06e8f 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/RangeAssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/RangeAssignmentPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/RestrictedHostsUtil.java b/src/main/java/com/marklogic/mapreduce/utilities/RestrictedHostsUtil.java
index fd388b29e..9abb2bccb 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/RestrictedHostsUtil.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/RestrictedHostsUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/SegmentAssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/SegmentAssignmentPolicy.java
index 9f1f342d6..d8a290036 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/SegmentAssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/SegmentAssignmentPolicy.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (c) 2011-2018 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ *
+ * 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.
+ */
package com.marklogic.mapreduce.utilities;
import java.math.BigInteger;
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/StatisticalAssignmentPolicy.java b/src/main/java/com/marklogic/mapreduce/utilities/StatisticalAssignmentPolicy.java
index 89bd717c6..df14d75a2 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/StatisticalAssignmentPolicy.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/StatisticalAssignmentPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/TextArrayWritable.java b/src/main/java/com/marklogic/mapreduce/utilities/TextArrayWritable.java
index 354542a53..979e030f6 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/TextArrayWritable.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/TextArrayWritable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/mapreduce/utilities/URIUtil.java b/src/main/java/com/marklogic/mapreduce/utilities/URIUtil.java
index 83bd11dfc..3f0184da0 100644
--- a/src/main/java/com/marklogic/mapreduce/utilities/URIUtil.java
+++ b/src/main/java/com/marklogic/mapreduce/utilities/URIUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2016 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/tree/Capability.java b/src/main/java/com/marklogic/tree/Capability.java
index 99b5b8d59..5ad42014f 100644
--- a/src/main/java/com/marklogic/tree/Capability.java
+++ b/src/main/java/com/marklogic/tree/Capability.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2013 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/tree/CompressedTreeDecoder.java b/src/main/java/com/marklogic/tree/CompressedTreeDecoder.java
index 6a67a4525..98a9bbf32 100644
--- a/src/main/java/com/marklogic/tree/CompressedTreeDecoder.java
+++ b/src/main/java/com/marklogic/tree/CompressedTreeDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/src/main/java/com/marklogic/tree/ExpandedTree.java b/src/main/java/com/marklogic/tree/ExpandedTree.java
index 3cd2ff33a..b53aa2863 100644
--- a/src/main/java/com/marklogic/tree/ExpandedTree.java
+++ b/src/main/java/com/marklogic/tree/ExpandedTree.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -176,9 +176,10 @@ public String getText(int index) {
StringBuilder buf = new StringBuilder();
for (int i=textReps[index++]; i > 0; --i) {
if (LOG.isTraceEnabled()) {
+ String atomStr = atomString(textReps[index]);
LOG.trace("atom " + textReps[index] + " [" +
- atomString(textReps[index]) + "] length " +
- atomString(textReps[index]).length());
+ atomStr + "] length " +
+ (atomStr != null ? atomStr.length() : "0"));
}
buf.append(atomString(textReps[index++]));
}
diff --git a/src/main/java/com/marklogic/tree/NodeKind.java b/src/main/java/com/marklogic/tree/NodeKind.java
index af082c8e6..68acb0100 100644
--- a/src/main/java/com/marklogic/tree/NodeKind.java
+++ b/src/main/java/com/marklogic/tree/NodeKind.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2020 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
+ * Copyright (c) 2011-2015 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.