diff --git a/.gitignore b/.gitignore index b9edd18c5..068e73dd3 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ xml-with-props.xml ml-development-tools/src/test/ml-modules ml-development-tools/src/test/java/com/marklogic/client/test/dbfunction/generated + +.vscode diff --git a/Jenkinsfile b/Jenkinsfile index 8243386cc..cd7f831ee 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -21,7 +21,7 @@ def runAllTests(String type, String version, Boolean useReverseProxy){ export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH cd java-client-api - ./gradlew -i mlDeploy -PmlForestDataDirectory=/space + ./gradlew -i mlDeploy mlReloadSchemas -PmlForestDataDirectory=/space ''' if (useReverseProxy) { @@ -152,16 +152,16 @@ pipeline{ } } steps { - copyRPM 'Latest','11' + copyRPM 'Release','11.1.0' setUpML '$WORKSPACE/xdmp/src/Mark*.rpm' - copyConvertersRPM 'Latest','11' + copyConvertersRPM 'Release','11.1.0' setUpMLConverters '$WORKSPACE/xdmp/src/Mark*Converters*.rpm' sh label:'deploy test app', script: '''#!/bin/bash export JAVA_HOME=$JAVA_HOME_DIR export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH cd java-client-api - ./gradlew -i mlDeploy -PmlForestDataDirectory=/space + ./gradlew -i mlDeploy mlReloadSchemas -PmlForestDataDirectory=/space ''' sh label:'run marklogic-client-api tests', script: '''#!/bin/bash export JAVA_HOME=$JAVA_HOME_DIR @@ -192,7 +192,7 @@ pipeline{ ''' } } - stage('regressions-11-Latest') { + stage('regressions-11-Release') { when { allOf { branch 'develop' @@ -200,12 +200,12 @@ pipeline{ } } steps { - runAllTests('Latest', '11', false) + runAllTests('Release', '11.1.0', false) junit '**/build/**/TEST*.xml' } } - stage('regressions-11-Latest-reverseProxy') { + stage('regressions-11-Release-reverseProxy') { when { allOf { branch 'develop' @@ -213,12 +213,12 @@ pipeline{ } } steps { - runAllTests('Latest', '11', true) + runAllTests('Release', '11.1.0', true) junit '**/build/**/TEST*.xml' } } - stage('regressions-10.0-9') { + stage('regressions-10.0-10.2') { when { allOf { branch 'develop' @@ -226,7 +226,7 @@ pipeline{ } } steps { - runAllTests('Release', '10.0-9.5', false) + runAllTests('Release', '10.0-10.2', false) junit '**/build/**/TEST*.xml' } } diff --git a/NOTICE.txt b/NOTICE.txt index 56c722b6c..94df37a87 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -12,262 +12,7 @@ To the extent required by the applicable open source license, a complete machine The following software may be included in this project (last updated November 18, 2022): -@angular-mdl/core 6.0.1 -Attribution Statements -http://mseemann.io/angular2-mdl/ - -Copyright Statements -Copyright (c) 2014-2016 Google, Inc. http://angular.io - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mseemann/angular2-mdl -@angular-mdl/popover 6.0.0 -Attribution Statements -https://www.npmjs.com/package/@angular-mdl/popover - -Copyright Statements -Copyright (c) 2016 Michael Seemann - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mseemann/angular2-mdl-ext -@angular-mdl/select 6.0.0 -Attribution Statements -https://www.npmjs.com/package/@angular-mdl/select - -Copyright Statements -Copyright (c) 2016 Michael Seemann - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mseemann/angular2-mdl-ext -@angular/core 6.0.2 -Attribution Statements -https://angular.io/ - -Copyright Statements -Copyright (C) 2018, angular - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/angular -@angular/core 6.1.10 -Attribution Statements -https://angular.io/ - -Copyright Statements -Copyright (C) 2018, angular - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/angular -@ngrx/core 1.2.0 -Attribution Statements -https://github.com/ngrx/core - -Copyright Statements -Copyright (c) 2016 Brandon Roberts, Mike Ryan, Rob Wormald - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ngrx/core -@ngrx/effects 6.1.2 -Attribution Statements -https://github.com/ngrx/effects - -Copyright Statements -Copyright (C) 2018, NgRx - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ngrx/effects -@ngrx/router-store 6.1.2 -Attribution Statements -https://github.com/ngrx/router-store - -Copyright Statements -Copyright (C) 2018, NgRx - -License Text (http://spdx.org/licenses/MIT) -MIT License - -Copyright (c) 2018 NgRx - -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. - -Source materials are available for download at: https://github.com/ngrx/platform -@ngrx/store 6.1.2 -Attribution Statements -https://github.com/ngrx/store - -Copyright Statements -Copyright (C) 2018, NgRx - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. -Source materials are available for download at: https://github.com/ngrx/platform -ag-Grid 16.0.0 -Attribution Statements -https://www.ag-grid.com/ - -Copyright Statements -Copyright (C) 2017, Niall Crosby - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ag-grid/ag-grid -ag-Grid Angular Component 16.0.0 -Attribution Statements -https://www.ag-grid.com/ - -Copyright Statements -Copyright (c) 2015-2016 AG GRID LTD - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ag-grid/ag-grid-angular -ajv 6.12.4 -Attribution Statements -https://github.com/ajv-validator/ajv - -Copyright Statements -Copyright (c) 2015-2017 Evgeny Poberezkin - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ajv-validator/ajv -Angular 7.3.0 -Attribution Statements -https://angular.io/ - -Copyright Statements -Copyright (c) 2014-2017 Google, Inc. http://angular.io - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/angular -Angular CLI 7.3.1 -Attribution Statements -https://cli.angular.io/ - -Copyright Statements -Copyright (c) 2017 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/angular-cli -angular-highcharts 6.2.6 -Attribution Statements -https://github.com/cebor/angular-highcharts - -Copyright Statements -Copyright (c) 2017 Felix Itzenplitz - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/cebor/angular-highcharts -Apache Avro™ 1.8.1 -Attribution Statements -http://avro.apache.org - -NUnit license acknowledgement: - -| Portions Copyright © 2002-2012 Charlie Poole or Copyright © 2002-2004 James -| W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright © 2000-2002 -| Philip A. Craig - -Based upon the representations of upstream licensors, it is understood that -portions of the mapreduce API included in the Java implementation are licensed -from various contributors under one or more contributor license agreements to -Odiago, Inc. and were then contributed by Odiago to Apache Avro, which has now -made them available under the Apache 2.0 license. The original file header text -is: - -| Licensed to Odiago, Inc. under one or more contributor license -| agreements. See the NOTICE file distributed with this work for -| additional information regarding copyright ownership. Odiago, Inc. -| licenses this file to you 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. - -The Odiago NOTICE at the time of the contribution: - -| This product includes software developed by Odiago, Inc. -| (http://www.wibidata.com). - -Apache Ivy includes the following in its NOTICE file: - -| Apache Ivy -| Copyright 2007-2010 The Apache Software Foundation -| -| This product includes software developed by -| The Apache Software Foundation (http://www.apache.org/). -| -| Portions of Ivy were originally developed by -| Jayasoft SARL (http://www.jayasoft.fr/) -| and are licensed to the Apache Software Foundation under the -| "Software Grant License Agreement" -| -| SSH and SFTP support is provided by the JCraft JSch package, -| which is open source software, available under -| the terms of a BSD style license. -| The original software and related information is available -| at http://www.jcraft.com/jsch/. - -Apache Log4Net includes the following in its NOTICE file: - -| Apache log4net -| Copyright 2004-2015 The Apache Software Foundation -| -| This product includes software developed at -| The Apache Software Foundation (http://www.apache.org/). - -Copyright Statements -Copyright (C) 2017, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/avro Apache Commons BeanUtils™ 1.9.4 Attribution Statements https://commons.apache.org/proper/commons-beanutils/ @@ -279,17 +24,7 @@ License Text (http://spdx.org/licenses/Apache-2.0.html) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://commons.apache.org/proper/commons-beanutils/ -Apache Commons CLI™ 1.2 -Attribution Statements -http://commons.apache.org/proper/commons-cli/ - -Copyright Statements -Copyright 2001-2019 The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://mvnrepository.com/artifact/commons-cli/commons-cli/1.2 Apache Commons Codec™ 1.4 Attribution Statements http://commons.apache.org/proper/commons-codec/ @@ -322,11424 +57,486 @@ License Text (http://spdx.org/licenses/Apache-2.0.html) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://mvnrepository.com/artifact/commons-collections/commons-collections -Apache Commons Compress™ 1.21 -Attribution Statements -https://commons.apache.org/proper/commons-compress/ - -Copyright Statements -Copyright (C) 2022, Julius Davies, Damjan Jovanovic, Peter Alfred Lee, Stefan Bodewig, Rob Tompkins, Torsten Curdt, The Apache Software Foundation, Christian Grobmeier, Gary Gregory, Sebastian Bazley, Emmanuel Bourg - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://commons.apache.org/proper/commons-compress/download_compress.cgi -Apache Commons Configuration 2.8 +Apache Commons Lang™ 3.12 Attribution Statements -https://commons.apache.org/proper/commons-configuration/ - -Copyright Statements -Copyright (C) 2022, Eric Pugh, Brian E. Dunbar, Ralph Goers, Claude Warren, Henning P. Schmiedehausen, Jörg Schaible, Gary Gregory, Daniel Rall, Martin Poeschl, Rob Tompkins, Oliver Heger, The Apache Software Foundation, dIon Gillard, Emmanuel Bourg, Jason van Zyl +http://commons.apache.org/proper/commons-lang/ -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. +This product includes software from the Spring Framework, +under the Apache License 2.0 (see: StringUtils.containsWhitespace()) -Source materials are available for download at: https://commons.apache.org/proper/commons-configuration/download_configuration.cgi -Apache Commons Configuration™ 1.6 -Attribution Statements -https://commons.apache.org/proper/commons-configuration/ +Apache Commons Lang may include the following software under license: +JUnit 3.8.1 (EPL-2.0) - Copyright 2015-2019 the original author or authors. Copyright Statements -Copyright 2001-2019 The Apache Software Foundation +Copyright (C) 2017, The Apache Software Foundation -License Text (http://spdx.org/licenses/Apache-2.0.html) +License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://mvnrepository.com/artifact/commons-configuration/commons-configuration/1.6 -Apache Commons CSV™ 1.5 -Attribution Statements -http://commons.apache.org/proper/commons-csv/ - -Modifications copyright © 2017 MarkLogic Corporation. -September 2017 MarkLogic modified the parser to include the byte count of the original data read. - -Modifications copyright © 2022 MarkLogic Corporation. -November 2022 MarkLogic fixed an identified bug. +Source materials are available for download at: https://github.com/apache/commons-lang -Apache Commons CSV may include the following software under license: -Apache Commons IO 2.5 (Apache-2.0) - Copyright 2002-2016 The Apache Software Foundation -Apache Commons Lang 3.6 (Apache-2.0) - Copyright (C) 2017, The Apache Software Foundation -H2 Database Engine (EPL-1.0) - Copyright 2004-2018 H2 Group. -JUnit 4.12 (EPL-1.0) - Copyright © 2002-2017 JUnit. All Rights Reserved. +Jackson Annotations 2.15.2 +Attribution Statements +http://wiki.fasterxml.com/JacksonHome Copyright Statements -Copyright (C) 2017, Henri Yandell, Yonik Seeley, Rob Tompkins, Benedikt Ritter, Martin van den Bemt, The Apache Software Foundation, Gary Gregory, Emmanuel Bourg +Copyright ©2009 FasterXML, LLC License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://github.com/apache/commons-csv -Apache Commons IO™ 2.6 +Jackson Core 2.15.2 Attribution Statements -http://commons.apache.org/proper/commons-io/ - -Apache Commons IO may include the following software under license: -JUnit 4.10 (EPL-2.0) - Copyright 2015-2019 the original author or authors. +http://wiki.fasterxml.com/JacksonHome Copyright Statements -Copyright 2002-2016 The Apache Software Foundation +Copyright ©2009 FasterXML, LLC -License Text (http://spdx.org/licenses/Apache-2.0) +License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://git-wip-us.apache.org/repos/asf?p=commons-io.git -Apache Commons Lang™ 3.5 -Attribution Statements -http://commons.apache.org/proper/commons-lang/ +Source materials are available for download at: https://github.com/FasterXML/jackson-core -This product includes software from the Spring Framework, -under the Apache License 2.0 (see: StringUtils.containsWhitespace()) +Jackson Databind 2.15.2 +Attribution Statements +http://wiki.fasterxml.com/JacksonHome -Apache Commons Lang may include the following software under license: -JUnit 3.8.1 (EPL-2.0) - Copyright 2015-2019 the original author or authors. +Jackson Databind may include the following software under license: +cglib 2.2.2 (Apache-2.0) - Copyright 2004 The Apache Software Foundation +Apache Groovy 1.7.9 (Apache-2.0) - Copyright 2003-2019 The Apache Software Foundation +Hibernate-cglib-repack 2.1_3 (LGPL-2.1) - Copyright (c) 2010 Red Hat, Inc. +Jackson Annotations 2.5.0 (Apache-2.0) - Copyright ©2009 FasterXML, LLC +JSR-275 0.9.2 - © 2019, Oracle Corporation and/or its affiliates. Copyright Statements -Copyright (C) 2017, The Apache Software Foundation +Copyright ©2009 FasterXML, LLC -License Text (http://spdx.org/licenses/Apache-2.0) +License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://github.com/apache/commons-lang -Apache Commons Lang™ 3.7 +Source materials are available for download at: https://github.com/FasterXML/jackson-databind +Jackson Dataformat CSV 2.15.2 Attribution Statements -http://commons.apache.org/proper/commons-lang/ - -This product includes software from the Spring Framework, -under the Apache License 2.0 (see: StringUtils.containsWhitespace()) - -Apache Commons Lang may include the following software under license: -JUnit 3.8.1 (EPL-2.0) - Copyright 2015-2019 the original author or authors. +https://github.com/FasterXML/jackson-dataformat-csv Copyright Statements -Copyright (C) 2017, The Apache Software Foundation +Copyright ©2009 FasterXML, LLC License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. -Source materials are available for download at: https://github.com/apache/commons-lang -Apache Commons Logging™ 1.1.3 -Attribution Statements -http://commons.apache.org/proper/commons-logging/ +Source materials are available for download at: https://github.com/FasterXML/jackson-dataformat-csv -Apache Commons Logging may include the following software under license: -Apache Avalon 4.1.5 Apache-2.0) - Copyright 2004 Apache Software Foundation. -LogKit 1.0.1 (ISC) - Copyright (c) 2015 - 2016, Justin Pawela & The LogKit Project (http://www.logkit.info/) -Servlet API 2.3 - © Oracle +javax.ws.rs-api (JAX-RS API) 2.1.1 +Attribution Statements +https://github.com/jax-rs/api Copyright Statements -Copyright 2003-2016 The Apache Software Foundation +Copyright (c) 2010-2017 Oracle and/or its affiliates. All rights reserved. -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. +License Text (http://www.spdx.org/licenses/CDDL-1.1.html) +Made available under the Common Development and Distribution License 1.1. See Appendix for full text. -Source materials are available for download at: https://mvnrepository.com/artifact/commons-logging/commons-logging/1.1.3 -Apache Commons Modeler 2.0.1 +Source materials are available for download at: https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api +Java™ Architecture for XML Binding (JAXB) 2.3.2 Attribution Statements -http://commons.apache.org/dormant/commons-modeler/ +https://javaee.github.io/jaxb-v2/ Copyright Statements -© 2002-2008 The Apache Software Foundation +Copyright (c) 1997-2017 Oracle and/or its affiliates. All rights reserved. -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. +License Text (http://www.spdx.org/licenses/CDDL-1.1.html) +Made available under the Common Development and Distribution License 1.1. See Appendix for full text. + +Source materials are available for download at: https://github.com/javaee/jaxb-v2 -Source materials are available for download at: http://commons.apache.org/dormant/commons-modeler/downloads.html -Apache Commons Text™ 1.1 +JDOM 2.0.6 Attribution Statements -http://commons.apache.org/proper/commons-text/ +http://www.jdom.org -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). +This product includes software developed by the JDOM Project (http://www.jdom.org/). Copyright Statements -Copyright 2001-2018 The Apache Software Foundation +Copyright (C) 2000-2012 Jason Hunter & Brett McLaughlin. All rights reserved. -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache Licnese 2.0. See Appendix for full text. +License Text (https://github.com/hunterhacker/jdom/blob/master/LICENSE.txt) +Copyright (C) 2000-2012 Jason Hunter & Brett McLaughlin. + All rights reserved. -Source materials are available for download at: https://github.com/apache/commons-text -Apache HTrace 3.2.0 -Attribution Statements -http://incubator.apache.org/projects/htrace.html + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: -The HTrace Owl logo is from http://www.clker.com/clipart-13653.html. It is -public domain. + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer. -D3 v3.4.11, a javascript library for manipulating data, used by htrace-hbase -is available under the BSD License: + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the disclaimer that follows + these conditions in the documentation and/or other materials + provided with the distribution. - Copyright (c) 2010-2014, Michael Bostock - All rights reserved. + 3. The name "JDOM" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact . - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: + 4. Products derived from this software may not be called "JDOM", nor + may "JDOM" appear in their name, without prior written permission + from the JDOM Project Management . - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. + In addition, we request (but do not require) that you include in the + end-user documentation provided with the redistribution and/or in the + software itself an acknowledgement equivalent to the following: + "This product includes software developed by the + JDOM Project (http://www.jdom.org/)." + Alternatively, the acknowledgment may be graphical using the logos + available at http://www.jdom.org/images/logos. - * 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. + 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 JDOM AUTHORS OR THE PROJECT + 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. - * The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. + This software consists of voluntary contributions made by many + individuals on behalf of the JDOM Project and was originally + created by Jason Hunter and + Brett McLaughlin . For more information + on the JDOM Project, please see . - 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 MICHAEL BOSTOCK 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. +Source materials are available for download at: https://github.com/hunterhacker/jdom/ +Jersey 1.19.3 +Attribution Statements +https://jersey.java.net/ -The following libraries are all available under these terms of the MIT license +%% The following software may be included in this product: ASM + Use of any of this software is governed by the terms of the license below: - 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: +Copyright (c) 2000-2005 INRIA, France Telecom +All rights reserved. - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: - 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. - -Bootstrap v3.3.1, an html, css, and javascript framework. -Copyright (c) 2011-2014 Twitter, Inc. - -underscore 1.7.0, a javascript library of functional programming helpers. -Copyright (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative -Reporters & Editors - -jquery 2.1.4, a javascript library. -Copyright 2014 jQuery Foundation and other contributors, https://jquery.org/ - -backbone 1.1.2, a javascript library. -Copyright (c) 2010-2014 Jeremy Ashkenas, DocumentCloud. - -moment.js 2.10.3, a front end time conversion project. -Copyright (c) 2011-2015 Tim Wood, Iskren Chernev, Moment.js contributors. - -CMP v10 is an implementation of the MessagePack serialization format in C. -Copyright (c) 2014 Charles Gunyon - -Copyright Statements -Copyright (C) The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://git-wip-us.apache.org/repos/asf?p=incubator-htrace.git -Apache HTrace 4.1.0 -Attribution Statements -http://incubator.apache.org/projects/htrace.html - -The HTrace Owl logo is from http://www.clker.com/clipart-13653.html. It is -public domain. - -D3 v3.4.11, a javascript library for manipulating data, used by htrace-hbase -is available under the BSD License: - - Copyright (c) 2010-2014, Michael Bostock - All rights reserved. - - 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. - - * The name Michael Bostock may not 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 MICHAEL BOSTOCK 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. - -The following libraries are all available under these terms of the MIT license - - 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. - -Bootstrap v3.3.1, an html, css, and javascript framework. -Copyright (c) 2011-2014 Twitter, Inc. - -underscore 1.7.0, a javascript library of functional programming helpers. -Copyright (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative -Reporters & Editors - -jquery 2.1.4, a javascript library. -Copyright 2014 jQuery Foundation and other contributors, https://jquery.org/ - -backbone 1.1.2, a javascript library. -Copyright (c) 2010-2014 Jeremy Ashkenas, DocumentCloud. - -moment.js 2.10.3, a front end time conversion project. -Copyright (c) 2011-2015 Tim Wood, Iskren Chernev, Moment.js contributors. - -CMP v10 is an implementation of the MessagePack serialization format in C. -Copyright (c) 2014 Charles Gunyon - -Copyright Statements -Copyright (C) 2016, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://git-wip-us.apache.org/repos/asf?p=incubator-htrace.git -Apache HttpComponents™ HttpClient 4.2.3 -Attribution Statements -http://hc.apache.org/httpcomponents-client - -Copyright Statements -Copyright (C) The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://hc.apache.org/httpcomponents-client -Apache HttpComponents™ HttpClient 4.3.5 -Attribution Statements -https://hc.apache.org/httpcomponents-client-ga/index.html - -Apache HttpComponents HttpClient may include the following software under license: -Apache Commons Codec (Apache-2.0) - Copyright 2002-2016 The Apache Software Foundation -Apache Commons Logging (Apache-2.0) - Copyright 2003-2016 The Apache Software Foundation -Apache HttpComponents HttpCore (Apache-2.0) - Copyright 1999-2018 The Apache Software Foundation -JUnit (EPL-2.0) - Copyright 2015-2019 the original author or authors. -Mockito (MIT) - Copyright (c) 2007 Mockito contributors - -Copyright Statements -Copyright (C) 2017, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/httpcomponents-client -Apache HttpComponents™ HttpClient 4.5.13 -Attribution Statements -http://hc.apache.org/httpcomponents-client - -Copyright Statements -Copyright (C) 2021, The Apache Software Foundation - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/httpcomponents-client -Apache HttpComponents™ HttpClient 4.5.3 -Attribution Statements -https://hc.apache.org/httpcomponents-client-ga/index.html - -Apache HttpComponents HttpClient may include the following software under license: -Apache Commons Codec (Apache-2.0) - Copyright 2002-2016 The Apache Software Foundation -Apache Commons Logging (Apache-2.0) - Copyright 2003-2016 The Apache Software Foundation -Apache HttpComponents HttpCore (Apache-2.0) - Copyright 1999-2018 The Apache Software Foundation -JUnit (EPL-2.0) - Copyright 2015-2019 the original author or authors. -Mockito (MIT) - Copyright (c) 2007 Mockito contributors - -Copyright Statements -Copyright (C) 2017, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/httpcomponents-client -Apache Jena ARQ 2.13.0 -Attribution Statements -http://jena.apache.org/ - -Portions of this software were originally based on the following: - - Copyright 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP - - Copyright 2010, 2011 Epimorphics Ltd. - - Copyright 2010 Talis Systems Ltd. -These have been licensed to the Apache Software Foundation under a software grant. - -Apache Jena ARQ depends on JSONLD Java -https://github.com/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. -Made available under the BSD 3-clause "New" or "Revised" License. -https://spdx.org/licenses/BSD-3-Clause.html - -Copyright Statements -Copyright 2011-2017 The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/jena/tree/master/jena-arq -Apache Jena Core 2.13.0 -Attribution Statements -http://jena.apache.org/ - -Portions of this software were originally based on the following: - - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP - - Copyright 2010, 2011 Epimorphics Ltd. - - Copyright 2010, 2011 Talis Systems Ltd. -These have been licensed to the Apache Software Foundation under a software grant. - -This product includes software developed by -PluggedIn Software under a BSD license. - -The following files contain code contributed by Plugged In Software: - -src/main/java/org/apache/jena/rdfxml/xmlinput/ExtendedHandler.java -src/main/java/org/apache/jena/rdfxml/xmlinput/XMLHandler.java -src/main/java/org/apache/jena/rdfxml/xmlinput/ARP.java - - (c) Copyright 2003, Plugged In Software - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not 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. - -Copyright Statements -Copyright 2011-2017 The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/jena/tree/master/jena-core -Apache Jena IRI 1.1.2 -Attribution Statements -http://jena.apache.org/ - -Portions of this software were originally based on the following: - - Copyright 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP - - Copyright 2010, 2011 Epimorphics Ltd. - - Copyright 2010, 2011 Talis Systems Ltd. -These have been licensed to the Apache Software Foundation under a software grant. - -Copyright Statements -Copyright 2011-2017 The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/jena/tree/master/jena-iri -Apache Log4j 2™ 2.11 -Attribution Statements -https://logging.apache.org/log4j/2.x/ - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -ResolverUtil.java -Copyright 2005-2006 Tim Fennell - -Dumbster SMTP test server -Copyright 2004 Jason Paul Kitchen - -TypeUtil.java -Copyright 2002-2012 Ramnivas Laddad, Juergen Hoeller, Chris Beams - -picocli (http://picocli.info) -Copyright 2017 Remko Popma - -Copyright Statements -Copyright (C) 2018, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/logging-log4j2 -Apache Log4j 2™ 2.17.0 -Attribution Statements -https://logging.apache.org/log4j/2.x/ - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -ResolverUtil.java -Copyright 2005-2006 Tim Fennell - -Dumbster SMTP test server -Copyright 2004 Jason Paul Kitchen - -TypeUtil.java -Copyright 2002-2012 Ramnivas Laddad, Juergen Hoeller, Chris Beams - -picocli (http://picocli.info) -Copyright 2017 Remko Popma - -Copyright Statements -Copyright (C) 2021, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/logging-log4j2 -Apache Log4j 2™ 2.17.1 -Attribution Statements -https://logging.apache.org/log4j/2.x/ - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -ResolverUtil.java -Copyright 2005-2006 Tim Fennell - -Dumbster SMTP test server -Copyright 2004 Jason Paul Kitchen - -TypeUtil.java -Copyright 2002-2012 Ramnivas Laddad, Juergen Hoeller, Chris Beams - -picocli (http://picocli.info) -Copyright 2017 Remko Popma - -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/logging-log4j2 -Apache Thrift™ 0.14.0 -Attribution Statements -http://thrift.apache.org - -Copyright Statements -Copyright (C) 2021, The Apache Software Foundation, Apache Thrift Developers - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://thrift.apache.org/download -Apache XML Commons APIs (xml-apis) 1.4.01 -Attribution Statements -http://xml.apache.org/commons/components/external/ - - Portions of this software were originally based on the following: - - software copyright (c) 1999, IBM Corporation., http://www.ibm.com. - - software copyright (c) 1999, Sun Microsystems., http://www.sun.com. - - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org - -Copyright Statements -Copyright 2001-2003,2006 The Apache Software Foundation. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://svn.apache.org/viewvc/xml/commons/ -Apache ZooKeeper™ 3.4.5 -Attribution Statements -http://zookeeper.apache.org/releases.html - -Copyright Statements -Copyright © 2008 The Apache Software Foundation. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://maven.ibiblio.org/maven2/org/apache/zookeeper/zookeeper -Apache™ Hadoop® 2.7.2 -Attribution Statements -http://hadoop.apache.org/ - -This product bundles various third-party components under other open source -licenses. This section summarizes those components and their licenses. -See licenses/ for text of these licenses. - - -Apache Software Foundation License 2.0 --------------------------------------- - -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/nvd3-1.8.5.* (css and js files) -hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/AbstractFuture.java -hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/TimeoutFuture.java - - -BSD 2-Clause ------------- - -hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/{lz4.h,lz4.c,lz4hc.h,lz4hc.c} -hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/util/tree.h -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/compat/{fstatat|openat|unlinkat}.h - - -BSD 3-Clause ------------- - -hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/bloom/* -hadoop-common-project/hadoop-common/src/main/native/gtest/gtest-all.cc -hadoop-common-project/hadoop-common/src/main/native/gtest/include/gtest/gtest.h -hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/util/bulk_crc32_x86.c -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3.v3.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/d3-3.5.17.min.js - - -MIT License ------------ - -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-1.6.4.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-nvd3-1.0.9.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-route-1.6.4.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/bootstrap-3.4.1 -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dataTables.bootstrap.css -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dataTables.bootstrap.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dust-full-2.0.0.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dust-helpers-1.1.1.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery-3.5.1.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery.dataTables.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/moment.min.js -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/bootstrap.min.js -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/jquery.js -hadoop-tools/hadoop-sls/src/main/html/css/bootstrap.min.css -hadoop-tools/hadoop-sls/src/main/html/css/bootstrap-responsive.min.css -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/dt-1.10.18/* -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jquery -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jt/jquery.jstree.js -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/TERMINAL - -======= -For hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/cJSON.[ch]: - -Copyright (c) 2009-2017 Dave Gamble and cJSON contributors - -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. - -// ------------------------------------------------------------------ -// NOTICE file corresponding to the section 4d of The Apache License, -// Version 2.0, in this case for -// ------------------------------------------------------------------ - - -Apache Yetus -Copyright 2008-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - ---- -Additional licenses for the Apache Yetus Source/Website: ---- - - -See LICENSE for terms. - - - -Apache Avro -Copyright 2010 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -C JSON parsing provided by Jansson and -written by Petri Lehtinen. The original software is -available from http://www.digip.org/jansson/. - - -AWS SDK for Java -Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -This product includes software developed by -Amazon Technologies, Inc (http://www.amazon.com/). - -********************** -THIRD PARTY COMPONENTS -********************** -This software includes third party software subject to the following copyrights: -- XML parsing and utility functions from JetS3t - Copyright 2006-2009 James Murty. -- PKCS#1 PEM encoded private key parsing and utility functions from oauth.googlecode.com - Copyright 1998-2010 AOL Inc. - -The licenses for these third party components are included in LICENSE.txt - - -Apache Commons BeanUtils -Copyright 2000-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons CLI -Copyright 2001-2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Codec -Copyright 2002-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java -contains test data from http://aspell.net/test/orig/batch0.tab. -Copyright (C) 2002 Kevin Atkinson (kevina@gnu.org) - -=============================================================================== - -The content of package org.apache.commons.codec.language.bm has been translated -from the original php source code available at http://stevemorse.org/phoneticinfo.htm -with permission from the original authors. -Original source copyright: -Copyright (c) 2008 Alexander Beider & Stephen P. Morse. - - -Apache Commons Collections -Copyright 2001-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Compress -Copyright 2002-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (https://www.apache.org/). - -The files in the package org.apache.commons.compress.archivers.sevenz -were derived from the LZMA SDK, version 9.20 (C/ and CPP/7zip/), -which has been placed in the public domain: - -"LZMA SDK is placed in the public domain." (http://www.7-zip.org/sdk.html) - - -Apache Commons Configuration -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons CSV -Copyright 2005-2014 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -src/main/resources/contract.txt -This file was downloaded from http://www.ferc.gov/docs-filing/eqr/soft-tools/sample-csv/contract.txt and contains neither copyright notice nor license. - -src/main/resources/transaction.txt -This file was downloaded from http://www.ferc.gov/docs-filing/eqr/soft-tools/sample-csv/transaction.txt and contains neither copyright notice nor license. - -src/test/resources/CSVFileParser/bom.csv -src/test/resources/CSVFileParser/test.csv -src/test/resources/CSVFileParser/test_default.txt -src/test/resources/CSVFileParser/test_default_comment.txt -src/test/resources/CSVFileParser/test_rfc4180.txt -src/test/resources/CSVFileParser/test_rfc4180_trim.txt -src/test/resources/CSVFileParser/testCSV85.csv -src/test/resources/CSVFileParser/testCSV85_default.txt -src/test/resources/CSVFileParser/testCSV85_ignoreEmpty.txt -These files are used as test data and test result specifications. - - -Apache Commons Daemon -Copyright 1999-2013 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Digester -Copyright 2001-2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons IO -Copyright 2002-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Lang -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes software from the Spring Framework, -under the Apache License 2.0 (see: StringUtils.containsWhitespace()) - - -Apache Commons Logging -Copyright 2003-2013 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Math -Copyright 2001-2012 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -=============================================================================== - -The BracketFinder (package org.apache.commons.math3.optimization.univariate) -and PowellOptimizer (package org.apache.commons.math3.optimization.general) -classes are based on the Python code in module "optimize.py" (version 0.5) -developed by Travis E. Oliphant for the SciPy library (http://www.scipy.org/) -Copyright © 2003-2009 SciPy Developers. -=============================================================================== - -The LinearConstraint, LinearObjectiveFunction, LinearOptimizer, -RelationShip, SimplexSolver and SimplexTableau classes in package -org.apache.commons.math3.optimization.linear include software developed by -Benjamin McCann (http://www.benmccann.com) and distributed with -the following copyright: Copyright 2009 Google Inc. -=============================================================================== - -This product includes software developed by the -University of Chicago, as Operator of Argonne National -Laboratory. -The LevenbergMarquardtOptimizer class in package -org.apache.commons.math3.optimization.general includes software -translated from the lmder, lmpar and qrsolv Fortran routines -from the Minpack package -Minpack Copyright Notice (1999) University of Chicago. All rights reserved -=============================================================================== - -The GraggBulirschStoerIntegrator class in package -org.apache.commons.math3.ode.nonstiff includes software translated -from the odex Fortran routine developed by E. Hairer and G. Wanner. -Original source copyright: -Copyright (c) 2004, Ernst Hairer -=============================================================================== - -The EigenDecompositionImpl class in package -org.apache.commons.math3.linear includes software translated -from some LAPACK Fortran routines. Original source copyright: -Copyright (c) 1992-2008 The University of Tennessee. All rights reserved. -=============================================================================== - -The MersenneTwister class in package org.apache.commons.math3.random -includes software translated from the 2002-01-26 version of -the Mersenne-Twister generator written in C by Makoto Matsumoto and Takuji -Nishimura. Original source copyright: -Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, -All rights reserved -=============================================================================== - -The LocalizedFormatsTest class in the unit tests is an adapted version of -the OrekitMessagesTest class from the orekit library distributed under the -terms of the Apache 2 licence. Original source copyright: -Copyright 2010 CS Systèmes d'Information -=============================================================================== - -The HermiteInterpolator class and its corresponding test have been imported from -the orekit library distributed under the terms of the Apache 2 licence. Original -source copyright: -Copyright 2010-2012 CS Systèmes d'Information -=============================================================================== - -The creation of the package "o.a.c.m.analysis.integration.gauss" was inspired -by an original code donated by Sébastien Brisard. -=============================================================================== - - -The complete text of licenses and disclaimers associated with the the original -sources enumerated above at the time of code translation are in the LICENSE.txt -file. - - -Apache Commons Net -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Text -Copyright 2014-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Validator -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Curator -Copyright 2013-2014 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Ehcache V3 -Copyright 2014-2016 Terracotta, Inc. - -The product includes software from the Apache Commons Lang project, -under the Apache License 2.0 (see: org.ehcache.impl.internal.classes.commonslang) - - -Apache Geronimo -Copyright 2003-2018 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Copyright 2014 The gRPC Authors - -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. - ------------------------------------------------------------------------ - -This product contains a modified portion of 'OkHttp', an open source -HTTP & SPDY client for Android and Java applications, which can be obtained -at: - - * LICENSE: - * okhttp/third_party/okhttp/LICENSE (Apache License 2.0) - * HOMEPAGE: - * https://github.com/square/okhttp - * LOCATION_IN_GRPC: - * okhttp/third_party/okhttp - -This product contains a modified portion of 'Netty', an open source -networking library, which can be obtained at: - - * LICENSE: - * netty/third_party/netty/LICENSE.txt (Apache License 2.0) - * HOMEPAGE: - * https://netty.io - * LOCATION_IN_GRPC: - * netty/third_party/netty - - -Apache HBase -Copyright 2007-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - --- -This product incorporates portions of the 'Hadoop' project - -Copyright 2007-2009 The Apache Software Foundation - -Licensed under the Apache License v2.0 --- -Our Orca logo we got here: http://www.vectorfree.com/jumping-orca -It is licensed Creative Commons Attribution 3.0. -See https://creativecommons.org/licenses/by/3.0/us/ -We changed the logo by stripping the colored background, inverting -it and then rotating it some. - -Later we found that vectorfree.com image is not properly licensed. -The original is owned by vectorportal.com. The original was -relicensed so we could use it as Creative Commons Attribution 3.0. -The license is bundled with the download available here: -http://www.vectorportal.com/subcategory/205/KILLER-WHALE-FREE-VECTOR.eps/ifile/9136/detailtest.asp --- -This product includes portions of the Bootstrap project v3.0.0 - -Copyright 2013 Twitter, Inc. - -Licensed under the Apache License v2.0 - -This product uses the Glyphicons Halflings icon set. - -http://glyphicons.com/ - -Copyright Jan Kova?ík - -Licensed under the Apache License v2.0 as a part of the Bootstrap project. - --- -This product includes portions of the Guava project v14 and v21, specifically -'hbase-common/src/main/java/org/apache/hadoop/hbase/io/LimitInputStream.java' -'hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java' - -Copyright (C) 2007 The Guava Authors - -Licensed under the Apache License, Version 2.0 - - -Apache HTrace -Copyright 2016 The Apache Software Foundation - -This product includes software developed at The Apache Software -Foundation (http://www.apache.org/). - -In addition, this product includes software dependencies. See -the accompanying LICENSE.txt for a listing of dependencies -that are NOT Apache licensed (with pointers to their licensing) - -Apache HTrace includes an Apache Thrift connector to Zipkin. Zipkin -is a distributed tracing system that is Apache 2.0 Licensed. -Copyright 2012 Twitter, Inc. - - -Apache HttpComponents Client -Copyright 1999-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache HttpComponents Core -Copyright 2005-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -============================================================== - Jetty Web Container - Copyright 1995-2017 Mort Bay Consulting Pty Ltd. -============================================================== - -The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd -unless otherwise noted. - -Jetty is dual licensed under both - - * The Apache 2.0 License - http://www.apache.org/licenses/LICENSE-2.0.html - - and - - * The Eclipse Public 1.0 License - http://www.eclipse.org/legal/epl-v10.html - -Jetty may be distributed under either license. - ------- -Eclipse - -The following artifacts are EPL. - * org.eclipse.jetty.orbit:org.eclipse.jdt.core - -The following artifacts are EPL and ASL2. - * org.eclipse.jetty.orbit:javax.security.auth.message - - -The following artifacts are EPL and CDDL 1.0. - * org.eclipse.jetty.orbit:javax.mail.glassfish - - ------- -Oracle - -The following artifacts are CDDL + GPLv2 with classpath exception. -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html - - * javax.servlet:javax.servlet-api - * javax.annotation:javax.annotation-api - * javax.transaction:javax.transaction-api - * javax.websocket:javax.websocket-api - ------- -Oracle OpenJDK - -If ALPN is used to negotiate HTTP/2 connections, then the following -artifacts may be included in the distribution or downloaded when ALPN -module is selected. - - * java.sun.security.ssl - -These artifacts replace/modify OpenJDK classes. The modififications -are hosted at github and both modified and original are under GPL v2 with -classpath exceptions. -http://openjdk.java.net/legal/gplv2+ce.html - - ------- -OW2 - -The following artifacts are licensed by the OW2 Foundation according to the -terms of http://asm.ow2.org/license.html - -org.ow2.asm:asm-commons -org.ow2.asm:asm - - ------- -Apache - -The following artifacts are ASL2 licensed. - -org.apache.taglibs:taglibs-standard-spec -org.apache.taglibs:taglibs-standard-impl - - ------- -MortBay - -The following artifacts are ASL2 licensed. Based on selected classes from -following Apache Tomcat jars, all ASL2 licensed. - -org.mortbay.jasper:apache-jsp - org.apache.tomcat:tomcat-jasper - org.apache.tomcat:tomcat-juli - org.apache.tomcat:tomcat-jsp-api - org.apache.tomcat:tomcat-el-api - org.apache.tomcat:tomcat-jasper-el - org.apache.tomcat:tomcat-api - org.apache.tomcat:tomcat-util-scan - org.apache.tomcat:tomcat-util - -org.mortbay.jasper:apache-el - org.apache.tomcat:tomcat-jasper-el - org.apache.tomcat:tomcat-el-api - - ------- -Mortbay - -The following artifacts are CDDL + GPLv2 with classpath exception. - -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html - -org.eclipse.jetty.toolchain:jetty-schemas - ------- -Assorted - -The UnixCrypt.java code implements the one way cryptography used by -Unix systems for simple password protection. Copyright 1996 Aki Yoshida, -modified April 2001 by Iris Van den Broeke, Daniel Deville. -Permission to use, copy, modify and distribute UnixCrypt -for non-commercial or commercial purposes and without fee is -granted provided that the copyright notice appears in all copies. - - -Apache Kafka -Copyright 2012 The Apache Software Foundation. - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Kerby -Copyright 2015-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache log4j -Copyright 2010 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Metrics -Copyright 2010-2013 Coda Hale and Yammer, Inc. - -This product includes software developed by Coda Hale and Yammer, Inc. - -This product includes code derived from the JSR-166 project (ThreadLocalRandom, Striped64, -LongAdder), which was released with the following comments: - - Written by Doug Lea with assistance from members of JCP JSR-166 - Expert Group and released to the public domain, as explained at - http://creativecommons.org/publicdomain/zero/1.0/ - - - - The Netty Project - ================= - -Please visit the Netty web site for more information: - - * http://netty.io/ - -Copyright 2014 The Netty Project - -The Netty Project licenses this file to you 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. - -Also, please refer to each LICENSE..txt file, which is located in -the 'license' directory of the distribution file, for the license terms of the -components that this product depends on. - -------------------------------------------------------------------------------- -This product contains the extensions to Java Collections Framework which has -been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: - - * LICENSE: - * license/LICENSE.jsr166y.txt (Public Domain) - * HOMEPAGE: - * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/ - * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/ - -This product contains a modified version of Robert Harder's Public Domain -Base64 Encoder and Decoder, which can be obtained at: - - * LICENSE: - * license/LICENSE.base64.txt (Public Domain) - * HOMEPAGE: - * http://iharder.sourceforge.net/current/java/base64/ - -This product contains a modified portion of 'Webbit', an event based -WebSocket and HTTP server, which can be obtained at: - - * LICENSE: - * license/LICENSE.webbit.txt (BSD License) - * HOMEPAGE: - * https://github.com/joewalnes/webbit - -This product contains a modified portion of 'SLF4J', a simple logging -facade for Java, which can be obtained at: - - * LICENSE: - * license/LICENSE.slf4j.txt (MIT License) - * HOMEPAGE: - * http://www.slf4j.org/ - -This product contains a modified portion of 'Apache Harmony', an open source -Java SE, which can be obtained at: - - * NOTICE: - * license/NOTICE.harmony.txt - * LICENSE: - * license/LICENSE.harmony.txt (Apache License 2.0) - * HOMEPAGE: - * http://archive.apache.org/dist/harmony/ - -This product contains a modified portion of 'jbzip2', a Java bzip2 compression -and decompression library written by Matthew J. Francis. It can be obtained at: - - * LICENSE: - * license/LICENSE.jbzip2.txt (MIT License) - * HOMEPAGE: - * https://code.google.com/p/jbzip2/ - -This product contains a modified portion of 'libdivsufsort', a C API library to construct -the suffix array and the Burrows-Wheeler transformed string for any input string of -a constant-size alphabet written by Yuta Mori. It can be obtained at: - - * LICENSE: - * license/LICENSE.libdivsufsort.txt (MIT License) - * HOMEPAGE: - * https://github.com/y-256/libdivsufsort - -This product contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM, - which can be obtained at: - - * LICENSE: - * license/LICENSE.jctools.txt (ASL2 License) - * HOMEPAGE: - * https://github.com/JCTools/JCTools - -This product optionally depends on 'JZlib', a re-implementation of zlib in -pure Java, which can be obtained at: - - * LICENSE: - * license/LICENSE.jzlib.txt (BSD style License) - * HOMEPAGE: - * http://www.jcraft.com/jzlib/ - -This product optionally depends on 'Compress-LZF', a Java library for encoding and -decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: - - * LICENSE: - * license/LICENSE.compress-lzf.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/ning/compress - -This product optionally depends on 'lz4', a LZ4 Java compression -and decompression library written by Adrien Grand. It can be obtained at: - - * LICENSE: - * license/LICENSE.lz4.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jpountz/lz4-java - -This product optionally depends on 'lzma-java', a LZMA Java compression -and decompression library, which can be obtained at: - - * LICENSE: - * license/LICENSE.lzma-java.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jponge/lzma-java - -This product contains a modified portion of 'jfastlz', a Java port of FastLZ compression -and decompression library written by William Kinney. It can be obtained at: - - * LICENSE: - * license/LICENSE.jfastlz.txt (MIT License) - * HOMEPAGE: - * https://code.google.com/p/jfastlz/ - -This product contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data -interchange format, which can be obtained at: - - * LICENSE: - * license/LICENSE.protobuf.txt (New BSD License) - * HOMEPAGE: - * https://github.com/google/protobuf - -This product optionally depends on 'Bouncy Castle Crypto APIs' to generate -a temporary self-signed X.509 certificate when the JVM does not provide the -equivalent functionality. It can be obtained at: - - * LICENSE: - * license/LICENSE.bouncycastle.txt (MIT License) - * HOMEPAGE: - * http://www.bouncycastle.org/ - -This product optionally depends on 'Snappy', a compression library produced -by Google Inc, which can be obtained at: - - * LICENSE: - * license/LICENSE.snappy.txt (New BSD License) - * HOMEPAGE: - * https://github.com/google/snappy - -This product optionally depends on 'JBoss Marshalling', an alternative Java -serialization API, which can be obtained at: - - * LICENSE: - * license/LICENSE.jboss-marshalling.txt (GNU LGPL 2.1) - * HOMEPAGE: - * http://www.jboss.org/jbossmarshalling - -This product optionally depends on 'Caliper', Google's micro- -benchmarking framework, which can be obtained at: - - * LICENSE: - * license/LICENSE.caliper.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/google/caliper - -This product optionally depends on 'Apache Commons Logging', a logging -framework, which can be obtained at: - - * LICENSE: - * license/LICENSE.commons-logging.txt (Apache License 2.0) - * HOMEPAGE: - * http://commons.apache.org/logging/ - -This product optionally depends on 'Apache Log4J', a logging framework, which -can be obtained at: - - * LICENSE: - * license/LICENSE.log4j.txt (Apache License 2.0) - * HOMEPAGE: - * http://logging.apache.org/log4j/ - -This product optionally depends on 'Aalto XML', an ultra-high performance -non-blocking XML processor, which can be obtained at: - - * LICENSE: - * license/LICENSE.aalto-xml.txt (Apache License 2.0) - * HOMEPAGE: - * http://wiki.fasterxml.com/AaltoHome - -This product contains a modified version of 'HPACK', a Java implementation of -the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: - - * LICENSE: - * license/LICENSE.hpack.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/twitter/hpack - -This product contains a modified portion of 'Apache Commons Lang', a Java library -provides utilities for the java.lang API, which can be obtained at: - - * LICENSE: - * license/LICENSE.commons-lang.txt (Apache License 2.0) - * HOMEPAGE: - * https://commons.apache.org/proper/commons-lang/ - - -This product contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build. - - * LICENSE: - * license/LICENSE.mvn-wrapper.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/takari/maven-wrapper - - -This product includes software developed by Google - Snappy: http://code.google.com/p/snappy/ (New BSD License) - -This product includes software developed by Apache - PureJavaCrc32C from apache-hadoop-common http://hadoop.apache.org/ - (Apache 2.0 license) - -This library containd statically linked libstdc++. This inclusion is allowed by -"GCC RUntime Library Exception" -http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html - -== Contributors == - * Tatu Saloranta - * Providing benchmark suite - * Alec Wysoker - * Performance and memory usage improvement - - -Apache ZooKeeper -Copyright 2009-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -Copyright Statements -Copyright (C) 2016, The Apache Software Foundation - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/apache/hadoop -Apache™ Hadoop® 3.3.0 -Attribution Statements -http://hadoop.apache.org/ - -This product bundles various third-party components under other open source -licenses. This section summarizes those components and their licenses. -See licenses/ for text of these licenses. - - -Apache Software Foundation License 2.0 --------------------------------------- - -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/nvd3-1.8.5.* (css and js files) -hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/AbstractFuture.java -hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/TimeoutFuture.java - - -BSD 2-Clause ------------- - -hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/{lz4.h,lz4.c,lz4hc.h,lz4hc.c} -hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/util/tree.h -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/compat/{fstatat|openat|unlinkat}.h - - -BSD 3-Clause ------------- - -hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/bloom/* -hadoop-common-project/hadoop-common/src/main/native/gtest/gtest-all.cc -hadoop-common-project/hadoop-common/src/main/native/gtest/include/gtest/gtest.h -hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/util/bulk_crc32_x86.c -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3.v3.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/d3-3.5.17.min.js - - -MIT License ------------ - -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-1.6.4.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-nvd3-1.0.9.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-route-1.6.4.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/bootstrap-3.4.1 -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dataTables.bootstrap.css -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dataTables.bootstrap.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dust-full-2.0.0.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dust-helpers-1.1.1.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery-3.5.1.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery.dataTables.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/moment.min.js -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/bootstrap.min.js -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/jquery.js -hadoop-tools/hadoop-sls/src/main/html/css/bootstrap.min.css -hadoop-tools/hadoop-sls/src/main/html/css/bootstrap-responsive.min.css -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/dt-1.10.18/* -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jquery -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jt/jquery.jstree.js -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/TERMINAL - -======= -For hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/cJSON.[ch]: - -Copyright (c) 2009-2017 Dave Gamble and cJSON contributors - -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. - -// ------------------------------------------------------------------ -// NOTICE file corresponding to the section 4d of The Apache License, -// Version 2.0, in this case for -// ------------------------------------------------------------------ - - -Apache Yetus -Copyright 2008-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - ---- -Additional licenses for the Apache Yetus Source/Website: ---- - - -See LICENSE for terms. - - - -Apache Avro -Copyright 2010 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -C JSON parsing provided by Jansson and -written by Petri Lehtinen. The original software is -available from http://www.digip.org/jansson/. - - -AWS SDK for Java -Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -This product includes software developed by -Amazon Technologies, Inc (http://www.amazon.com/). - -********************** -THIRD PARTY COMPONENTS -********************** -This software includes third party software subject to the following copyrights: -- XML parsing and utility functions from JetS3t - Copyright 2006-2009 James Murty. -- PKCS#1 PEM encoded private key parsing and utility functions from oauth.googlecode.com - Copyright 1998-2010 AOL Inc. - -The licenses for these third party components are included in LICENSE.txt - - -Apache Commons BeanUtils -Copyright 2000-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons CLI -Copyright 2001-2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Codec -Copyright 2002-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java -contains test data from http://aspell.net/test/orig/batch0.tab. -Copyright (C) 2002 Kevin Atkinson (kevina@gnu.org) - -=============================================================================== - -The content of package org.apache.commons.codec.language.bm has been translated -from the original php source code available at http://stevemorse.org/phoneticinfo.htm -with permission from the original authors. -Original source copyright: -Copyright (c) 2008 Alexander Beider & Stephen P. Morse. - - -Apache Commons Collections -Copyright 2001-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Compress -Copyright 2002-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (https://www.apache.org/). - -The files in the package org.apache.commons.compress.archivers.sevenz -were derived from the LZMA SDK, version 9.20 (C/ and CPP/7zip/), -which has been placed in the public domain: - -"LZMA SDK is placed in the public domain." (http://www.7-zip.org/sdk.html) - - -Apache Commons Configuration -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons CSV -Copyright 2005-2014 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -src/main/resources/contract.txt -This file was downloaded from http://www.ferc.gov/docs-filing/eqr/soft-tools/sample-csv/contract.txt and contains neither copyright notice nor license. - -src/main/resources/transaction.txt -This file was downloaded from http://www.ferc.gov/docs-filing/eqr/soft-tools/sample-csv/transaction.txt and contains neither copyright notice nor license. - -src/test/resources/CSVFileParser/bom.csv -src/test/resources/CSVFileParser/test.csv -src/test/resources/CSVFileParser/test_default.txt -src/test/resources/CSVFileParser/test_default_comment.txt -src/test/resources/CSVFileParser/test_rfc4180.txt -src/test/resources/CSVFileParser/test_rfc4180_trim.txt -src/test/resources/CSVFileParser/testCSV85.csv -src/test/resources/CSVFileParser/testCSV85_default.txt -src/test/resources/CSVFileParser/testCSV85_ignoreEmpty.txt -These files are used as test data and test result specifications. - - -Apache Commons Daemon -Copyright 1999-2013 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Digester -Copyright 2001-2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons IO -Copyright 2002-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Lang -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes software from the Spring Framework, -under the Apache License 2.0 (see: StringUtils.containsWhitespace()) - - -Apache Commons Logging -Copyright 2003-2013 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Math -Copyright 2001-2012 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -=============================================================================== - -The BracketFinder (package org.apache.commons.math3.optimization.univariate) -and PowellOptimizer (package org.apache.commons.math3.optimization.general) -classes are based on the Python code in module "optimize.py" (version 0.5) -developed by Travis E. Oliphant for the SciPy library (http://www.scipy.org/) -Copyright © 2003-2009 SciPy Developers. -=============================================================================== - -The LinearConstraint, LinearObjectiveFunction, LinearOptimizer, -RelationShip, SimplexSolver and SimplexTableau classes in package -org.apache.commons.math3.optimization.linear include software developed by -Benjamin McCann (http://www.benmccann.com) and distributed with -the following copyright: Copyright 2009 Google Inc. -=============================================================================== - -This product includes software developed by the -University of Chicago, as Operator of Argonne National -Laboratory. -The LevenbergMarquardtOptimizer class in package -org.apache.commons.math3.optimization.general includes software -translated from the lmder, lmpar and qrsolv Fortran routines -from the Minpack package -Minpack Copyright Notice (1999) University of Chicago. All rights reserved -=============================================================================== - -The GraggBulirschStoerIntegrator class in package -org.apache.commons.math3.ode.nonstiff includes software translated -from the odex Fortran routine developed by E. Hairer and G. Wanner. -Original source copyright: -Copyright (c) 2004, Ernst Hairer -=============================================================================== - -The EigenDecompositionImpl class in package -org.apache.commons.math3.linear includes software translated -from some LAPACK Fortran routines. Original source copyright: -Copyright (c) 1992-2008 The University of Tennessee. All rights reserved. -=============================================================================== - -The MersenneTwister class in package org.apache.commons.math3.random -includes software translated from the 2002-01-26 version of -the Mersenne-Twister generator written in C by Makoto Matsumoto and Takuji -Nishimura. Original source copyright: -Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, -All rights reserved -=============================================================================== - -The LocalizedFormatsTest class in the unit tests is an adapted version of -the OrekitMessagesTest class from the orekit library distributed under the -terms of the Apache 2 licence. Original source copyright: -Copyright 2010 CS Systèmes d'Information -=============================================================================== - -The HermiteInterpolator class and its corresponding test have been imported from -the orekit library distributed under the terms of the Apache 2 licence. Original -source copyright: -Copyright 2010-2012 CS Systèmes d'Information -=============================================================================== - -The creation of the package "o.a.c.m.analysis.integration.gauss" was inspired -by an original code donated by Sébastien Brisard. -=============================================================================== - - -The complete text of licenses and disclaimers associated with the the original -sources enumerated above at the time of code translation are in the LICENSE.txt -file. - - -Apache Commons Net -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Text -Copyright 2014-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons Validator -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Curator -Copyright 2013-2014 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Ehcache V3 -Copyright 2014-2016 Terracotta, Inc. - -The product includes software from the Apache Commons Lang project, -under the Apache License 2.0 (see: org.ehcache.impl.internal.classes.commonslang) - - -Apache Geronimo -Copyright 2003-2018 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - -Copyright 2014 The gRPC Authors - -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. - ------------------------------------------------------------------------ - -This product contains a modified portion of 'OkHttp', an open source -HTTP & SPDY client for Android and Java applications, which can be obtained -at: - - * LICENSE: - * okhttp/third_party/okhttp/LICENSE (Apache License 2.0) - * HOMEPAGE: - * https://github.com/square/okhttp - * LOCATION_IN_GRPC: - * okhttp/third_party/okhttp - -This product contains a modified portion of 'Netty', an open source -networking library, which can be obtained at: - - * LICENSE: - * netty/third_party/netty/LICENSE.txt (Apache License 2.0) - * HOMEPAGE: - * https://netty.io - * LOCATION_IN_GRPC: - * netty/third_party/netty - - -Apache HBase -Copyright 2007-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - --- -This product incorporates portions of the 'Hadoop' project - -Copyright 2007-2009 The Apache Software Foundation - -Licensed under the Apache License v2.0 --- -Our Orca logo we got here: http://www.vectorfree.com/jumping-orca -It is licensed Creative Commons Attribution 3.0. -See https://creativecommons.org/licenses/by/3.0/us/ -We changed the logo by stripping the colored background, inverting -it and then rotating it some. - -Later we found that vectorfree.com image is not properly licensed. -The original is owned by vectorportal.com. The original was -relicensed so we could use it as Creative Commons Attribution 3.0. -The license is bundled with the download available here: -http://www.vectorportal.com/subcategory/205/KILLER-WHALE-FREE-VECTOR.eps/ifile/9136/detailtest.asp --- -This product includes portions of the Bootstrap project v3.0.0 - -Copyright 2013 Twitter, Inc. - -Licensed under the Apache License v2.0 - -This product uses the Glyphicons Halflings icon set. - -http://glyphicons.com/ - -Copyright Jan Kova?ík - -Licensed under the Apache License v2.0 as a part of the Bootstrap project. - --- -This product includes portions of the Guava project v14 and v21, specifically -'hbase-common/src/main/java/org/apache/hadoop/hbase/io/LimitInputStream.java' -'hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java' - -Copyright (C) 2007 The Guava Authors - -Licensed under the Apache License, Version 2.0 - - -Apache HTrace -Copyright 2016 The Apache Software Foundation - -This product includes software developed at The Apache Software -Foundation (http://www.apache.org/). - -In addition, this product includes software dependencies. See -the accompanying LICENSE.txt for a listing of dependencies -that are NOT Apache licensed (with pointers to their licensing) - -Apache HTrace includes an Apache Thrift connector to Zipkin. Zipkin -is a distributed tracing system that is Apache 2.0 Licensed. -Copyright 2012 Twitter, Inc. - - -Apache HttpComponents Client -Copyright 1999-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache HttpComponents Core -Copyright 2005-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -============================================================== - Jetty Web Container - Copyright 1995-2017 Mort Bay Consulting Pty Ltd. -============================================================== - -The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd -unless otherwise noted. - -Jetty is dual licensed under both - - * The Apache 2.0 License - http://www.apache.org/licenses/LICENSE-2.0.html - - and - - * The Eclipse Public 1.0 License - http://www.eclipse.org/legal/epl-v10.html - -Jetty may be distributed under either license. - ------- -Eclipse - -The following artifacts are EPL. - * org.eclipse.jetty.orbit:org.eclipse.jdt.core - -The following artifacts are EPL and ASL2. - * org.eclipse.jetty.orbit:javax.security.auth.message - - -The following artifacts are EPL and CDDL 1.0. - * org.eclipse.jetty.orbit:javax.mail.glassfish - - ------- -Oracle - -The following artifacts are CDDL + GPLv2 with classpath exception. -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html - - * javax.servlet:javax.servlet-api - * javax.annotation:javax.annotation-api - * javax.transaction:javax.transaction-api - * javax.websocket:javax.websocket-api - ------- -Oracle OpenJDK - -If ALPN is used to negotiate HTTP/2 connections, then the following -artifacts may be included in the distribution or downloaded when ALPN -module is selected. - - * java.sun.security.ssl - -These artifacts replace/modify OpenJDK classes. The modififications -are hosted at github and both modified and original are under GPL v2 with -classpath exceptions. -http://openjdk.java.net/legal/gplv2+ce.html - - ------- -OW2 - -The following artifacts are licensed by the OW2 Foundation according to the -terms of http://asm.ow2.org/license.html - -org.ow2.asm:asm-commons -org.ow2.asm:asm - - ------- -Apache - -The following artifacts are ASL2 licensed. - -org.apache.taglibs:taglibs-standard-spec -org.apache.taglibs:taglibs-standard-impl - - ------- -MortBay - -The following artifacts are ASL2 licensed. Based on selected classes from -following Apache Tomcat jars, all ASL2 licensed. - -org.mortbay.jasper:apache-jsp - org.apache.tomcat:tomcat-jasper - org.apache.tomcat:tomcat-juli - org.apache.tomcat:tomcat-jsp-api - org.apache.tomcat:tomcat-el-api - org.apache.tomcat:tomcat-jasper-el - org.apache.tomcat:tomcat-api - org.apache.tomcat:tomcat-util-scan - org.apache.tomcat:tomcat-util - -org.mortbay.jasper:apache-el - org.apache.tomcat:tomcat-jasper-el - org.apache.tomcat:tomcat-el-api - - ------- -Mortbay - -The following artifacts are CDDL + GPLv2 with classpath exception. - -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html - -org.eclipse.jetty.toolchain:jetty-schemas - ------- -Assorted - -The UnixCrypt.java code implements the one way cryptography used by -Unix systems for simple password protection. Copyright 1996 Aki Yoshida, -modified April 2001 by Iris Van den Broeke, Daniel Deville. -Permission to use, copy, modify and distribute UnixCrypt -for non-commercial or commercial purposes and without fee is -granted provided that the copyright notice appears in all copies. - - -Apache Kafka -Copyright 2012 The Apache Software Foundation. - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Kerby -Copyright 2015-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache log4j -Copyright 2010 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Metrics -Copyright 2010-2013 Coda Hale and Yammer, Inc. - -This product includes software developed by Coda Hale and Yammer, Inc. - -This product includes code derived from the JSR-166 project (ThreadLocalRandom, Striped64, -LongAdder), which was released with the following comments: - - Written by Doug Lea with assistance from members of JCP JSR-166 - Expert Group and released to the public domain, as explained at - http://creativecommons.org/publicdomain/zero/1.0/ - - - - The Netty Project - ================= - -Please visit the Netty web site for more information: - - * http://netty.io/ - -Copyright 2014 The Netty Project - -The Netty Project licenses this file to you 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. - -Also, please refer to each LICENSE..txt file, which is located in -the 'license' directory of the distribution file, for the license terms of the -components that this product depends on. - -------------------------------------------------------------------------------- -This product contains the extensions to Java Collections Framework which has -been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: - - * LICENSE: - * license/LICENSE.jsr166y.txt (Public Domain) - * HOMEPAGE: - * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/ - * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/ - -This product contains a modified version of Robert Harder's Public Domain -Base64 Encoder and Decoder, which can be obtained at: - - * LICENSE: - * license/LICENSE.base64.txt (Public Domain) - * HOMEPAGE: - * http://iharder.sourceforge.net/current/java/base64/ - -This product contains a modified portion of 'Webbit', an event based -WebSocket and HTTP server, which can be obtained at: - - * LICENSE: - * license/LICENSE.webbit.txt (BSD License) - * HOMEPAGE: - * https://github.com/joewalnes/webbit - -This product contains a modified portion of 'SLF4J', a simple logging -facade for Java, which can be obtained at: - - * LICENSE: - * license/LICENSE.slf4j.txt (MIT License) - * HOMEPAGE: - * http://www.slf4j.org/ - -This product contains a modified portion of 'Apache Harmony', an open source -Java SE, which can be obtained at: - - * NOTICE: - * license/NOTICE.harmony.txt - * LICENSE: - * license/LICENSE.harmony.txt (Apache License 2.0) - * HOMEPAGE: - * http://archive.apache.org/dist/harmony/ - -This product contains a modified portion of 'jbzip2', a Java bzip2 compression -and decompression library written by Matthew J. Francis. It can be obtained at: - - * LICENSE: - * license/LICENSE.jbzip2.txt (MIT License) - * HOMEPAGE: - * https://code.google.com/p/jbzip2/ - -This product contains a modified portion of 'libdivsufsort', a C API library to construct -the suffix array and the Burrows-Wheeler transformed string for any input string of -a constant-size alphabet written by Yuta Mori. It can be obtained at: - - * LICENSE: - * license/LICENSE.libdivsufsort.txt (MIT License) - * HOMEPAGE: - * https://github.com/y-256/libdivsufsort - -This product contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM, - which can be obtained at: - - * LICENSE: - * license/LICENSE.jctools.txt (ASL2 License) - * HOMEPAGE: - * https://github.com/JCTools/JCTools - -This product optionally depends on 'JZlib', a re-implementation of zlib in -pure Java, which can be obtained at: - - * LICENSE: - * license/LICENSE.jzlib.txt (BSD style License) - * HOMEPAGE: - * http://www.jcraft.com/jzlib/ - -This product optionally depends on 'Compress-LZF', a Java library for encoding and -decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: - - * LICENSE: - * license/LICENSE.compress-lzf.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/ning/compress - -This product optionally depends on 'lz4', a LZ4 Java compression -and decompression library written by Adrien Grand. It can be obtained at: - - * LICENSE: - * license/LICENSE.lz4.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jpountz/lz4-java - -This product optionally depends on 'lzma-java', a LZMA Java compression -and decompression library, which can be obtained at: - - * LICENSE: - * license/LICENSE.lzma-java.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jponge/lzma-java - -This product contains a modified portion of 'jfastlz', a Java port of FastLZ compression -and decompression library written by William Kinney. It can be obtained at: - - * LICENSE: - * license/LICENSE.jfastlz.txt (MIT License) - * HOMEPAGE: - * https://code.google.com/p/jfastlz/ - -This product contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data -interchange format, which can be obtained at: - - * LICENSE: - * license/LICENSE.protobuf.txt (New BSD License) - * HOMEPAGE: - * https://github.com/google/protobuf - -This product optionally depends on 'Bouncy Castle Crypto APIs' to generate -a temporary self-signed X.509 certificate when the JVM does not provide the -equivalent functionality. It can be obtained at: - - * LICENSE: - * license/LICENSE.bouncycastle.txt (MIT License) - * HOMEPAGE: - * http://www.bouncycastle.org/ - -This product optionally depends on 'Snappy', a compression library produced -by Google Inc, which can be obtained at: - - * LICENSE: - * license/LICENSE.snappy.txt (New BSD License) - * HOMEPAGE: - * https://github.com/google/snappy - -This product optionally depends on 'JBoss Marshalling', an alternative Java -serialization API, which can be obtained at: - - * LICENSE: - * license/LICENSE.jboss-marshalling.txt (GNU LGPL 2.1) - * HOMEPAGE: - * http://www.jboss.org/jbossmarshalling - -This product optionally depends on 'Caliper', Google's micro- -benchmarking framework, which can be obtained at: - - * LICENSE: - * license/LICENSE.caliper.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/google/caliper - -This product optionally depends on 'Apache Commons Logging', a logging -framework, which can be obtained at: - - * LICENSE: - * license/LICENSE.commons-logging.txt (Apache License 2.0) - * HOMEPAGE: - * http://commons.apache.org/logging/ - -This product optionally depends on 'Apache Log4J', a logging framework, which -can be obtained at: - - * LICENSE: - * license/LICENSE.log4j.txt (Apache License 2.0) - * HOMEPAGE: - * http://logging.apache.org/log4j/ - -This product optionally depends on 'Aalto XML', an ultra-high performance -non-blocking XML processor, which can be obtained at: - - * LICENSE: - * license/LICENSE.aalto-xml.txt (Apache License 2.0) - * HOMEPAGE: - * http://wiki.fasterxml.com/AaltoHome - -This product contains a modified version of 'HPACK', a Java implementation of -the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: - - * LICENSE: - * license/LICENSE.hpack.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/twitter/hpack - -This product contains a modified portion of 'Apache Commons Lang', a Java library -provides utilities for the java.lang API, which can be obtained at: - - * LICENSE: - * license/LICENSE.commons-lang.txt (Apache License 2.0) - * HOMEPAGE: - * https://commons.apache.org/proper/commons-lang/ - - -This product contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build. - - * LICENSE: - * license/LICENSE.mvn-wrapper.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/takari/maven-wrapper - - -This product includes software developed by Google - Snappy: http://code.google.com/p/snappy/ (New BSD License) - -This product includes software developed by Apache - PureJavaCrc32C from apache-hadoop-common http://hadoop.apache.org/ - (Apache 2.0 license) - -This library containd statically linked libstdc++. This inclusion is allowed by -"GCC RUntime Library Exception" -http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html - -== Contributors == - * Tatu Saloranta - * Providing benchmark suite - * Alec Wysoker - * Performance and memory usage improvement - - -Apache ZooKeeper -Copyright 2009-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://repo1.maven.org/maven2/org/apache/hadoop -AST Types 0.13.2 -Attribution Statements -https://github.com/benjamn/ast-types - -Copyright Statements -Copyright (c) 2013 Ben Newman - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/benjamn/ast-types -Astring 1.4.3 -Attribution Statements -https://github.com/davidbonnet/astring - -Copyright Statements -Copyright (c) 2015, David Bonnet - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/davidbonnet/astring -BigInteger.js 1.6.51 -Attribution Statements -https://github.com/peterolson/BigInteger.js - -Copyright Statements -Copyright (C) Peter Olson - -License Text (https://spdx.org/licenses/Unlicense.html) -Made available under The Unlicense. See Appendix for full text. - -Source materials are available for download at: https://github.com/peterolson/BigInteger.js -Bixio DiskQueue -Attribution Statements -https://github.com/bixo/bixo/blob/master/src/main/java/bixo/utils/DiskQueue.java - -This file has been modified by MarkLogic Corporation. -Modifications copyright (c) 2016 MarkLogic Corporation - -Copyright Statements -Copyright 2009-2015 Scale Unlimited - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/bixo/bixo/blob/master/src/main/java/bixo/utils/DiskQueue.java -Bliki engine (Java Wikipedia API) 3.1.0 -Attribution Statements -https://bitbucket.org/axelclk/info.bliki.wiki - -This package uses modified sources and libraries from other open source projects: -a) HTMLCleaner which is published under BSD license. -For more information see: -http://htmlcleaner.sourceforge.net/ - -b) The JAMWiki MagicWord implementation which is published under the GNU Lesser General Public License. -For more information see: -http://jamwiki.org - -c) The JSPWiki LatexConverter which is published under the GNU Lesser General Public License. -For more information see: -http://jspwiki.org/wiki/LatexConverter - -d) Textile-J which is published under Apache license. -For more information see: -https://textile-j.dev.java.net/ - -e) The Flying Saucer project which is published under the GNU Lesser General Public License. -For more information see: -https://xhtmlrenderer.dev.java.net/ - -f) iText (PDF generation) which is published under the Mozilla Public License -For more information see: -http://www.lowagie.com/iText/ and http://itextpdf.sourceforge.net/ - -g) The Apache Commons libraries are published under the Apache License -http://commons.apache.org/ - -h) The Apache Derby libraries are published under the Apache License -http://db.apache.org/derby/ - -g) the stringtotime library is published under the following License: - -Copyright (c) 2012 Clutch, Inc. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -For more information see: -https://github.com/collegeman/stringtotime - -j) the Scribunto MediaWiki extension which is published under GPL-2.0+ and MIT -https://www.mediawiki.org/wiki/Extension:Scribunto - -k) The LuaJ library is published under the MIT license -http://www.luaj.org/luaj/3.0/README.html - -Copyright (c) 2009-2014 Luaj.org. - -Copyright Statements -Axel Kramer - -License Text (https://spdx.org/licenses/EPL-1.0.html) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://bitbucket.org/axelclk/info.bliki.wiki/src -bluebird 3.7.2 -Attribution Statements -http://bluebirdjs.com/docs/getting-started.html - -Copyright Statements -Copyright (C) 2017, Petka Antonov - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/petkaantonov/bluebird -Bootstrap 4.0.0-alpha.5 -Attribution Statements -http://getbootstrap.com - -Copyright Statements -Copyright (c) 2011-2017 Twitter, Inc. -Copyright (c) 2011-2017 The Bootstrap Authors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/twbs/bootstrap -Brandon Grotesque font family -Attribution Statements -https://www.myfonts.com/fonts/hvdfonts/brandon-grotesque/ - -Copyright Statements -Copyright © 1999-2018 MyFonts Inc. - -License Text (https://www.myfonts.com/viewlicense.php?lid=794) -Made available under commercial license. - -Source materials are available for download at: https://www.myfonts.com/fonts/hvdfonts/brandon-grotesque/ -Bunyan 1.8.12 -Attribution Statements -https://github.com/trentm/node-bunyan - -Copyright Statements -Copyright (C) 2017, Trent Mick - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/trentm/node-bunyan -busboy 1.1.0 -Attribution Statements -https://github.com/fastify/busboy - -Copyright Statements -Copyright Brian White. All rights reserved. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/fastify/busboy -Cascader -Attribution Statements -https://github.com/react-component/cascader - -Copyright Statements -Copyright (c) 2014-present alipay.com - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/react-component/cascader -Chai 4.2.0 -Attribution Statements -https://www.chaijs.com/ - -Copyright Statements -Copyright (c) 2017 Chai.js Assertion Library - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/chaijs/chai -classList.js 1.1.20150312 -Attribution Statements -https://www.npmjs.com/package/classlist.js - -Copyright Statements -Eli Grey - -License Text (https://spdx.org/licenses/Unlicense.html) -Made available under The Unlicense. See Appendix for full text. - -Source materials are available for download at: https://github.com/eligrey/classList.js -clipboard.js 2.0.1 -Attribution Statements -https://clipboardjs.com/ - -Copyright Statements -Copyright © 2018 Zeno Rocha - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/zenorocha/clipboard.js/ -Codelyzer 4.5.0 -Attribution Statements -http://codelyzer.com/ - -Copyright Statements -Copyright (c) 2016 Minko Gechev - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mgechev/codelyzer -concat-stream 2.0.0 -Attribution Statements -https://github.com/maxogden/concat-stream - -Copyright Statements -Copyright (c) 2013 Max Ogden - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/maxogden/concat-stream -core-js 2.5.1 -Attribution Statements -https://github.com/zloirock/core-js - -Copyright Statements -Copyright (c) 2014-2016 Denis Pushkarev - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/zloirock/core-js -core-js 2.6.2 -Attribution Statements -https://github.com/zloirock/core-js - -Copyright Statements -Copyright (c) 2014-2016 Denis Pushkarev - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/zloirock/core-js -core-util-is 1.0.2 -Attribution Statements -https://github.com/isaacs/core-util-is - -Copyright Statements -Copyright Node.js contributors. All rights reserved. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/isaacs/core-util-is -custom-event-polyfill 1.0.6 -Attribution Statements -https://github.com/kumarharsh/custom-event-polyfill - -Copyright Statements -Copyright (c) 2016 Evan Krambuhl - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/kumarharsh/custom-event-polyfill -date-fns 1.30.1 -Attribution Statements -https://date-fns.org - -Copyright Statements -Copyright © 2018 Sasha Koss - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/date-fns/date-fns -Day.js -Attribution Statements -https://day.js.org/docs/en/installation/node-js - -Copyright Statements -Copyright (c) 2018-present, iamkun - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://www.npmjs.com/package/dayjs -deepcopy.js 2.0.0 -Attribution Statements -https://github.com/sasaplus1/deepcopy.js - -Copyright Statements -Copyright (c) 2013 sasa+1 - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/sasaplus1/deepcopy.js -DefinitelyTyped -Attribution Statements -http://definitelytyped.org/ - -Copyright Statements -Copyrights are respective of each contributor listed at the beginning of each definition file. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/DefinitelyTyped/DefinitelyTyped -DocStrap 1.0.0 -Attribution Statements -https://github.com/docstrap/docstrap - -Copyright Statements -Copyright (c) 2012-15 Terry Weiss & Contributors. All rights reserved. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/docstrap/docstrap -DOM4J 1.6.1 -Attribution Statements -http://dom4j.org -http://dom4j.sourceforge.net - -Copyright Statements -Copyright 2001-2010 (C) MetaStuff, Ltd. All Rights Reserved. - -License Text (https://github.com/dom4j/dom4j/blob/master/LICENSE) -Copyright 2001-2010 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. Redistributions in binary form must reproduce the - above copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://dom4j.sourceforge.net - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``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 -METASTUFF, LTD. 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. - -Source materials are available for download at: https://github.com/dom4j/dom4j -duplexify -Attribution Statements -https://github.com/mafintosh/duplexify - -Copyright Statements -Copyright (c) 2014 Mathias Buus - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mafintosh/duplexify -EasyMock 3.4 -Attribution Statements -http://easymock.org/ - -Copyright Statements -Copyright 2001-2019 the original author or authors. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/easymock/easymock -End-to-End (e2e) 1.0.0 -Attribution Statements -https://github.com/willscott/e2e - -Copyright Statements -https://wills.co.tt - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://www.npmjs.com/package/e2e -fast-xml-parser 3.17.1 -Attribution Statements -https://github.com/NaturalIntelligence/fast-xml-parser - -fast-xml-parser may include software under license from the following copyright holder: -Copyright 2013 Timothy J Fontaine - -Copyright Statements -Copyright (c) 2017 Amit Kumar Gupta - -License Text (https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/LICENSE) -MIT License - -Copyright (c) 2017 Amit Kumar Gupta - -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: - -If you use this library in a public repository then you give us the right to mention your company name and logo in user's list without further permission required, but you can request them to be taken down within 30 days. - -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. - -Source materials are available for download at: https://github.com/NaturalIntelligence/fast-xml-parser -fasterxml-jackson-databind 2.12.4 -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -FileSaver.js 1.3.3 -Attribution Statements -https://eligrey.com/blog/saving-generated-files-on-the-client-side/ - -Copyright Statements -Copyright © 2016 Eli Grey. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/eligrey/FileSaver.js -Font Awesome 4.7.0 -Attribution Statements -http://fontawesome.io - -Font Awesome Free is free, open source, and GPL friendly. You can use it for -commercial projects, open source projects, or really almost whatever you want. -Full Font Awesome Free license: https://fontawesome.com/license/free. - -# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) -In the Font Awesome Free download, the CC BY 4.0 license applies to all icons -packaged as SVG and JS file types. - -# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL) -In the Font Awesome Free download, the SIL OFL license applies to all icons -packaged as web and desktop font files. - -# Code: MIT License (https://opensource.org/licenses/MIT) -In the Font Awesome Free download, the MIT license applies to all non-font and -non-icon files. - -# Attribution -Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font -Awesome Free files already contain embedded comments with sufficient -attribution, so you shouldn't need to do anything additional when using these -files normally. - -We've kept attribution comments terse, so we ask that you do not actively work -to remove them from files, especially code. They're a great way for folks to -learn about Font Awesome. - -# Brand Icons -All brand icons are trademarks of their respective owners. The use of these -trademarks does not indicate endorsement of the trademark holder by Font -Awesome, nor vice versa. **Please do not use brand logos for any purpose except -to represent the company, product, or service to which they refer.** - -Copyright Statements -Copyright (c) Font Awesome - -License Text (https://fontawesome.com/license) -Made available under commercial license. - -Source materials are available for download at: https://github.com/FortAwesome/Font-Awesome -fs-extra 7.0.0 -Attribution Statements -https://github.com/jprichardson/node-fs-extra - -Copyright Statements -Copyright (c) 2011-2017 JP Richardson - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/jprichardson/node-fs-extra -GeoNames 1.0 -Attribution Statements -http://www.geonames.org/source-code/ - -GeoNames is a project of Unxos GmbH, Weingartenstrasse 8, 8708 Männedorf, Switzerland. - -Copyright Statements -Copyright 2012 Marc Wick, geonames.org - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://sourceforge.net/projects/geonames/ -Gradle 4.2.1 -Attribution Statements -https://gradle.org/ - -Gradle Subcomponents: - ------------------------------------------------------------------------------- -License for the slf4j package ------------------------------------------------------------------------------- -SLF4J License - -Copyright (c) 2004-2007 QOS.ch -All rights reserved. - -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. - -These terms are identical to those of the MIT License, also called the X License or the X11 License, -which is a simple, permissive non-copyleft free software license. It is deemed compatible with virtually -all types of licenses, commercial or otherwise. In particular, the Free Software Foundation has declared it -compatible with GNU GPL. It is also known to be approved by the Apache Software Foundation as compatible -with Apache Software License. - - ------------------------------------------------------------------------------- -License for the JUnit package ------------------------------------------------------------------------------- -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are -distributed by that particular Contributor. A Contribution 'originates' from a -Contributor if it was added to the Program by such Contributor itself or anyone -acting on such Contributor's behalf. Contributions do not include additions to -the Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) are not -derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are -necessarily infringed by the use or sale of its Contribution alone or when -combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, -including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free copyright license to -reproduce, prepare derivative works of, publicly display, publicly perform, -distribute and sublicense the Contribution of such Contributor, if any, and such -derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed -Patents to make, use, sell, offer to sell, import and otherwise transfer the -Contribution of such Contributor, if any, in source code and object code form. -This patent license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, such -addition of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other combinations -which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses -to its Contributions set forth herein, no assurances are provided by any -Contributor that the Program does not infringe the patent or other intellectual -property rights of any other entity. Each Contributor disclaims any liability to -Recipient for claims brought by any other entity based on infringement of -intellectual property rights or otherwise. As a condition to exercising the -rights and licenses granted hereunder, each Recipient hereby assumes sole -responsibility to secure any other intellectual property rights needed, if any. -For example, if a third party patent license is required to allow Recipient to -distribute the Program, it is Recipient's responsibility to acquire that license -before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright license set -forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its -own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title and -non-infringement, and implied warranties or conditions of merchantability and -fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for -damages, including direct, indirect, special, incidental and consequential -damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered -by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable manner on or -through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the -Program. - -Each Contributor must identify itself as the originator of its Contribution, if -any, in a manner that reasonably allows subsequent Recipients to identify the -originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor who -includes the Program in a commercial product offering should do so in a manner -which does not create potential liability for other Contributors. Therefore, if -a Contributor includes the Program in a commercial product offering, such -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, damages -and costs (collectively "Losses") arising from claims, lawsuits and other legal -actions brought by a third party against the Indemnified Contributor to the -extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor to -control, and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may participate in -any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If that -Commercial Contributor then makes performance claims, or offers warranties -related to Product X, those performance claims and warranties are such -Commercial Contributor's responsibility alone. Under this section, the -Commercial Contributor would have to defend claims against the other -Contributors related to those performance claims and warranties, and if a court -requires any other Contributor to pay any damages as a result, the Commercial -Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each -Recipient is solely responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its exercise of -rights under this Agreement, including but not limited to the risks and costs of -program errors, compliance with applicable laws, damage to or loss of data, -programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS -GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable -law, it shall not affect the validity or enforceability of the remainder of the -terms of this Agreement, and without further action by the parties hereto, such -provision shall be reformed to the minimum extent necessary to make such -provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to -a patent applicable to software (including a cross-claim or counterclaim in a -lawsuit), then any patent licenses granted by that Contributor to such Recipient -under this Agreement shall terminate as of the date such litigation is filed. In -addition, if Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the Program -itself (excluding combinations of the Program with other software or hardware) -infringes such Recipient's patent(s), then such Recipient's rights granted under -Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and does -not cure such failure in a reasonable period of time after becoming aware of -such noncompliance. If all Recipient's rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as -reasonably practicable. However, Recipient's obligations under this Agreement -and any licenses granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in -order to avoid inconsistency the Agreement is copyrighted and may only be -modified in the following manner. The Agreement Steward reserves the right to -publish new versions (including revisions) of this Agreement from time to time. -No one other than the Agreement Steward has the right to modify this Agreement. -IBM is the initial Agreement Steward. IBM may assign the responsibility to serve -as the Agreement Steward to a suitable separate entity. Each new version of the -Agreement will be given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the Agreement -is published, Contributor may elect to distribute the Program (including its -Contributions) under the new version. Except as expressly stated in Sections -2(a) and 2(b) above, Recipient receives no rights or licenses to the -intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the -intellectual property laws of the United States of America. No party to this -Agreement will bring a legal action under this Agreement more than one year -after the cause of action arose. Each party waives its rights to a jury trial in -any resulting litigation. - ------------------------------------------------------------------------------- -License for the JCIFS package ------------------------------------------------------------------------------- -JCIFS License - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - -Copyright Statements -© Gradle Inc. 2017 - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://services.gradle.org/distributions/gradle-4.5.1-bin.zip -Gradle 5.0.1 -Attribution Statements -https://gradle.org/ - -Gradle Subcomponents: - ------------------------------------------------------------------------------- -License for the slf4j package ------------------------------------------------------------------------------- -SLF4J License - -Copyright (c) 2004-2007 QOS.ch -All rights reserved. - -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. - -These terms are identical to those of the MIT License, also called the X License or the X11 License, -which is a simple, permissive non-copyleft free software license. It is deemed compatible with virtually -all types of licenses, commercial or otherwise. In particular, the Free Software Foundation has declared it -compatible with GNU GPL. It is also known to be approved by the Apache Software Foundation as compatible -with Apache Software License. - - ------------------------------------------------------------------------------- -License for the JUnit package ------------------------------------------------------------------------------- -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are -distributed by that particular Contributor. A Contribution 'originates' from a -Contributor if it was added to the Program by such Contributor itself or anyone -acting on such Contributor's behalf. Contributions do not include additions to -the Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) are not -derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are -necessarily infringed by the use or sale of its Contribution alone or when -combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, -including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free copyright license to -reproduce, prepare derivative works of, publicly display, publicly perform, -distribute and sublicense the Contribution of such Contributor, if any, and such -derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed -Patents to make, use, sell, offer to sell, import and otherwise transfer the -Contribution of such Contributor, if any, in source code and object code form. -This patent license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, such -addition of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other combinations -which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses -to its Contributions set forth herein, no assurances are provided by any -Contributor that the Program does not infringe the patent or other intellectual -property rights of any other entity. Each Contributor disclaims any liability to -Recipient for claims brought by any other entity based on infringement of -intellectual property rights or otherwise. As a condition to exercising the -rights and licenses granted hereunder, each Recipient hereby assumes sole -responsibility to secure any other intellectual property rights needed, if any. -For example, if a third party patent license is required to allow Recipient to -distribute the Program, it is Recipient's responsibility to acquire that license -before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright license set -forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its -own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title and -non-infringement, and implied warranties or conditions of merchantability and -fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for -damages, including direct, indirect, special, incidental and consequential -damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered -by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable manner on or -through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the -Program. - -Each Contributor must identify itself as the originator of its Contribution, if -any, in a manner that reasonably allows subsequent Recipients to identify the -originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor who -includes the Program in a commercial product offering should do so in a manner -which does not create potential liability for other Contributors. Therefore, if -a Contributor includes the Program in a commercial product offering, such -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, damages -and costs (collectively "Losses") arising from claims, lawsuits and other legal -actions brought by a third party against the Indemnified Contributor to the -extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor to -control, and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may participate in -any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If that -Commercial Contributor then makes performance claims, or offers warranties -related to Product X, those performance claims and warranties are such -Commercial Contributor's responsibility alone. Under this section, the -Commercial Contributor would have to defend claims against the other -Contributors related to those performance claims and warranties, and if a court -requires any other Contributor to pay any damages as a result, the Commercial -Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each -Recipient is solely responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its exercise of -rights under this Agreement, including but not limited to the risks and costs of -program errors, compliance with applicable laws, damage to or loss of data, -programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS -GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable -law, it shall not affect the validity or enforceability of the remainder of the -terms of this Agreement, and without further action by the parties hereto, such -provision shall be reformed to the minimum extent necessary to make such -provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to -a patent applicable to software (including a cross-claim or counterclaim in a -lawsuit), then any patent licenses granted by that Contributor to such Recipient -under this Agreement shall terminate as of the date such litigation is filed. In -addition, if Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the Program -itself (excluding combinations of the Program with other software or hardware) -infringes such Recipient's patent(s), then such Recipient's rights granted under -Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and does -not cure such failure in a reasonable period of time after becoming aware of -such noncompliance. If all Recipient's rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as -reasonably practicable. However, Recipient's obligations under this Agreement -and any licenses granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in -order to avoid inconsistency the Agreement is copyrighted and may only be -modified in the following manner. The Agreement Steward reserves the right to -publish new versions (including revisions) of this Agreement from time to time. -No one other than the Agreement Steward has the right to modify this Agreement. -IBM is the initial Agreement Steward. IBM may assign the responsibility to serve -as the Agreement Steward to a suitable separate entity. Each new version of the -Agreement will be given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the Agreement -is published, Contributor may elect to distribute the Program (including its -Contributions) under the new version. Except as expressly stated in Sections -2(a) and 2(b) above, Recipient receives no rights or licenses to the -intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the -intellectual property laws of the United States of America. No party to this -Agreement will bring a legal action under this Agreement more than one year -after the cause of action arose. Each party waives its rights to a jury trial in -any resulting litigation. - ------------------------------------------------------------------------------- -License for the JCIFS package ------------------------------------------------------------------------------- -JCIFS License - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - -Copyright Statements -© Gradle Inc. 2017 - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://services.gradle.org/distributions/gradle-4.5.1-bin.zip -Gradle Bintray Plugin 1.7.2 -Attribution Statements -https://plugins.gradle.org/plugin/com.jfrog.bintray/1.7.2 - -Copyright Statements -(c) All rights reserved JFrog - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/bintray/gradle-bintray-plugin -Gradle Plugin for Node 1.1.1 -Attribution Statements -https://plugins.gradle.org/plugin/com.moowork.node/1.1.1 - -Copyright Statements -Sten Roger Sandvik - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/srs/gradle-node-plugin -Gradle Properties Plugin 1.4.6 -Attribution Statements -https://plugins.gradle.org/plugin/net.saliman.properties - -Copyright Statements -Copyright 2012-2016 Steven C. Saliman - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/stevesaliman/gradle-properties-plugin -Gson 2.8.2 -Attribution Statements -http://code.google.com/p/google-gson/ - -Copyright Statements -Copyright 2008 Google Inc. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/google/gson -Guava 1.0.1 -Attribution Statements -https://github.com/google/guava - -Copyright Statements -Copyright (C) 2018 The Guava Authors - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/google/guava -Guava 25.0 -Attribution Statements -https://github.com/google/guava - -Copyright Statements -Copyright (C) 2018 The Guava Authors - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/google/guava -Guava 31.1 -Attribution Statements -https://github.com/google/guava - -Copyright Statements -Copyright (C) 2018 The Guava Authors - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/google/guava -gulp 4.0.2 -Attribution Statements -https://gulpjs.com/ - -Copyright Statements -Copyright (c) 2013-2018 Blaine Bublitz , Eric Schoffstall and other contributors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/gulpjs/gulp -gulp-jsdoc3 1.0.1 -Attribution Statements -https://github.com/mlucool/gulp-jsdoc3 - -Copyright Statements -Marc Udoff https://github.com/mlucool - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/mlucool/gulp-jsdoc3 -gulp-jshint 2.1.0 -Attribution Statements -https://github.com/spalger/gulp-jshint - -Copyright Statements -Copyright (c) 2015 Spencer Alger - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/spalger/gulp-jshint -gulp-mocha 6.0.0 -Attribution Statements -https://github.com/sindresorhus/gulp-mocha - -Copyright Statements -Copyright (c) Sindre Sorhus (sindresorhus.com) - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/sindresorhus/gulp-mocha -gulp-zip 4.2.0 -Attribution Statements -https://github.com/sindresorhus/gulp-zip - -Copyright Statements -Copyright (c) Sindre Sorhus (sindresorhus.com) - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/sindresorhus/gulp-zip -H2 Database Engine 1.4.193 -Attribution Statements -http://www.h2database.com/html/main.html - -Copyright Statements -Copyright 2004-2018 H2 Group. - -License Text (http://spdx.org/licenses/EPL-1.0) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/h2database/h2database -hadoop-annotations 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-auth 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-hdfs 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-hdfs-client 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-mapreduce-client-common 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-mapreduce-client-core 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-mapreduce-client-jobclient 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-yarn-api 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-yarn-client 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hadoop-yarn-common 3.3.0 -Copyright Statements -Copyright (C) 2022, The Apache Software Foundation - -License Text (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -hamcrest-junit 2.0.0.0 -Attribution Statements -https://github.com/hamcrest/hamcrest-junit - -Copyright Statements -Copyright (c) 2000-2006 hamcrest.org - -License Text (http://spdx.org/licenses/EPL-1.0.html) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/hamcrest/hamcrest-junit -HighCharts JS 6.2.0 -Attribution Statements -http://www.highcharts.com - -Copyright Statements -(c) 2009-2012 Torstein Honsi - -License Text () -Made available under commercial license. - -HtmlCleaner 2.21 -Attribution Statements -http://htmlcleaner.sourceforge.net/ - -Copyright Statements -Copyright (c) 2006-2017, HtmlCleaner team. All rights reserved. - -License Text (https://spdx.org/licenses/BSD-3-Clause.html) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: http://htmlcleaner.sourceforge.net/download.php -re2j 1.6 -Attribution Statements -http://github.com/google/re2j - -This is a work derived from Russ Cox's RE2 in Go: Copyright (c) 2009 The Go Authors. All rights reserved. - -Copyright Statements -Copyright (C) 2022, The RE2/J Contributors - -License Text (https://spdx.org/licenses/BSD-3-Clause.html) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: http://github.com/google/re2j -HyperSQL Database (HSQLDB) 2.4.0 -Attribution Statements -http://hsqldb.org/ - -For work originally developed by the Hypersonic SQL Group: - -Copyright (c) 1995-2000 by the Hypersonic SQL Group. -All rights reserved. -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 Hypersonic SQL Group 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 HYPERSONIC SQL GROUP, -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. - -This software consists of voluntary contributions made by many individuals on behalf of the -Hypersonic SQL Group. - -Copyright Statements -Copyright (c) 2001-2016, The HSQL Development Group -All rights reserved. - -License Text (http://spdx.org/licenses/BSD-3-Clause) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: http://mvnrepository.com/artifact/org.hsqldb/hsqldb -IcoMoon 1.0 generated files -Attribution Statements -https://icomoon.io/#app-features - -Copyright Statements -Copyright (c) IcoMoon (icomoon.io) - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://icomoon.io/#app-features -intercept-stdout 0.1.2 -Attribution Statements -https://github.com/sfarthin/intercept-stdout - -Copyright Statements -Copyright (c) 2014 Steve Farthing - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/sfarthin/intercept-stdout -Intl.js 1.2.5 -Attribution Statements -https://github.com/andyearnshaw/Intl.js - -Contents of the `locale-data` directory are a modified form of the Unicode CLDR -data found at http://www.unicode.org/cldr/data/. It comes with the following -license. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1991-2013 Unicode, Inc. All rights reserved. Distributed under -the Terms of Use in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -the Unicode data files and any associated documentation (the "Data Files") or -Unicode software and any associated documentation (the "Software") to deal in -the Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell copies -of the Data Files or Software, and to permit persons to whom the Data Files or -Software are furnished to do so, provided that (a) the above copyright -notice(s) and this permission notice appear with all copies of the Data Files -or Software, (b) both the above copyright notice(s) and this permission notice -appear in associated documentation, and (c) there is clear notice in each -modified Data File or in the Software as well as in the documentation -associated with the Data File(s) or Software that the data or software has been -modified. - -THE DATA FILES AND SOFTWARE ARE 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 OF THIRD -PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN -THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR -SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not be -used in advertising or otherwise to promote the sale, use or other dealings in -these Data Files or Software without prior written authorization of the -copyright holder. - -Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United -States and other countries. All third party trademarks referenced herein are -the property of their respective owners. - -Copyright Statements -Copyright (c) 2013 Andy Earnshaw - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/andyearnshaw/Intl.js -Jackson Annotations 2.10.3 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-annotations -Jackson Annotations 2.11.0 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-annotations -Jackson Annotations 2.15.2 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-annotations -Jackson Core 2.10.3 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-core -Jackson Core 2.11.0 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-core -Jackson Core 2.15.2 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-core -Jackson Databind 2.10.3 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Jackson Databind may include the following software under license: -cglib 2.2.2 (Apache-2.0) - Copyright 2004 The Apache Software Foundation -Apache Groovy 1.7.9 (Apache-2.0) - Copyright 2003-2019 The Apache Software Foundation -Hibernate-cglib-repack 2.1_3 (LGPL-2.1) - Copyright (c) 2010 Red Hat, Inc. -Jackson Annotations 2.5.0 (Apache-2.0) - Copyright ©2009 FasterXML, LLC -JSR-275 0.9.2 - © 2019, Oracle Corporation and/or its affiliates. - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-databind -Jackson Databind 2.11.0 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Jackson Databind may include the following software under license: -cglib 2.2.2 (Apache-2.0) - Copyright 2004 The Apache Software Foundation -Apache Groovy 1.7.9 (Apache-2.0) - Copyright 2003-2019 The Apache Software Foundation -Hibernate-cglib-repack 2.1_3 (LGPL-2.1) - Copyright (c) 2010 Red Hat, Inc. -Jackson Annotations 2.5.0 (Apache-2.0) - Copyright ©2009 FasterXML, LLC -JSR-275 0.9.2 - © 2019, Oracle Corporation and/or its affiliates. - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-databind -Jackson Databind 2.15.2 -Attribution Statements -http://wiki.fasterxml.com/JacksonHome - -Jackson Databind may include the following software under license: -cglib 2.2.2 (Apache-2.0) - Copyright 2004 The Apache Software Foundation -Apache Groovy 1.7.9 (Apache-2.0) - Copyright 2003-2019 The Apache Software Foundation -Hibernate-cglib-repack 2.1_3 (LGPL-2.1) - Copyright (c) 2010 Red Hat, Inc. -Jackson Annotations 2.5.0 (Apache-2.0) - Copyright ©2009 FasterXML, LLC -JSR-275 0.9.2 - © 2019, Oracle Corporation and/or its affiliates. - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-databind -Jackson Dataformat CSV 2.15.2 -Attribution Statements -https://github.com/FasterXML/jackson-dataformat-csv - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-dataformat-csv -Jackson Dataformat XML 2.10.3 -Attribution Statements -http://wiki.fasterxml.com/JacksonExtensionXmlDataBinding - -Copyright Statements -Copyright ©2009 FasterXML, LLC - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/jackson-dataformat-xml -Jackson Module Kotlin 2.10.3 -Attribution Statements -https://github.com/FasterXML/jackson-module-kotlin - -Copyright Statements -Copyright ©2009-2011 FasterXML, LLC. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-kotlin -jackson-annotations 2.12.4 -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -jackson-core 2.12.4 -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -jackson-dataformat-csv 2.12.4 -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -Jasmine 2.8.0 -Attribution Statements -https://jasmine.github.io/ - -Copyright Statements -Copyright (c) 2008-2019 Pivotal Labs - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/jasmine/jasmine -Jasmine Reporters 2.3.2 -Attribution Statements -https://github.com/larrymyers/jasmine-reporters - -Copyright Statements -Copyright (c) 2010 Larry Myers - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/larrymyers/jasmine-reporters -jasmine-spec-reporter 4.2.1 -Attribution Statements -https://github.com/bcaudan/jasmine-spec-reporter - -Copyright Statements -Copyright 2014 Bastien Caudan - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/bcaudan/jasmine-spec-reporter -JavaMail 1.6.2 -Attribution Statements -https://javaee.github.io/javamail/ - -Copyright Statements -Copyright (c) 1997-2017 Oracle and/or its affiliates. All rights reserved. - -License Text (http://www.spdx.org/licenses/CDDL-1.1.html) -Made available under the Common Development and Distribution License 1.1. See Appendix for full text. - -Source materials are available for download at: https://mvnrepository.com/artifact/com.sun.mail/javax.mail -javax.ws.rs-api (JAX-RS API) 2.1.1 -Attribution Statements -https://github.com/jax-rs/api - -Copyright Statements -Copyright (c) 2010-2017 Oracle and/or its affiliates. All rights reserved. - -License Text (http://www.spdx.org/licenses/CDDL-1.1.html) -Made available under the Common Development and Distribution License 1.1. See Appendix for full text. - -Source materials are available for download at: https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -Java™ Architecture for XML Binding (JAXB) 2.3.2 -Attribution Statements -https://javaee.github.io/jaxb-v2/ - -Copyright Statements -Copyright (c) 1997-2017 Oracle and/or its affiliates. All rights reserved. - -License Text (http://www.spdx.org/licenses/CDDL-1.1.html) -Made available under the Common Development and Distribution License 1.1. See Appendix for full text. - -Source materials are available for download at: https://github.com/javaee/jaxb-v2 -JAX RS Provider For JSON Content Type (jackson-jaxrs) 1.9.13 -Attribution Statements -http://jackson.codehaus.org - -Copyright Statements -Copyright © FasterXML. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://mvnrepository.com/artifact/org.codehaus.jackson/jackson-jaxrs/1.9.13 -JDOM 2.0.6 -Attribution Statements -http://www.jdom.org - -This product includes software developed by the JDOM Project (http://www.jdom.org/). - -Copyright Statements -Copyright (C) 2000-2012 Jason Hunter & Brett McLaughlin. All rights reserved. - -License Text (https://github.com/hunterhacker/jdom/blob/master/LICENSE.txt) -Copyright (C) 2000-2012 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -Source materials are available for download at: https://github.com/hunterhacker/jdom/ -Jersey 1.19.3 -Attribution Statements -https://jersey.java.net/ - -%% The following software may be included in this product: ASM - Use of any of this software is governed by the terms of the license below: - -Copyright (c) 2000-2005 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - - -%% The following software may be included in this product: Jettison - Use of any of this software is governed by the terms of the license below: - - -Copyright 2006 Envoi Solutions LLC - -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. - -Copyright Statements -Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. - -License Text (http://www.spdx.org/licenses/CDDL-1.1.html) -Made available under the Common Development and Distribution License 1.1. See Appendix for full text. - -Source materials are available for download at: https://github.com/jersey/jersey/ -jQuery 2.0.0 -Attribution Statements -http://jquery.com/ - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/jquery/jquery - -All files located in the node_modules and external directories are -externally maintained libraries used by this software which have their -own licenses; we recommend you read them, as their terms may differ from -the terms above. - -JQuery depends on Sizzle -http://sizzlejs.com -Copyright JS Foundation and other contributors, https://js.foundation/ -Made available under the MIT License. - -Copyright Statements -Copyright (c) 2009-2019 John Resig, jQuery Foundation, Inc. - -License Text (https://spdx.org/licenses/MIT.html) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/jquery/jquery -JSDoc 3.6.3 -Attribution Statements -http://usejsdoc.org/ - -JSDoc 3 includes or depends upon the following third-party software, either in whole or in part. Each third-party software package is provided under its own license. - -MIT License -Several of the following software packages are distributed under the MIT license, which is reproduced below: - -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. - -Google Code Prettify -Google Code Prettify is distributed under the Apache License 2.0, which is included with this package. - -Copyright (c) 2006 Google Inc. - -The source code for Google Code Prettify is available at: https://code.google.com/p/google-code-prettify/ - -Jasmine -Jasmine is distributed under the MIT license, which is reproduced above. - -Copyright (c) 2008-2011 Pivotal Labs. - -The source code for Jasmine is available at: https://github.com/pivotal/jasmine - -jasmine-node -jasmine-node is distributed under the MIT license, which is reproduced above. - -Copyright (c) 2010 Adam Abrons and Misko Hevery (http://getangular.com). - -The source code for jasmine-node is available at: https://github.com/mhevery/jasmine-node - -Open Sans -Open Sans is distributed under the Apache License 2.0, which is included with this package. - -Copyright (c) 2010-2011, Google Inc. - -This typeface, including the complete set of variations, are available at: http://www.google.com/fonts/specimen/Open+Sans - -Tomorrow Theme for Google Code Prettify -The Tomorrow Theme for Google Code Prettify is distributed under the MIT license, which is reproduced above. - -Copyright (c) 2016 Yoshihide Jimbo. - -The source code for the Tomorrow Theme is available at: https://github.com/jmblog/color-themes-for-google-code-prettify - -Copyright Statements -Copyright (c) 2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc. All rights reserved. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/jsdoc3/jsdoc -JSHint 2.11.0 -Attribution Statements -https://jshint.com/ - -Copyright Statements -Copyright 2012 Anton Kovalyov (http://jshint.com) - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/jshint/jshint -JSON 20080701 -Attribution Statements -http://www.json.org/ - -Copyright Statements -Copyright (c) 2008 JSON.org - -License Text (https://spdx.org/licenses/JSON.html) -Made available under the JSON License. See Appendix for full text. - -Source materials are available for download at: https://github.com/douglascrockford/JSON-java -JSON 20160810 -Attribution Statements -http://www.json.org/ - -Copyright Statements -Copyright (c) 2016 JSON.org - -License Text (https://spdx.org/licenses/JSON.html) -Made available under the JSON License. See Appendix for full text. - -Source materials are available for download at: https://github.com/douglascrockford/JSON-java -json-schema-validator -Attribution Statements -https://github.com/networknt/json-schema-validator - -========================================================================== -Third Party Dependencies -========================================================================== - -This project includes or depends on code from third party projects. - -The following are attribution notices from dependencies: - ------------------ -Undertow ------------------ - -JBoss, Home of Professional Open Source. -Copyright 2014 Red Hat, Inc., and individual contributors -as indicated by the @author tags. - -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. - ------------------ -Jackson ------------------ - -This copy of Jackson JSON processor streaming parser/generator is licensed under the -Apache (Software) License, version 2.0 ("the License"). -See the License for details about distribution rights, and the -specific rights regarding derivate works. - -You may obtain a copy of the License at: - -http://www.apache.org/licenses/LICENSE-2.0 - ------------------ -SLF4J ------------------ - -Copyright (c) 2004-2017 QOS.ch -All rights reserved. - -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. - -https://www.slf4j.org/license.html - ------------------ -Commons-lang3 ------------------ - -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You 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. - ------------------ -Logback ------------------ - -Logback: the reliable, generic, fast and flexible logging framework. -Copyright (C) 1999-2015, QOS.ch. All rights reserved. - -This program and the accompanying materials are dual-licensed under -either the terms of the Eclipse Public License v1.0 as published by -the Eclipse Foundation - - or (per the licensee's choosing) - -under the terms of the GNU Lesser General Public License version 2.1 -as published by the Free Software Foundation. - -Copyright Statements -Copyright (c) 2019 Network New Technologies Inc. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/networknt/json-schema-validator -json-text-sequence 0.1.1 -Attribution Statements -https://github.com/hildjj/json-text-sequence - -Copyright Statements -Copyright (C) 2018, Joe Hildebrand - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/hildjj/json-text-sequence -JSONassert 1.5.0 -Attribution Statements -http://jsonassert.skyscreamer.org/ - -Copyright Statements -Copyright © 2017. All rights reserved. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/skyscreamer/JSONassert -JUnit 4.12 -Attribution Statements -https://junit.org/junit4/ - -JUnit depends on Java Hamcrest -http://hamcrest.org/JavaHamcrest/ -Copyright (c) 2000-2015 www.hamcrest.org. All rights reserved. -Made available under the MIT License. -https://spdx.org/licenses/MIT.html - -Copyright Statements -Copyright © 2002-2017 JUnit. All Rights Reserved. - -License Text (http://spdx.org/licenses/EPL-1.0) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/junit-team/junit4 -JUnit 4.13.1 -Attribution Statements -https://junit.org/ - -JUnit depends on Java Hamcrest -http://hamcrest.org/JavaHamcrest/ -Copyright (c) 2000-2015 www.hamcrest.org. All rights reserved. -Made available under the MIT License. -https://spdx.org/licenses/MIT.html - -Copyright Statements -Copyright (C) 2021, Kevin Cooney, Stefan Birkner, JUnit, David Saff, Marc Philipp - -License Text (http://spdx.org/licenses/EPL-1.0) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/junit-team/junit4 -JUnit 5.4.2 -Attribution Statements -https://junit.org/junit5/ - -Copyright Statements -Copyright (C) Christian Stein, Matthias Merdes, Sam Brannen, Johannes Link, Stefan Bechtold, Marc Philipp - -License Text (http://spdx.org/licenses/EPL-1.0) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/junit-team/junit5/ -Karma 4.1.0 -Attribution Statements -http://karma-runner.github.io/latest/index.html - -Copyright Statements -Copyright (C) 2011-2019 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/karma-runner/karma -karma-chrome-launcher 2.2.0 -Attribution Statements -https://github.com/karma-runner/karma-chrome-launcher - -Copyright Statements -Copyright (C) 2011-2013 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/karma-runner/karma-chrome-launcher -karma-cli 1.0.1 -Attribution Statements -https://github.com/karma-runner/karma-cli - -Copyright Statements -Copyright (C) 2011-2013 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/karma-runner/karma-cli -karma-coverage-istanbul-reporter 2.0.4 -Attribution Statements -https://github.com/mattlewis92/karma-coverage-istanbul-reporter - -Copyright Statements -Copyright (c) 2017 Matt Lewis - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mattlewis92/karma-coverage-istanbul-reporter -karma-firefox-launcher 1.0.1 -Attribution Statements -https://github.com/karma-runner/karma-firefox-launcher - -Copyright Statements -Copyright (C) 2011-2013 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/karma-runner/karma-firefox-launcher -karma-jasmine 1.1.2 -Attribution Statements -https://github.com/karma-runner/karma-jasmine - -karma-jasmine may include the following software under license: -jasmine 3.4.0 (MIT) - Copyright (c) 2008-2019 Pivotal Labs -jasmine-core 3.3 (MIT) - Copyright (c) 2008-2019 Pivotal Labs - -Copyright Statements -Copyright (C) 2011-2013 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/karma-runner/karma-jasmine -karma-jasmine-html-reporter 0.2.2 -Attribution Statements -https://github.com/dfederm/karma-jasmine-html-reporter - -Copyright Statements -Copyright (C) 2011-2013 Vojta Jína and contributors. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/dfederm/karma-jasmine-html-reporter -Kotlin Standard Library JDK 1.3.31 -Attribution Statements -http://kotlinlang.org/ - -Copyright Statements -Copyright 2010-2018 JetBrains s.r.o. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib-jdk8 -Lodash 4.17.13 -Attribution Statements -https://lodash.com/ - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. - -Copyright Statements -Copyright (C) 2018, John-David Dalton - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/lodash/lodash -Logback 1.2.10 -Attribution Statements -http://logback.qos.ch - -Copyright Statements -Copyright (C) 1999-2015, QOS.ch. All rights reserved. - -License Text (http://www.eclipse.org/legal/epl-v10.html) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/qos-ch/logback -Logback 1.2.3 -Attribution Statements -http://logback.qos.ch - -Copyright Statements -Copyright (C) 1999-2015, QOS.ch. All rights reserved. - -License Text (http://spdx.org/licenses/EPL-1.0) -Made available under the Eclipse Public License 1.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/qos-ch/logback -logging-interceptor 4.10.0 -Copyright Statements -Copyright (C) 2022, Square, Inc. - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -Lunr 0.5.11 -Attribution Statements -https://lunrjs.com/ - -Copyright Statements -Copyright (C) 2015 Oliver Nightingale - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/olivernn/lunr.js -MapR 5.1.0 -Attribution Statements -https://mapr.com/ - -Copyright Statements -MapR Technologies, Inc. - -License Text () -Made available under commercial license. - -Source materials are available for download at: https://mapr.com/download/ -MapR Hadoop Bundle 2.7.0-mapr-1602 -Attribution Statements -https://mapr.com/products/apache-hadoop/ - -Copyright Statements -© MapR Technologies, Inc. All Rights Reserved - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://repository.mapr.com/nexus/content/groups/mapr-public/org/apache/hadoop/ -marklogic 2.10.0 -Copyright Statements -Copyright (C) 2022, MarkLogic - -License Text (http://spdx.org/licenses/Apache-2.0.html) -?Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -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. - -Material Design Icons (MDI) Iconfont 3.0.3 -Attribution Statements -http://google.github.io/material-design-icons/ - -Copyright Statements -Copyright (C) 2016, Material Design Authors - -License Text (https://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/jossef/material-design-icons-iconfont -Material Design Icons (MDI) Webfont 2.2.43 -Attribution Statements -https://materialdesignicons.com/ - -Copyright Statements -Copyright (c) 2014, Austin Andrews (http://materialdesignicons.com/), with Reserved Font Name Material Design Icons. - -Copyright (c) 2014, Google (http://www.google.com/design/) uses the license at https://github.com/google/material-design-icons/blob/master/LICENSE - -License Text (https://spdx.org/licenses/OFL-1.1.html) -Made available under the SIL Open Font License 1.1. See Appendix for full text. - -Source materials are available for download at: https://github.com/Templarian/MaterialDesign-Webfont -Material Design Lite 1.3.0 -Attribution Statements -http://getmdl.io - -Copyright Statements -Copyright (C) 2016, Google - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/google/material-design-lite -MIT Kerberos v5 1.17.0 -Attribution Statements -http://web.mit.edu/kerberos/www/ - -MIT Kerberos may include software under licence from the following copyright holders: -Copyright 1993 by OpenVision Technologies, Inc., All Rights Reserved. -Copyright 1996 by Sun Microsystems, Inc. -Copyright (c) 2010, Oracle America, Inc. -Copyright (c) 2000 The Regents of the University of Michigan. All rights reserved. -Copyright (c) 2000 Dug Song . All rights reserved, all wrongs reversed. -Copyright (C) 2017 by Red Hat, Inc. All rights reserved. -Copyright 1988, Student Information Processing Board of the Massachusetts Institute of Technology. -Copyright 1995 by Cygnus Support. - -The following copyright and permission notice applies to the -OpenVision Kerberos Administration system located in "kadmin/create", -"kadmin/dbutil", "kadmin/passwd", "kadmin/server", "lib/kadm5", and -portions of "lib/rpc": - - Copyright, OpenVision Technologies, Inc., 1993-1996, All Rights - Reserved - - WARNING: Retrieving the OpenVision Kerberos Administration system - source code, as described below, indicates your acceptance of the - following terms. If you do not agree to the following terms, do - not retrieve the OpenVision Kerberos administration system. - - You may freely use and distribute the Source Code and Object Code - compiled from it, with or without modification, but this Source - Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, - INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR - FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER - EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY - FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, - WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE - CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY - OTHER REASON. - - OpenVision retains all copyrights in the donated Source Code. - OpenVision also retains copyright to derivative works of the Source - Code, whether created by OpenVision or by a third party. The - OpenVision copyright notice must be preserved if derivative works - are made based on the donated Source Code. - - OpenVision Technologies, Inc. has donated this Kerberos - Administration system to MIT for inclusion in the standard Kerberos - 5 distribution. This donation underscores our commitment to - continuing Kerberos technology development and our gratitude for - the valuable work which has been performed by MIT and the Kerberos - community. - -====================================================================== - - Portions contributed by Matt Crawford "crawdad@fnal.gov" were work - performed at Fermi National Accelerator Laboratory, which is - operated by Universities Research Association, Inc., under contract - DE-AC02-76CHO3000 with the U.S. Department of Energy. - -====================================================================== - -Portions of "src/lib/crypto" have the following copyright: - - Copyright (C) 1998 by the FundsXpress, INC. - - All rights reserved. - - Export of this software from the United States of America may - require a specific license from the United States Government. - It is the responsibility of any person or organization - contemplating export to obtain such a license before exporting. - - WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - distribute this software and its documentation for any purpose and - without fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright notice and - this permission notice appear in supporting documentation, and that - the name of FundsXpress. not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. FundsXpress makes no representations - about the suitability of this software for any purpose. It is - provided "as is" without express or implied warranty. - - THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -====================================================================== - -The implementation of the AES encryption algorithm in -"src/lib/crypto/builtin/aes" has the following copyright: - - Copyright (C) 2001, Dr Brian Gladman "brg@gladman.uk.net", - Worcester, UK. - All rights reserved. - - LICENSE TERMS - - The free distribution and use of this software in both source and - binary form is allowed (with or without changes) provided that: - - 1. distributions of this source code include the above copyright - notice, this list of conditions and the following disclaimer; - - 2. distributions in binary form include the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other associated materials; - - 3. the copyright holder's name is not used to endorse products - built using this software without specific written permission. - - DISCLAIMER - - This software is provided 'as is' with no explcit or implied - warranties in respect of any properties, including, but not limited - to, correctness and fitness for purpose. - -====================================================================== - -Portions contributed by Red Hat, including the pre-authentication -plug-in framework and the NSS crypto implementation, contain the -following copyright: - - Copyright (C) 2006 Red Hat, Inc. - Portions copyright (C) 2006 Massachusetts Institute of Technology - All Rights Reserved. - - 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 Red Hat, 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. - -====================================================================== - -The bundled verto source code is subject to the following license: - - Copyright 2011 Red Hat, Inc. - - 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. - -====================================================================== - -The MS-KKDCP client implementation has the following copyright: - - Copyright 2013,2014 Red Hat, Inc. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - 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. - -====================================================================== - -The implementations of GSSAPI mechglue in GSSAPI-SPNEGO in -"src/lib/gssapi", including the following files: - - lib/gssapi/generic/gssapi_err_generic.et - lib/gssapi/mechglue/g_accept_sec_context.c - lib/gssapi/mechglue/g_acquire_cred.c - lib/gssapi/mechglue/g_canon_name.c - lib/gssapi/mechglue/g_compare_name.c - lib/gssapi/mechglue/g_context_time.c - lib/gssapi/mechglue/g_delete_sec_context.c - lib/gssapi/mechglue/g_dsp_name.c - lib/gssapi/mechglue/g_dsp_status.c - lib/gssapi/mechglue/g_dup_name.c - lib/gssapi/mechglue/g_exp_sec_context.c - lib/gssapi/mechglue/g_export_name.c - lib/gssapi/mechglue/g_glue.c - lib/gssapi/mechglue/g_imp_name.c - lib/gssapi/mechglue/g_imp_sec_context.c - lib/gssapi/mechglue/g_init_sec_context.c - lib/gssapi/mechglue/g_initialize.c - lib/gssapi/mechglue/g_inquire_context.c - lib/gssapi/mechglue/g_inquire_cred.c - lib/gssapi/mechglue/g_inquire_names.c - lib/gssapi/mechglue/g_process_context.c - lib/gssapi/mechglue/g_rel_buffer.c - lib/gssapi/mechglue/g_rel_cred.c - lib/gssapi/mechglue/g_rel_name.c - lib/gssapi/mechglue/g_rel_oid_set.c - lib/gssapi/mechglue/g_seal.c - lib/gssapi/mechglue/g_sign.c - lib/gssapi/mechglue/g_store_cred.c - lib/gssapi/mechglue/g_unseal.c - lib/gssapi/mechglue/g_userok.c - lib/gssapi/mechglue/g_utils.c - lib/gssapi/mechglue/g_verify.c - lib/gssapi/mechglue/gssd_pname_to_uid.c - lib/gssapi/mechglue/mglueP.h - lib/gssapi/mechglue/oid_ops.c - lib/gssapi/spnego/gssapiP_spnego.h - lib/gssapi/spnego/spnego_mech.c - -and the initial implementation of incremental propagation, including -the following new or changed files: - - include/iprop_hdr.h - kadmin/server/ipropd_svc.c - lib/kdb/iprop.x - lib/kdb/kdb_convert.c - lib/kdb/kdb_log.c - lib/kdb/kdb_log.h - lib/krb5/error_tables/kdb5_err.et - kprop/kpropd_rpc.c - kprop/kproplog.c - -are subject to the following license: - - Copyright (C) 2004 Sun Microsystems, Inc. - - 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. - -====================================================================== - -Kerberos V5 includes documentation and software developed at the -University of California at Berkeley, which includes this copyright -notice: - - Copyright (C) 1983 Regents of the University of California. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. Neither the name of the University 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 REGENTS 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 REGENTS - 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. - -====================================================================== - -Portions contributed by Novell, Inc., including the LDAP database -backend, are subject to the following license: - - Copyright (C) 2004-2005, Novell, Inc. - All rights reserved. - - 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. - - * The copyright holder's name is not 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. - -====================================================================== - -Portions funded by Sandia National Laboratory and developed by the -University of Michigan's Center for Information Technology -Integration, including the PKINIT implementation, are subject to the -following license: - - COPYRIGHT (C) 2006-2007 - THE REGENTS OF THE UNIVERSITY OF MICHIGAN - ALL RIGHTS RESERVED - - Permission is granted to use, copy, create derivative works and - redistribute this software and such derivative works for any - purpose, so long as the name of The University of Michigan is not - used in any advertising or publicity pertaining to the use of - distribution of this software without specific, written prior - authorization. If the above copyright notice or any other - identification of the University of Michigan is included in any - copy of any portion of this software, then the disclaimer below - must also be included. - - THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE - UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND - WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER - EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR - ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR - IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR - IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -====================================================================== - -The pkcs11.h file included in the PKINIT code has the following -license: - - Copyright 2006 g10 Code GmbH - Copyright 2006 Andreas Jellinghaus - - This file is free software; as a special exception the author gives - unlimited permission to copy and/or distribute it, with or without - modifications, as long as this notice is preserved. - - This file is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY, to the extent permitted by law; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - -====================================================================== - -Portions contributed by Apple Inc. are subject to the following -license: - - Copyright 2004-2008 Apple Inc. All Rights Reserved. - - Export of this software from the United States of America may - require a specific license from the United States Government. - It is the responsibility of any person or organization - contemplating export to obtain such a license before exporting. - - WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - distribute this software and its documentation for any purpose and - without fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright notice and - this permission notice appear in supporting documentation, and that - the name of Apple Inc. not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. Apple Inc. makes no representations - about the suitability of this software for any purpose. It is - provided "as is" without express or implied warranty. - - THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -====================================================================== - -The implementations of UTF-8 string handling in src/util/support and -src/lib/krb5/unicode are subject to the following copyright and -permission notice: - - The OpenLDAP Public License - Version 2.8, 17 August 2003 - - Redistribution and use of this software and associated - documentation ("Software"), with or without modification, are - permitted provided that the following conditions are met: - - 1. Redistributions in source form must retain copyright - statements and notices, - - 2. Redistributions in binary form must reproduce applicable - copyright statements and notices, this list of conditions, and - the following disclaimer in the documentation and/or other - materials provided with the distribution, and - - 3. Redistributions must contain a verbatim copy of this - document. - - The OpenLDAP Foundation may revise this license from time to time. - Each revision is distinguished by a version number. You may use - this Software under terms of this license revision or under the - terms of any subsequent revision of the license. - - THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS - CONTRIBUTORS "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 OPENLDAP FOUNDATION, ITS - CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE 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. - - The names of the authors and copyright holders must not be used in - advertising or otherwise to promote the sale, use or other dealing - in this Software without specific, written prior permission. Title - to copyright in this Software shall at all times remain with - copyright holders. - - OpenLDAP is a registered trademark of the OpenLDAP Foundation. - - Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, - California, USA. All Rights Reserved. Permission to copy and - distribute verbatim copies of this document is granted. - -====================================================================== - -Marked test programs in src/lib/krb5/krb have the following copyright: - - Copyright (C) 2006 Kungliga Tekniska Högskola - (Royal Institute of Technology, Stockholm, Sweden). - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. Neither the name of KTH 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 KTH AND ITS 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 KTH 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. - -====================================================================== - -The KCM Mach RPC definition file used on macOS has the following -copyright: - - Copyright (C) 2009 Kungliga Tekniska Högskola - (Royal Institute of Technology, Stockholm, Sweden). - All rights reserved. - - Portions Copyright (C) 2009 Apple Inc. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE - 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. - -====================================================================== - -Portions of the RPC implementation in src/lib/rpc and -src/include/gssrpc have the following copyright and permission notice: - - Copyright (C) 2010, Oracle America, Inc. - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. Neither the name of the "Oracle America, 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 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. - -====================================================================== - - Copyright (C) 2006,2007,2009 NTT (Nippon Telegraph and Telephone - Corporation). All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer as the first lines of this file unmodified. - - 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. - - THIS SOFTWARE IS PROVIDED BY NTT "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 NTT 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. - -====================================================================== - - Copyright 2000 by Carnegie Mellon University - - All Rights Reserved - - Permission to use, copy, modify, and distribute this software and - its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that copyright notice and this permission - notice appear in supporting documentation, and that the name of - Carnegie Mellon University not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. - - CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO - THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE - FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING - OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - SOFTWARE. - -====================================================================== - - Copyright (C) 2002 Naval Research Laboratory (NRL/CCS) - - Permission to use, copy, modify and distribute this software and - its documentation is hereby granted, provided that both the - copyright notice and this permission notice appear in all copies of - the software, derivative works or modified versions, and any - portions thereof. - - NRL ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND - DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER - RESULTING FROM THE USE OF THIS SOFTWARE. - -====================================================================== - - Copyright (C) 1991, 1992, 1994 by Cygnus Support. - - Permission to use, copy, modify, and distribute this software and - its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that copyright notice and this permission - notice appear in supporting documentation. Cygnus Support makes no - representations about the suitability of this software for any - purpose. It is provided "as is" without express or implied - warranty. - -====================================================================== - - Copyright (C) 2006 Secure Endpoints Inc. - - 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 of the implementation of the Fortuna-like PRNG are subject to -the following notice: - - Copyright (C) 2005 Marko Kreen - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - - Copyright (C) 1994 by the University of Southern California - - EXPORT OF THIS SOFTWARE from the United States of America may - require a specific license from the United States Government. It - is the responsibility of any person or organization - contemplating export to obtain such a license before exporting. - - WITHIN THAT CONSTRAINT, permission to copy, modify, and distribute - this software and its documentation in source and binary forms is - hereby granted, provided that any documentation or other materials - related to such distribution or use acknowledge that the software - was developed by the University of Southern California. - - DISCLAIMER OF WARRANTY. THIS SOFTWARE IS PROVIDED "AS IS". The - University of Southern California MAKES NO REPRESENTATIONS OR - WARRANTIES, EXPRESS OR IMPLIED. By way of example, but not - limitation, the University of Southern California MAKES NO - REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE. The University of Southern California shall not - be held liable for any liability nor for any direct, indirect, or - consequential damages with respect to any claim by the user or - distributor of the ksu software. - -====================================================================== - - Copyright (C) 1995 - The President and Fellows of Harvard University - - This code is derived from software contributed to Harvard by Jeremy - Rassen. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. All advertising materials mentioning features or use of this - software must display the following acknowledgement: - - This product includes software developed by the University of - California, Berkeley and its contributors. - - 4. Neither the name of the University 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 REGENTS 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 REGENTS - 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. - -====================================================================== - - Copyright (C) 2008 by the Massachusetts Institute of Technology. - Copyright 1995 by Richard P. Basch. All Rights Reserved. - Copyright 1995 by Lehman Brothers, Inc. All Rights Reserved. - - Export of this software from the United States of America may - require a specific license from the United States Government. It - is the responsibility of any person or organization - contemplating export to obtain such a license before exporting. - - WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - distribute this software and its documentation for any purpose and - without fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright notice and - this permission notice appear in supporting documentation, and that - the name of Richard P. Basch, Lehman Brothers and M.I.T. not be - used in advertising or publicity pertaining to distribution of the - software without specific, written prior permission. Richard P. - Basch, Lehman Brothers and M.I.T. make no representations about the - suitability of this software for any purpose. It is provided "as - is" without express or implied warranty. - -====================================================================== - -The following notice applies to "src/lib/krb5/krb/strptime.c" and -"src/include/k5-queue.h". - - Copyright (C) 1997, 1998 The NetBSD Foundation, Inc. - All rights reserved. - - This code was contributed to The NetBSD Foundation by Klaus Klein. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. All advertising materials mentioning features or use of this - software must display the following acknowledgement: - - This product includes software developed by the NetBSD - Foundation, Inc. and its contributors. - - 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -====================================================================== - -The following notice applies to Unicode library files in -"src/lib/krb5/unicode": - - Copyright 1997, 1998, 1999 Computing Research Labs, - New Mexico State University - - 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 COMPUTING RESEARCH LAB OR - NEW MEXICO STATE UNIVERSITY 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. - -====================================================================== - -The following notice applies to "src/util/support/strlcpy.c": - - Copyright (C) 1998 Todd C. Miller "Todd.Miller@courtesan.com" - - Permission to use, copy, modify, and distribute this software for - any purpose with or without fee is hereby granted, provided that - the above copyright notice and this permission notice appear in all - copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR - CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -====================================================================== - -The following notice applies to "src/util/profile/argv_parse.c" and -"src/util/profile/argv_parse.h": - - Copyright 1999 by Theodore Ts'o. - - Permission to use, copy, modify, and distribute this software for - any purpose with or without fee is hereby granted, provided that - the above copyright notice and this permission notice appear in all - copies. THE SOFTWARE IS PROVIDED "AS IS" AND THEODORE TS'O (THE - AUTHOR) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN - NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER - RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. (Isn't - it sick that the U.S. culture of lawsuit-happy lawyers requires - this kind of disclaimer?) - -====================================================================== - -The following notice applies to SWIG-generated code in -"src/util/profile/profile_tcl.c": - - Copyright (C) 1999-2000, The University of Chicago - - This file may be freely redistributed without license or fee - provided this copyright message remains intact. - -====================================================================== - -The following notice applies to portiions of "src/lib/rpc" and -"src/include/gssrpc": - - Copyright (C) 2000 The Regents of the University of Michigan. All - rights reserved. - - Copyright (C) 2000 Dug Song "dugsong@UMICH.EDU". All rights - reserved, all wrongs reversed. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. Neither the name of the University 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 "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 REGENTS 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. - -====================================================================== - -Implementations of the MD4 algorithm are subject to the following -notice: - - Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. - - License to copy and use this software is granted provided that it - is identified as the "RSA Data Security, Inc. MD4 Message Digest - Algorithm" in all material mentioning or referencing this software - or this function. - - License is also granted to make and use derivative works provided - that such works are identified as "derived from the RSA Data - Security, Inc. MD4 Message Digest Algorithm" in all material - mentioning or referencing the derived work. - - RSA Data Security, Inc. makes no representations concerning either - the merchantability of this software or the suitability of this - software for any particular purpose. It is provided "as is" - without express or implied warranty of any kind. - - These notices must be retained in any copies of any part of this - documentation and/or software. - -====================================================================== - -Implementations of the MD5 algorithm are subject to the following -notice: - - Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. - - License to copy and use this software is granted provided that it - is identified as the "RSA Data Security, Inc. MD5 Message- Digest - Algorithm" in all material mentioning or referencing this software - or this function. - - License is also granted to make and use derivative works provided - that such works are identified as "derived from the RSA Data - Security, Inc. MD5 Message-Digest Algorithm" in all material - mentioning or referencing the derived work. - - RSA Data Security, Inc. makes no representations concerning either - the merchantability of this software or the suitability of this - software for any particular purpose. It is provided "as is" - without express or implied warranty of any kind. - - These notices must be retained in any copies of any part of this - documentation and/or software. - -====================================================================== - -The following notice applies to -"src/lib/crypto/crypto_tests/t_mddriver.c": - - Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All - rights reserved. - - RSA Data Security, Inc. makes no representations concerning either - the merchantability of this software or the suitability of this - software for any particular purpose. It is provided "as is" without - express or implied warranty of any kind. - - These notices must be retained in any copies of any part of this - documentation and/or software. - -====================================================================== - -Portions of "src/lib/krb5" are subject to the following notice: - - Copyright (C) 1994 CyberSAFE Corporation. - Copyright 1990,1991,2007,2008 by the Massachusetts - Institute of Technology. - All Rights Reserved. - - Export of this software from the United States of America may - require a specific license from the United States Government. It - is the responsibility of any person or organization - contemplating export to obtain such a license before exporting. - - WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - distribute this software and its documentation for any purpose and - without fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright notice and - this permission notice appear in supporting documentation, and that - the name of M.I.T. not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. Furthermore if you modify this software - you must label your software as modified software and not - distribute it in such a fashion that it might be confused with the - original M.I.T. software. Neither M.I.T., the Open Computing - Security Group, nor CyberSAFE Corporation make any representations - about the suitability of this software for any purpose. It is - provided "as is" without express or implied warranty. - -====================================================================== - -Portions contributed by PADL Software are subject to the following -license: - - Copyright (c) 2011, PADL Software Pty Ltd. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - 3. Neither the name of PADL Software 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 PADL SOFTWARE 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 PADL SOFTWARE - 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. - -====================================================================== - -The bundled libev source code is subject to the following license: - - All files in libev are Copyright (C)2007,2008,2009 Marc Alexander - Lehmann. - - 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. - - 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. - - Alternatively, the contents of this package may be used under the - terms of the GNU General Public License ("GPL") version 2 or any - later version, in which case the provisions of the GPL are - applicable instead of the above. If you wish to allow the use of - your version of this package only under the terms of the GPL and - not to allow others to use your version of this file under the BSD - license, indicate your decision by deleting the provisions above - and replace them with the notice and other provisions required by - the GPL in this and the other files of this package. If you do not - delete the provisions above, a recipient may use your version of - this file under either the BSD or the GPL. - -====================================================================== - -Files copied from the Intel AESNI Sample Library are subject to the -following license: - - Copyright (C) 2010, Intel Corporation All rights reserved. - - 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 Intel Corporation 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. - -====================================================================== - -The following notice applies to -"src/ccapi/common/win/OldCC/autolock.hxx": - - Copyright (C) 1998 by Danilo Almeida. All rights reserved. - - 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. - - 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. - -====================================================================== - -The following notice applies to portions of -"src/plugins/preauth/spake/edwards25519.c" and -"src/plugins/preauth/spake/edwards25519_tables.h": - -The MIT License (MIT) - -Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS -file). - -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. - -====================================================================== - -The following notice applies to portions of -"src/plugins/preauth/spake/edwards25519.c": - -Copyright (c) 2015-2016, Google Inc. - -Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all -copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -Copyright Statements -Copyright 1985-2012 by the Massachusetts Institute of Technology. All rights reserved. - -License Text (http://web.mit.edu/kerberos/krb5-devel/doc/mitK5license.html) -Made available under the MIT Kerberos License. See Appendix for full text. - -Source materials are available for download at: http://web.mit.edu/kerberos/www/dist/index.html -Moby Lexical Tools -Attribution Statements -http://icon.shef.ac.uk/Moby/ -http://web.archive.org/web/20170930060409/http://icon.shef.ac.uk/Moby/ - -SGML markup by Jon Bosak, 1992-1994. -XML version by Jon Bosak, 1996-1999. - -Copyright Statements -The XML markup in this version is Copyright © 1999 Jon Bosak. - -License Text (http://icon.shef.ac.uk/Moby/) -ASCII text placed in the public domain by Moby Lexical Tools, 1992. -This work may freely be distributed on condition that it not be modified or altered in any way. - -Source materials are available for download at: http://www.gutenberg.org/ -Mocha 6.2.2 -Attribution Statements -https://mochajs.org/ - -Copyright Statements -Copyright (c) 2011-2018 JS Foundation and contributors, https://js.foundation - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mochajs/mocha -Mockito 1.10.19 -Attribution Statements -http://site.mockito.org/ - -Copyright Statements -Copyright (c) 2007 Mockito contributors - -License Text (https://spdx.org/licenses/MIT.html) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/mockito/mockito -Moment.js 2.24.0 -Attribution Statements -http://momentjs.com/ - -Copyright Statements -Copyright (c) JS Foundation and other contributors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/moment/moment -multipart-stream 2.0.1 -Attribution Statements -https://github.com/hendrikcech/multipart-stream - -Copyright Statements -Copyright (C) 2014, Hendrik Cech - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/hendrikcech/multipart-stream -MXP1: Xml Pull Parser 3rd Edition (XPP3) 1.1.4c -Attribution Statements -http://www.extreme.indiana.edu/xgws/xsoap/xpp/mxp1/ - -Copyright Statements -Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved. - -License Text (http://www.extreme.indiana.edu/dist/java-repository/xpp3/licenses/LICENSE.txt) -Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - -3. The end-user documentation included with the redistribution, if any, - must include the following acknowledgment: - "This product includes software developed by the Indiana University - Extreme! Lab (http://www.extreme.indiana.edu/)." -Alternately, this acknowledgment may appear in the software itself, -if and wherever such third-party acknowledgments normally appear. - -4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" -must not be used to endorse or promote products derived from this -software without prior written permission. For written permission, -please contact http://www.extreme.indiana.edu/. - -5. Products derived from this software may not use "Indiana Univeristy" -name nor may "Indiana Univeristy" appear in their name, without prior -written permission of the Indiana University. - -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 AUTHORS, COPYRIGHT HOLDERS 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. - -Source materials are available for download at: http://www.extreme.indiana.edu/dist/java-repository/xpp3/distributions/ -ng2-device-detector 1.0.0 -Attribution Statements -https://github.com/KoderLabs/ng2-device-detector - -Copyright Statements -Copyright (C) 2018, Ahsan Ayaz - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/KoderLabs/ng2-device-detector -ngx-bootstrap 3.0.1 -Attribution Statements -https://valor-software.com/ngx-bootstrap/#/ - -Copyright Statements -Copyright (C) 2018, Dmitriy Shekhovtsov - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/valor-software/ngx-bootstrap -ngx-bootstrap 3.1.4 -Attribution Statements -https://valor-software.com/ngx-bootstrap/#/ - -Copyright Statements -Copyright (C) 2018, Dmitriy Shekhovtsov - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/valor-software/ngx-bootstrap -node-sass 4.12.0 -Attribution Statements -https://github.com/sass/node-sass - -node-sass may include the following software under license: -async-foreach 0.1.3 (MIT) - Copyright (c) 2011 "Cowboy" Ben Alman -chalk 1.1.1 (MIT) - Copyright (c) Sindre Sorhus (sindresorhus.com) -cross-spawn 3.0.0 (MIT) - Copyright (c) 2018 Made With MOXY Lda -gaze 1.0.0 (MIT) - Copyright (c) 2018 Kyle Robinson Young -get-stdin 4.0.1 (MIT) - Copyright (c) Sindre Sorhus (sindresorhus.com) -glob 7.0.3 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors -in-publish 2.0.0 (ISC) - Copyright (c) 2015, Rebecca Turner -lodash 4.17.15 (MIT) - Copyright JS Foundation and other contributors -meow 3.7.0 (MIT) - Copyright (c) Sindre Sorhus (sindresorhus.com) -mkdirp 0.5.1 (MIT) - Copyright 2010 James Halliday (mail@substack.net) -nan 2.13.2 (MIT) - Copyright (c) 2018 NAN contributors -node-gyp 3.8.0 (MIT) - Copyright (c) 2012 Nathan Rajlich -npmlog 4.0.0 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors -request 2.88.0 (Apache-2.0) - Copyright 2010-2012 Mikeal Rogers -sass-graph 2.2.4 (MIT) - Copyright 2014 Michael Mifsud -stdout-stream 1.4.0 (MIT) - Copyright 2013 Mathias Buus -true-case-path 1.0.2 (Apache-2.0) - Profiscienc? https://www.profiscience.com/ - -Copyright Statements -Copyright (c) 2013-2016 Andrew Nesbitt - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/sass/node-sass -node-sass-tilde-importer 1.0.2 -Attribution Statements -https://github.com/matthewdavidson/node-sass-tilde-importer - -node-sass-tilde-importer may include the following software under license: -find-parent-dir 0.3.0 (MIT) - Copyright 2013 Thorsten Lorenz. All rights reserved. - -Copyright Statements -Copyright 2016 Matthew Davidson - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/matthewdavidson/node-sass-tilde-importer -node-tar 4.4.9 -Attribution Statements -https://github.com/npm/node-tar - -node-tar may include the following software under license: -chownr 1.1.3 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors -fs-minipass 2.0.0 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors -minipass 3.0.0 (ISC) - Copyright (c) npm, Inc. and Contributors -minizlib 2.1.0 (MIT) - Copyright Isaac Z. Schlueter and Contributors; Copyright Node.js contributors. All rights reserved.; Copyright Joyent, Inc. and other Node contributors. All rights reserved. -mkdirp 0.5.0 (MIT) - Copyright 2010 James Halliday (mail@substack.net) -yallist 4.0.0 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors - -Copyright Statements -Copyright (c) Isaac Z. Schlueter and Contributors - -License Text (http://spdx.org/licenses/ISC.html) -Made available under the ISC License. See Appendix for full text. - -Source materials are available for download at: https://github.com/npm/node-tar -Noto Sans webfont -Attribution Statements -https://fonts.google.com/specimen/Noto+Sans - -Copyright Statements -Google - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://fonts.google.com/specimen/Noto+Sans -okhttp 4.10.0 -Copyright Statements -Copyright (C) 2022, Square, Inc. - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - 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. - -OkHttp 4.4.0 -Attribution Statements -http://square.github.io/okhttp/ - -Copyright Statements -Copyright 2016 Square, Inc. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -okhttp-digest 2.2 -Attribution Statements -https://github.com/rburgst/okhttp-digest/ - -The following NOTICEs are pertain to software distributed with this project. -Apache HttpComponents HttpClient -Copyright 1999-2011 The Apache Software Foundation - -Copyright Statements -rburgst http://rainer.4950.net - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/rburgst/okhttp-digest/ -opencsv 4.1 -Attribution Statements -http://opencsv.sf.net - -Copyright Statements -Copyright © 2017. All rights reserved. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://sourceforge.net/p/opencsv/source/ci/master/tree/ -Protocol Buffers (protobuf) 2.5.0 -Attribution Statements -https://developers.google.com/protocol-buffers/ - -This license applies to all parts of Protocol Buffers except the following: - - - Atomicops support for generic gcc, located in - src/google/protobuf/stubs/atomicops_internals_generic_gcc.h. - This file is copyrighted by Red Hat Inc. - - - Atomicops support for AIX/POWER, located in - src/google/protobuf/stubs/atomicops_internals_power.h. - This file is copyrighted by Bloomberg Finance LP. - -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. - -Copyright Statements -Copyright 2014, Google Inc. All rights reserved. - -License Text (http://spdx.org/licenses/BSD-3-Clause) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: https://github.com/google/protobuf -Protractor 5.4.2 -Attribution Statements -http://www.protractortest.org/#/ - -Copyright Statements -Copyright (c) 2010-2017 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/protractor -protractor-html-reporter 1.3.2 -Attribution Statements -https://github.com/etxebe/protractor-html-reporter - -protractor-html-reporter may include the following software under license: -fs 0.0.1-security (ISC) - npm https://www.npmjs.com/ -fs-extra 1.0.0 (MIT) - Copyright (c) 2011-2017 JP Richardson -lodash 4.17.2 (MIT) - Copyright JS Foundation and other contributors -path 0.12.7 (MIT) - Copyright Joyent, Inc. and other Node contributors. All rights reserved. -xmldoc 0.5.1 (MIT) - Copyright 2012 Nick Farina. All rights reserved. - -Copyright Statements -Copyright (c) 2016 - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/etxebe/protractor-html-reporter -protractor-jasmine2-html-reporter 0.0.7 -Attribution Statements -https://github.com/Kenzitron/protractor-jasmine2-html-reporter - -protractor-jasmine2-html-reporter may include the following software under license: -async 2.1.4 (MIT) - Copyright (c) 2010-2018 Caolan McMahon -hat 0.0.3 (MIT) - James Halliday mail@substack.net http://substack.net -lodash 4.17.0 (MIT) - Copyright JS Foundation and other contributors -mkdirp 0.5.0 (MIT) - Copyright 2010 James Halliday (mail@substack.net) -string.prototype.startswith 0.2.0 (MIT) - Copyright Mathias Bynens - -Copyright Statements -Alejandro Asensio (http://www.kenzilab.com/) - -License Text (http://spdx.org/licenses/BSD-2-Clause) -Made available under the BSD 2-Clause "Simplified" License. See Appendix for full text. - -Source materials are available for download at: https://github.com/Kenzitron/protractor-jasmine2-html-reporter -protractor-screenshoter-plugin 0.10.3 -Attribution Statements -https://github.com/azachar/protractor-screenshoter-plugin - -protractor-screenshoter-plugin may include the following software under license: -circular-json 0.5.1 (MIT) - Copyright (C) 2013-2017 by Andrea Giammarchi - @WebReflection -fs-extra 7.0.0 (MIT) - Copyright (c) 2011-2017 JP Richardson -klaw-sync 6.0.0 (MIT) - Copyright (c) 2017 Mani Maghsoudlou -lodash 4.17.11 (MIT) - Copyright JS Foundation and other contributors -mkdirp 0.5.1 (MIT) - Copyright 2010 James Halliday (mail@substack.net) -moment 2.20.1 (MIT) - Copyright (c) JS Foundation and other contributors -q 1.5.1 (MIT) - Copyright 2009–2018 Kristopher Michael Kowal. All rights reserved. -screenshoter-report-analyzer 0.6 (MIT) - Copyright (c) 2016 Andrej Zachar -uuid 3.1.0 (MIT) - Copyright (c) 2010-2016 Robert Kieffer and other contributors - -Copyright Statements -Copyright (c) 2015-2016 Andrej Zachar, Abhishek Swain - -Copyright for portions of project protractor-screenshoter-plugin is held -by Abhishek Swain, 2015 as part of project jasmine2-protractor-utils. - -All other copyright for project protractor-screenshoter-plugin is -held by Andrej Zachar, 2016. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/azachar/protractor-screenshoter-plugin -qs 6.9.1 -Attribution Statements -https://github.com/ljharb/qs - -The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors - -Copyright Statements -Copyright (c) 2014 Nathan LaFreniere and other contributors. -All rights reserved. - -License Text (http://spdx.org/licenses/BSD-3-Clause) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ljharb/qs -read 1.0.7 -Attribution Statements -https://github.com/npm/read - -Copyright Statements -Copyright (c) Isaac Z. Schlueter and Contributors - -License Text (http://spdx.org/licenses/ISC.html) -Made available under the ISC License. See Appendix for full text. - -Source materials are available for download at: https://github.com/npm/read -rimraf 2.6.3 -Attribution Statements -https://github.com/isaacs/rimraf - -Copyright Statements -Copyright (c) Isaac Z. Schlueter and Contributors - -License Text (http://spdx.org/licenses/ISC) -Made available under the ISC License. See Appendix for full text. - -Source materials are available for download at: https://github.com/isaacs/rimraf -RxJS 6.3.3 -Attribution Statements -https://rxjs-dev.firebaseapp.com/ - -Copyright Statements -Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/ReactiveX/RxJS -RxJS 6.5.2 -Attribution Statements -https://rxjs-dev.firebaseapp.com/ - -Copyright Statements -Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/ReactiveX/RxJS -sanitize-html 1.22.0 -Attribution Statements -https://github.com/apostrophecms/sanitize-html - -Copyright Statements -Copyright (c) 2013, 2014, 2015 P'unk Avenue LLC - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/apostrophecms/sanitize-html -sass-loader 7.1.0 -Attribution Statements -https://github.com/webpack-contrib/sass-loader - -sass-loader may include the following software under license: -clone-deep 4.0.1 (MIT) - Copyright (c) 2014-2018, Jon Schlinkert. -loader-utils 1.2.3 (MIT) - Copyright JS Foundation and other contributors -neo-async 2.6.1 (MIT) - Copyright (c) 2014-2018 Suguru Motegi -schema-utils 2.4.1 (MIT) - Copyright JS Foundation and other contributors -semver 6.3.0 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors - -Copyright Statements -Copyright JS Foundation and other contributors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/webpack-contrib/sass-loader -Saxon-HE 9.7.0-7 -Attribution Statements -http://www.saxonica.com/products/PD9.9/HE.pdf - -(This notice is included in the Saxon distribution because Saxon includes a QuickSort -module that was originally developed by Wolfgang Hoschek at CERN, and which was licensed -for use under the conditions specified here.) - -Copyright © 1999 CERN - European Organization for Nuclear Research. - -Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose -is hereby granted without fee, provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear in supporting documentation. -CERN makes no representations about the suitability of this software for any purpose. -It is provided "as is" without expressed or implied warranty. - ------ - -(This notice is included in the Saxon distribution because Saxon -uses code extracted from the PCollections library. The only substantive change -in the version distributed with Saxon is the removal of code that Saxon does not need.) - -(This license is published at https://github.com/hrldcpr/pcollections/blob/master/LICENSE) - -MIT License - -Copyright 2008 Harold Cooper - -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. - ------ - -(This notice is included in the Saxon distribution because Saxon's XPath parser -was originally derived from an XPath parser written by James Clark and made available -under this license. The Saxon XPath parser has since diverged very substantially, but -there are traces of the original code still present.) - -Copyright (c) 1998, 1999 James Clark - -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 JAMES CLARK 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. - -Except as contained in this notice, the name of James Clark shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from James Clark. - ------ - -(This notice is included in the Saxon distribution because Saxon -uses code for conversion of XML Schema Regular expressions to -Java/.NET regular expressions that was originally written by James -Clark and made available under this license. The Saxon version of -the code has been enhanced in various ways but is still recognizably -based on the original.) - -Copyright (c) 2001-2003 Thai Open Source Software Center Ltd -All rights reserved. - -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 Thai Open Source Software Center Ltd 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 REGENTS 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. - ------ - -(This notice is included in the Saxon distribution because Saxon -uses code performing Unicode Normalization that was originally written by Mark -Davis and made available under this license. The Saxon version of the -code has been enhanced in various minor ways but is still recognizably -based on the original. For details of modifications, see the comments in -the source code.) - -COPYRIGHT AND PERMISSION NOTICE -Copyright © 1991-2007 Unicode, Inc. All rights reserved. Distributed under the Terms of Use -in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode -data files and any associated documentation (the "Data Files") or Unicode software and any -associated documentation (the "Software") to deal in the Data Files or Software without -restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, -and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or -Software are furnished to do so, provided that (a) the above copyright notice(s) and this -permission notice appear with all copies of the Data Files or Software, (b) both the above -copyright notice(s) and this permission notice appear in associated documentation, and -(c) there is clear notice in each modified Data File or in the Software as well as in the -documentation associated with the Data File(s) or Software that the data or software has -been modified. - -THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not be used -in advertising or otherwise to promote the sale, use or other dealings in these -Data Files or Software without prior written authorization of the copyright holder. - -Copyright Statements -Copyright (C) 2017, Saxonica, John Lumley, Debbie Lockett, Michael Kay, O'Neil Delpratt - -License Text (https://spdx.org/licenses/MPL-2.0.html) -Made available under the Mozilla Public License 2.0. See Appendix for full text. - -Source materials are available for download at: https://sourceforge.net/projects/saxon/files/Saxon-HE/ -semver(1) 5.5.1 -Attribution Statements -https://www.npmjs.com/package/semver - -Copyright Statements -Copyright (c) Isaac Z. Schlueter and Contributors - -License Text (http://spdx.org/licenses/ISC) -Made available under the ISC License. See Appendix for full text. - -Source materials are available for download at: https://github.com/npm/node-semver -Should.js 13.2.3 -Attribution Statements -http://shouldjs.github.io/ - -Copyright Statements -Copyright(c) 2010-2013 TJ Holowaychuk -Copyright(c) 2013-2017 Denis Bardadym - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/shouldjs/should.js -SLF4J 1.7.25 -Attribution Statements -http://www.slf4j.org - -Copyright Statements -Copyright (c) 2004-2007 QOS.ch. All rights reserved. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/qos-ch/slf4j/tree/master/slf4j-api -SLF4J 1.7.32 -Attribution Statements -http://www.slf4j.org - -Copyright Statements -Copyright (c) 2004-2007 QOS.ch. All rights reserved. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/qos-ch/slf4j/tree/master/slf4j-api -slf4j-api 1.7.36 -License Text (http://www.opensource.org/licenses/mit-license.php) -MIT License - -Copyright (c) - -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. - -SockJS-client 1.3.0 -Attribution Statements -http://sockjs.org - -Copyright Statements -Copyright (c) 2011-2012 VMware, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/sockjs/sockjs-client -Spock Framework 1.2 -Attribution Statements -http://spockframework.org/ - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -It includes the following other software: - -gentyref (http://code.google.com/p/gentyref/) - -For licenses see the LICENSE file. - -If any software distributed with Spock does not have an Apache 2 License, its license is explicitly listed in the -LICENSE file. - -Copyright Statements -Copyright 2010 the original author or authors. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/spockframework/spock -Spring Boot 1.5.6.RELEASE -Attribution Statements -https://projects.spring.io/spring-boot/ - -Copyright Statements -Copyright 2012-2018 the original author or authors. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/spring-projects/spring-boot -Spring Framework 5.0.4.RELEASE -Attribution Statements -https://projects.spring.io/spring-framework/ - -Copyright Statements -Copyright (c) 2002-2013 Pivotal, Inc. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/spring-projects/spring-framework -Stax2 APIi 4.2.1 -Attribution Statements -http://github.com/FasterXML/stax2-api - -Copyright Statements -Copyright (C) 2022, fasterxml.com, Tatu Saloranta - -License Text (https://spdx.org/licenses/BSD-2-Clause.html) -Made available under the BSD 2-Clause "Simplified" License. See Appendix for full text. - -Source materials are available for download at: http://github.com/FasterXML/stax2-api -Stream to Array -Attribution Statements -https://github.com/stream-utils/stream-to-array#readme - -Copyright Statements -Copyright (c) 2014 Jonathan Ong me@jongleberry.com - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/stream-utils/stream-to-array#readme -Sunlight 1.22.0 -Attribution Statements -http://sunlightjs.com/ - -Copyright Statements -by Tommy Montgomery - -License Text (https://spdx.org/licenses/WTFPL.html) -Made available under the Do What The F*ck You Want To Public License. See Appendix for full text. - -Source materials are available for download at: https://github.com/tmont/sunlight -Swagger Express Middleware 2.0.1 -Attribution Statements -https://apidevtools.org/swagger-express-middleware/ - -Copyright Statements -Copyright (c) 2015 James Messinger - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/APIDevTools/swagger-express-middleware -Swagger UI Express 4.0.2 -Attribution Statements -https://github.com/scottie1984/swagger-ui-express - -Copyright Statements -Copyright (c) 2018 Scott IT London - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/scottie1984/swagger-ui-express -swagger-tools 0.10.4 -Attribution Statements -https://github.com/apigee-127/swagger-tools - -swagger-tools may include the following software under license: -async 2.5.0 (MIT) - Copyright (c) 2010-2018 Caolan McMahon -body-parser 1.18.2 (MIT) - Copyright (c) 2014 Jonathan Ong ; Copyright (c) 2014-2015 Douglas Christopher Wilson -commander 2.11.0 (MIT) - Copyright (c) 2011 TJ Holowaychuk -debug 3.1.0 (MIT) - Copyright (c) 2014 TJ Holowaychuk -js-yaml 3.3.1 (MIT) - Copyright (C) 2011-2015 by Vitaly Puzrin -json-refs 3.0.2 (MIT) - Copyright (c) 2014 Jeremy Whitlock -lodash 4.17.4 (MIT) - Copyright JS Foundation and other contributors -multer 1.1.0 (MIT) - Copyright (c) 2014 Hage Yaapa <[http://www.hacksparrow.com](http://www.hacksparrow.com)> -parseurl 1.3.0 (MIT) - Copyright (c) 2014 Jonathan Ong ; Copyright (c) 2014-2017 Douglas Christopher Wilson -path-to-regexp 2.0.0 (MIT) - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -qs 6.0.3 (MIT) - Copyright (c) 2014, Nathan LaFreniere and other contributors All rights reserved. -serve-static 1.10.0 (MIT) - Copyright (c) 2010 Sencha Inc.; Copyright (c) 2011 LearnBoost; Copyright (c) 2011 TJ Holowaychuk; Copyright (c) 2014-2016 Douglas Christopher Wilson -spark-md5 3.0.0 (MIT) - Copyright (c) 2015 André Cruz -superagent 3.5.2 (MIT) - Copyright (c) 2014-2016 TJ Holowaychuk -swagger-converter 0.1.7 (MIT) - Copyright (c) 2014 Apigee Corporation -traverse 0.6.6 (MIT) - Copyright 2010 James Halliday (mail@substack.net) -z-schema 3.15.4 (MIT) - Copyright (c) 2014 Martin Zagora and other contributors https://github.com/zaggino/z-schema/graphs/contributors - -Copyright Statements -Copyright (c) 2014 Apigee Corporation - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/apigee-127/swagger-tools -through2 3.0.1 -Attribution Statements -https://github.com/rvagg/through2 - -Copyright Statements -Copyright (c) 2016 Rod Vagg (the "Original Author") and additional contributors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/rvagg/through2 -tmp 0.0.33 -Attribution Statements -https://github.com/raszi/node-tmp - -node-tmp may include the following software under license: -rimraf 2.6.3 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors - -Copyright Statements -Copyright (c) 2014 KARASZI István - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/raszi/node-tmp -trace-ui 3.0.0 -Attribution Statements -https://github.com/ancestorcloud/trace-ui - -Copyright Statements -Copyright (c) 2017 ancestorcloud - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/ancestorcloud/trace-ui -ts-node 4.1.0 -Attribution Statements -https://github.com/TypeStrong/ts-node - -ts-node may include the following software under license: -arg 4.1.0 (MIT) - Copyright (c) 2017-2019 Zeit, Inc. -diff 4.0.1 (BSD-3-clause) - Copyright (c) 2009-2015, Kevin Decker -make-error 1.1.1 (ISC) - Copyright 2014 Julien Fontanet -source-map-support 0.5.6 (MIT) - Copyright (c) 2014 Evan Wallace -yn 3.0.0 (MIT) - Copyright (c) Sindre Sorhus (sindresorhus.com) - -Copyright Statements -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/TypeStrong/ts-node -TSLint 5.12.1 -Attribution Statements -https://palantir.github.io/tslint/ - -TSLint may include the following software under license: -@babel/code-frame 7.0.0 (MIT) - Sebastian McKenzie https://babeljs.io/ -builtin-modules 1.1.1 (MIT) - Copyright (c) Sindre Sorhus (sindresorhus.com) -chalk 2.3.0 (MIT) - Copyright (c) Sindre Sorhus (sindresorhus.com) -commander 2.12.1 (MIT) - Copyright (c) 2011 TJ Holowaychuk -diff 4.0.1 (BSD-3-clause) - Copyright (c) 2009-2015, Kevin Decker -glob 7.1.1 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors -js-yaml 3.13.1 (MIT) - Copyright (C) 2011-2015 by Vitaly Puzrin -minimatch 3.0.4 (MIT) - Copyright (c) Isaac Z. Schlueter and Contributors -mkdirp 0.5.1 (MIT) - Copyright 2010 James Halliday (mail@substack.net) -resolve 1.3.2 (MIT) - Copyright (c) 2012 James Halliday -semver 5.3.0 (ISC) - Copyright (c) Isaac Z. Schlueter and Contributors -tslib 1.10.0 (Apache-2.0) - Copyright (c) Microsoft Corporation. All rights reserved. -tsutils 2.29.0 (MIT) - Copyright (c) 2017 Klaus Meinhardt - -Copyright Statements -Copyright 2018 Palantir Technologies, Inc. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/palantir/tslint -TypeScript 3.7.2 -Attribution Statements -https://www.typescriptlang.org/ - -The TypeScript software incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise. - ---------------------------------------------- -Third Party Code Components --------------------------------------------- - -------------------- DefinitelyTyped -------------------- -This file is based on or incorporates material from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. -DefinitelyTyped -This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file. Provided for Informational Purposes Only - -MIT License -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. --------------------------------------------------------------------------------------- - -------------------- Unicode -------------------- -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -Unicode Data Files include all data files under the directories -http://www.unicode.org/Public/, http://www.unicode.org/reports/, -http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and -http://www.unicode.org/utility/trac/browser/. - -Unicode Data Files do not include PDF online code charts under the -directory http://www.unicode.org/Public/. - -Software includes any source code published in the Unicode Standard -or under the directories -http://www.unicode.org/Public/, http://www.unicode.org/reports/, -http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and -http://www.unicode.org/utility/trac/browser/. - -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1991-2017 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. -------------------------------------------------------------------------------------- - --------------------Document Object Model----------------------------- -DOM - -W3C License -This work is being provided by the copyright holders under the following license. -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following -on ALL copies of the work or portions thereof, including modifications: -* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived -from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR -FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. -Title to copyright in this work will at all times remain with copyright holders. - ---------- - -DOM -Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License: Attribution 4.0 International -======================================================================= -Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: - -wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= -Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. - --------------------------------------------------------------------------------- - -----------------------Web Background Synchronization------------------------------ - -Web Background Synchronization Specification -Portions of spec © by W3C - -W3C Community Final Specification Agreement -To secure commitments from participants for the full text of a Community or Business Group Report, the group may call for voluntary commitments to the following terms; a "summary" is -available. See also the related "W3C Community Contributor License Agreement". -1. The Purpose of this Agreement. -This Agreement sets forth the terms under which I make certain copyright and patent rights available to you for your implementation of the Specification. -Any other capitalized terms not specifically defined herein have the same meaning as those terms have in the "W3C Patent Policy", and if not defined there, in the "W3C Process Document". -2. Copyrights. -2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement the Specification to the full extent of my copyright interest in the Specification. -2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number. -3. Patents. -3.1. Patent Licensing Commitment. I agree to license my Essential Claims under the W3C Community RF Licensing Requirements. This requirement includes Essential Claims that I own and any that I have the right to license without obligation of payment or other consideration to an unrelated third party. W3C Community RF Licensing Requirements obligations made concerning the Specification and described in this policy are binding on me for the life of the patents in question and encumber the patents containing Essential Claims, regardless of changes in participation status or W3C Membership. I also agree to license my Essential Claims under the W3C Community RF Licensing Requirements in derivative works of the Specification so long as all normative portions of the Specification are maintained and that this licensing commitment does not extend to any portion of the derivative work that was not included in the Specification. -3.2. Optional, Additional Patent Grant. In addition to the provisions of Section 3.1, I may also, at my option, make certain intellectual property rights infringed by implementations of the Specification, including Essential Claims, available by providing those terms via the W3C Web site. -4. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel. -5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards. -6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement. -7. Transition to W3C Recommendation Track. The Specification developed by the Project may transition to the W3C Recommendation Track. The W3C Team is responsible for notifying me that a Corresponding Working Group has been chartered. I have no obligation to join the Corresponding Working Group. If the Specification developed by the Project transitions to the W3C Recommendation Track, the following terms apply: -7.1. If I join the Corresponding Working Group. If I join the Corresponding Working Group, I will be subject to all W3C rules, obligations, licensing commitments, and policies that govern that Corresponding Working Group. -7.2. If I Do Not Join the Corresponding Working Group. -7.2.1. Licensing Obligations to Resulting Specification. If I do not join the Corresponding Working Group, I agree to offer patent licenses according to the W3C Royalty-Free licensing requirements described in Section 5 of the W3C Patent Policy for the portions of the Specification included in the resulting Recommendation. This licensing commitment does not extend to any portion of an implementation of the Recommendation that was not included in the Specification. This licensing commitment may not be revoked but may be modified through the exclusion process defined in Section 4 of the W3C Patent Policy. I am not required to join the Corresponding Working Group to exclude patents from the W3C Royalty-Free licensing commitment, but must otherwise follow the normal exclusion procedures defined by the W3C Patent Policy. The W3C Team will notify me of any Call for Exclusion in the Corresponding Working Group as set forth in Section 4.5 of the W3C Patent Policy. -7.2.2. No Disclosure Obligation. If I do not join the Corresponding Working Group, I have no patent disclosure obligations outside of those set forth in Section 6 of the W3C Patent Policy. -8. Conflict of Interest. I will disclose significant relationships when those relationships might reasonably be perceived as creating a conflict of interest with my role. I will notify W3C of any change in my affiliation using W3C-provided mechanisms. -9. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED ?AS IS.? The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 3 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 3. Nothing in this Agreement requires me to undertake a patent search. -10. Definitions. -10.1. Agreement. ?Agreement? means this W3C Community Final Specification Agreement. -10.2. Corresponding Working Group. ?Corresponding Working Group? is a W3C Working Group that is chartered to develop a Recommendation, as defined in the W3C Process Document, that takes the Specification as an input. -10.3. Essential Claims. ?Essential Claims? shall mean all claims in any patent or patent application in any jurisdiction in the world that would necessarily be infringed by implementation of the Specification. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the normative portions of the Specification. Existence of a non-infringing alternative shall be judged based on the state of the art at the time of the publication of the Specification. The following are expressly excluded from and shall not be deemed to constitute Essential Claims: -10.3.1. any claims other than as set forth above even if contained in the same patent as Essential Claims; and -10.3.2. claims which would be infringed only by: -portions of an implementation that are not specified in the normative portions of the Specification, or -enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Specification and are not themselves expressly set forth in the Specification (e.g., semiconductor manufacturing technology, compiler technology, object-oriented technology, basic operating system technology, and the like); or -the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Specification. -10.3.3. design patents and design registrations. -For purposes of this definition, the normative portions of the Specification shall be deemed to include only architectural and interoperability requirements. Optional features in the RFC 2119 sense are considered normative unless they are specifically identified as informative. Implementation examples or any other material that merely illustrate the requirements of the Specification are informative, rather than normative. -10.4. I, Me, or My. ?I,? ?me,? or ?my? refers to the signatory. -10.5 Project. ?Project? means the W3C Community Group or Business Group for which I executed this Agreement. -10.6. Specification. ?Specification? means the Specification identified by the Project as the target of this agreement in a call for Final Specification Commitments. W3C shall provide the authoritative mechanisms for the identification of this Specification. -10.7. W3C Community RF Licensing Requirements. ?W3C Community RF Licensing Requirements? license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Specification that: -10.7.1. shall be available to all, worldwide, whether or not they are W3C Members; -10.7.2. shall extend to all Essential Claims owned or controlled by me; -10.7.3. may be limited to implementations of the Specification, and to what is required by the Specification; -10.7.4. may be conditioned on a grant of a reciprocal RF license (as defined in this policy) to all Essential Claims owned or controlled by the licensee. A reciprocal license may be required to be available to all, and a reciprocal license may itself be conditioned on a further reciprocal license from all. -10.7.5. may not be conditioned on payment of royalties, fees or other consideration; -10.7.6. may be suspended with respect to any licensee when licensor issued by licensee for infringement of claims essential to implement the Specification or any W3C Recommendation; -10.7.7. may not impose any further conditions or restrictions on the use of any technology, intellectual property rights, or other restrictions on behavior of the licensee, but may include reasonable, customary terms relating to operation or maintenance of the license relationship such as the following: choice of law and dispute resolution; -10.7.8. shall not be considered accepted by an implementer who manifests an intent not to accept the terms of the W3C Community RF Licensing Requirements license as offered by the licensor. -10.7.9. The RF license conforming to the requirements in this policy shall be made available by the licensor as long as the Specification is in effect. The term of such license shall be for the life of the patents in question. -I am encouraged to provide a contact from which licensing information can be obtained and other relevant licensing information. Any such information will be made publicly available. -10.8. You or Your. ?You,? ?you,? or ?your? means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person that person or entity controls. - -------------------------------------------------------------------------------------- - -------------------- WebGL ----------------------------- -Copyright (c) 2018 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are 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 Materials. - -THE MATERIALS ARE 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 -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - -Copyright Statements -Copyright (C) 2019, Microsoft Corp. - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/microsoft/TypeScript -Vinyl 2.2.0 -Attribution Statements -https://github.com/gulpjs/vinyl - -Copyright Statements -Copyright (c) 2013 Blaine Bublitz , Eric Schoffstall and other contributors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/gulpjs/vinyl -vis-timeline 7.3.6 -Attribution Statements -https://github.com/visjs/vis-timeline - -Copyright Statements -Copyright (c) 2014-2017 Almende B.V. and contributors -Copyright (c) 2017-2019 vis.js contributors - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/visjs/vis-timeline -Wikipedia content -Attribution Statements -https://www.wikipedia.org/ - -Copyright Statements -The Wikimedia Foundation, Inc. - -License Text (https://spdx.org/licenses/CC-BY-SA-3.0.html) -Made available under the Creative Commons Attribution Share Alike 3.0 Unported. See Appendix for full text. - -Source materials are available for download at: https://www.wikipedia.org/ -winston 3.2.1 -Attribution Statements -https://github.com/winstonjs/winston - -Copyright Statements -Copyright (c) 2010 Charlie Robbins - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/winstonjs/winston -Winutils -Attribution Statements -https://github.com/kontext-tech/winutils - -This product bundles various third-party components under other open source -licenses. This section summarizes those components and their licenses. -See licenses/ for text of these licenses. - - -Apache Software Foundation License 2.0 --------------------------------------- - -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/nvd3-1.8.5.* (css and js files) -hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/AbstractFuture.java -hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/checker/TimeoutFuture.java - - -BSD 2-Clause ------------- - -hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/{lz4.h,lz4.c,lz4hc.h,lz4hc.c} -hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/util/tree.h -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/compat/{fstatat|openat|unlinkat}.h - - -BSD 3-Clause ------------- - -hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/bloom/* -hadoop-common-project/hadoop-common/src/main/native/gtest/gtest-all.cc -hadoop-common-project/hadoop-common/src/main/native/gtest/include/gtest/gtest.h -hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/util/bulk_crc32_x86.c -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3.v3.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/d3-3.5.17.min.js - - -MIT License ------------ - -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-1.6.4.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-nvd3-1.0.9.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/angular-route-1.6.4.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/bootstrap-3.4.1 -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dataTables.bootstrap.css -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dataTables.bootstrap.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dust-full-2.0.0.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dust-helpers-1.1.1.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery-3.5.1.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery.dataTables.min.js -hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/moment.min.js -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/bootstrap.min.js -hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/jquery.js -hadoop-tools/hadoop-sls/src/main/html/css/bootstrap.min.css -hadoop-tools/hadoop-sls/src/main/html/css/bootstrap-responsive.min.css -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/dt-1.10.18/* -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jquery -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jt/jquery.jstree.js -hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/TERMINAL - -======= -For hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/cJSON.[ch]: - -Copyright (c) 2009-2017 Dave Gamble and cJSON contributors - -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. - -Copyright Statements -https://kontext.tech/ - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/kontext-tech/winutils -Woodstox 6.4.0 -Attribution Statements -https://github.com/FasterXML/woodstox - -Copyright Statements -Copyright (C) 2022, FasterXML, Tatu Saloranta - -License Text (http://spdx.org/licenses/Apache-2.0.html) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://github.com/FasterXML/woodstox -www-authenticate 0.6.2 -Attribution Statements -https://github.com/randymized/www-authenticate - -Copyright Statements -Copyright (c) 2013 Randy McLaughlin - -License Text (https://spdx.org/licenses/MIT.html) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/randymized/www-authenticate -Xerces2 Java Parser 2.12.2 -Attribution Statements -https://xerces.apache.org/xerces2-j/ - -Portions of this software were originally based on the following: - - software copyright (c) 1999, IBM Corporation., http://www.ibm.com. - - software copyright (c) 1999, Sun Microsystems., http://www.sun.com. - - voluntary contributions made by Paul Eng on behalf of the Apache Software Foundation that were originally developed at iClick, Inc., software copyright (c) 1999. - -Copyright Statements -Copyright (C) 2018, The Apache Software Foundation - -License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: http://svn.apache.org/viewvc/xerces/java/trunk/ -Xml Compatibility Extensions For Jackson (jackson-xc) 1.9.13 -Attribution Statements -http://jackson.codehaus.org - -Copyright Statements -Copyright © FasterXML. - -License Text (http://spdx.org/licenses/Apache-2.0) -Made available under the Apache License 2.0. See Appendix for full text. - -Source materials are available for download at: https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-xc/1.9.13 -XMLUnit 1.6 -Attribution Statements -http://www.xmlunit.org/ - -Copyright Statements -Copyright (c) 2001-2015, Jeff Martin, Tim Bacon -All rights reserved. - -License Text (http://spdx.org/licenses/BSD-3-Clause) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: https://github.com/xmlunit/xmlunit/tree/master/xmlunit-legacy -XStream 1.4.16 -Attribution Statements -http://x-stream.github.io - -Copyright Statements -Copyright (c) 2003-2006, Joe Walnes -Copyright (c) 2006-2019, XStream Committers -All rights reserved. - -License Text (https://spdx.org/licenses/BSD-3-Clause.html) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: http://x-stream.github.io/download.html -XStream 1.4.18 -Attribution Statements -http://x-stream.github.io - -Copyright Statements -Copyright (c) 2003-2006, Joe Walnes -Copyright (c) 2006-2019, XStream Committers -All rights reserved. - -License Text (https://spdx.org/licenses/BSD-3-Clause.html) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: http://x-stream.github.io/download.html -XStream 1.4.19 -Attribution Statements -http://x-stream.github.io - -Copyright Statements -Copyright (c) 2003-2006, Joe Walnes -Copyright (c) 2006-2019, XStream Committers -All rights reserved. - -License Text (https://spdx.org/licenses/BSD-3-Clause.html) -Made available under the BSD 3-Clause "New" or "Revised" License. See Appendix for full text. - -Source materials are available for download at: http://x-stream.github.io/download.html -yakaa 1.0.1 -Attribution Statements -https://github.com/newrelic/yakaa - -Copyright Statements -Copyright Joyent, Inc. and other Node contributors. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/newrelic/yakaa -Zone.js 0.8.26 -Attribution Statements -https://github.com/angular/zone.js - -author.name: Brian Ford - -Copyright Statements -Copyright (c) 2016 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/zone.js -Zone.js 0.8.29 -Attribution Statements -https://github.com/angular/zone.js - -author.name: Brian Ford - -Copyright Statements -Copyright (c) 2016 Google, Inc. - -License Text (http://spdx.org/licenses/MIT) -Made available under the MIT License. See Appendix for full text. - -Source materials are available for download at: https://github.com/angular/zone.js - -  -Appendix - -License Text - -  -Apache License 2.0 -https://spdx.org/licenses/Apache-2.0.html - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -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. - -  -BSD 2-Clause "Simplified" License -https://spdx.org/licenses/BSD-2-Clause.html - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -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. - -  -BSD 3-Clause "New" or "Revised" License -https://spdx.org/licenses/BSD-3-Clause.html - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder 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 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. -  -Common Development and Distribution License 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. - -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. - -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. - -1.4. “Executable” means the Covered Software in any form other than Source Code. - -1.5. “Initial Developer” means the individual or entity that first makes Original Software available under this License. - -1.6. “Larger Work” means a work which combines Covered Software or portions thereof with code not governed by the terms of this License. - -1.7. “License” means this document. - -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: -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; -B. Any new file that contains any part of the Original Software or previous Modification; or -C. Any new file that is contributed or otherwise made available under the terms of this License. - -1.10. “Original Software” means the Source Code and Executable form of computer software code that is originally released under this License. - -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. - -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. - -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. - -2. License Grants. - -2.1. The Initial Developer Grant. -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: -(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 -(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). -(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. -(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. - -2.2. Contributor Grant. -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. - -  -Creative Commons Attribution Share Alike 3.0 Unported -https://spdx.org/licenses/CC-BY-SA-3.0.html - -Creative Commons Attribution-ShareAlike 3.0 Unported - -CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. - -License - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - -b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. - -c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. - -d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - -e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. - -f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - -g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - -h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - -i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - -j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - -k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - -b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - -c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - -d. to Distribute and Publicly Perform Adaptations. - -e. For the avoidance of doubt: -i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, -iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. - -b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. -c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - -5. Representations, Warranties and Disclaimer -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - -b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - -8. Miscellaneous - -a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the -recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - -b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - -c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. - -e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. - -f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice - -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. - -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. - -Creative Commons may be contacted at http://creativecommons.org/. - -  -Do What The F*ck You Want To Public License -https://spdx.org/licenses/WTFPL.html - -DO WHAT THE F*CK YOU WANT TO PUBLIC LICENSE -Version 2, December 2004 - -Copyright (C) 2004 Sam Hocevar - -Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. - -DO WHAT THE F*CK YOU WANT TO PUBLIC LICENSE -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. You just DO WHAT THE F*CK YOU WANT TO. - -  -Eclipse Public License 1.0 -https://spdx.org/licenses/EPL-1.0.html - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: -a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: -i) changes to the Program, and -ii) additions to the Program; -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: -i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; -ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; -iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and -iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -  -Eclipse Public License 2.0 -https://spdx.org/licenses/EPL-2.0.html - -Eclipse Public License - v 2.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS -"Contribution" means: - -a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and -b) in the case of each subsequent Contributor: -i) changes to the Program, and -ii) additions to the Program; -where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution "originates" from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor. - -2. GRANT OF RIGHTS -a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works. -b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. -c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. -d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. -e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3). -3. REQUIREMENTS -3.1 If a Contributor Distributes the Program in any form, then: -a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and -b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license: -i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; -ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; -iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and -iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3. -3.2 When the Program is Distributed as Source Code: -a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and -b) a copy of this Agreement must be included with each copy of the Program. -3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability ("notices") contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices. -4. COMMERCIAL DISTRIBUTION -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice -"This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}." - -Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses. - -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.  -ISC License -https://spdx.org/licenses/ISC.html - -ISC License - -Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright (c) 1995-2003 by Internet Software Consortium - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -  -JSON License -https://spdx.org/licenses/JSON.html - -JSON License - -Copyright (c) 2002 JSON.org - -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 shall be used for Good, not Evil. - -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. - -  -MIT License -http://spdx.org/licenses/MIT - -MIT License - -Copyright (c) - -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 (including the next paragraph) 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. - -  -Mozilla Public License 2.0 -https://spdx.org/licenses/MPL-2.0.html - -Mozilla Public License Version 2.0 - -1. Definitions - -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. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -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. +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. -1.13. "Source Code Form" means the form of the work preferred for making modifications. +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -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 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. -2. License Grants and Conditions -2.1. Grants -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 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 -(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. +%% The following software may be included in this product: Jettison + Use of any of this software is governed by the terms of the license below: -2.2. Effective Date -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.3. Limitations on Grant Scope -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: -(a) for any code that a Contributor has removed from Covered Software; or -(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 -(c) under Patent Claims infringed by Covered Software in the absence of its Contributions. -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). +Copyright 2006 Envoi Solutions LLC -2.4. Subsequent Licenses -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). +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 -2.5. Representation -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. + http://www.apache.org/licenses/LICENSE-2.0 -2.6. Fair Use -This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. +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. -2.7. Conditions -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. +Copyright Statements +Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. -3. Responsibilities +License Text (http://www.spdx.org/licenses/CDDL-1.1.html) +Made available under the Common Development and Distribution License 1.1. See Appendix for full text. -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. +Source materials are available for download at: https://github.com/jersey/jersey/ -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. +JSONassert 1.5.0 +Attribution Statements +http://jsonassert.skyscreamer.org/ -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). +Copyright Statements +Copyright © 2017. All rights reserved. -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. +License Text (http://spdx.org/licenses/Apache-2.0.html) +Made available under the Apache License 2.0. See Appendix for full text. -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. +Source materials are available for download at: https://github.com/skyscreamer/JSONassert -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. +JUnit 4.13.1 +Attribution Statements +https://junit.org/ -5. Termination +JUnit depends on Java Hamcrest +http://hamcrest.org/JavaHamcrest/ +Copyright (c) 2000-2015 www.hamcrest.org. All rights reserved. +Made available under the MIT License. +https://spdx.org/licenses/MIT.html -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. +Copyright Statements +Copyright (C) 2021, Kevin Cooney, Stefan Birkner, JUnit, David Saff, Marc Philipp -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. +License Text (http://spdx.org/licenses/EPL-1.0) +Made available under the Eclipse Public License 1.0. See Appendix for full text. -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. +Source materials are available for download at: https://github.com/junit-team/junit4 -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. +okhttp 4.11.0 +Copyright Statements +Copyright (C) 2022, Square, Inc. -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. +License Text (http://www.apache.org/licenses/LICENSE-2.0.txt) + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -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. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -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. + 1. Definitions. -10. Versions of the License + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -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. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -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. + "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. -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). + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -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. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Exhibit A - Source Code Form License Notice + "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. -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/. + "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). -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. + "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. -You may add additional accurate notices of copyright ownership. + "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." -Exhibit B - "Incompatible With Secondary Licenses" Notice + "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. -This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. + 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. -  -SIL Open Font License 1.1 -https://spdx.org/licenses/OFL-1.1.html + 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. -SIL OPEN FONT LICENSE -Version 1.1 - 26 February 2007 + 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: -PREAMBLE + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. + (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 -DEFINITIONS + (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. -"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. + 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. -"Reserved Font Name" refers to any names specified as such after the copyright statement(s). + 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. -"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). + 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. -"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. + 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. -"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. + 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. -PERMISSION & CONDITIONS + 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. -Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + END OF TERMS AND CONDITIONS -1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + APPENDIX: How to apply the Apache License to your work. -2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + 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. -3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. + Copyright [yyyy] [name of copyright owner] -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + 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 -5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. + http://www.apache.org/licenses/LICENSE-2.0 -TERMINATION + 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. -This license becomes null and void if any of the above conditions are not met. -DISCLAIMER +slf4j-api 1.7.36 +License Text (http://www.opensource.org/licenses/mit-license.php) +MIT License -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. +Copyright (c) -  -The Unlicense -https://spdx.org/licenses/Unlicense.html +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: -This is free and unencumbered software released into the public domain. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. +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. -In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. -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 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. -For more information, please refer to diff --git a/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/BulkLoadFromJdbcRaw.java b/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/BulkLoadFromJdbcRaw.java index 2a8805d5c..e187031c8 100644 --- a/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/BulkLoadFromJdbcRaw.java +++ b/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/BulkLoadFromJdbcRaw.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -193,7 +193,7 @@ public void load() throws IOException, SQLException { public void transform() throws IOException, SQLException { // search for all records in the /employees/ directory - StructuredQueryDefinition query = new StructuredQueryBuilder().directory(1, "/employees/"); + StructuredQueryDefinition query = new StructuredQueryBuilder().directory(false, "/employees/"); // the QueryBatcher efficiently paginates through matching batches from all // appropriate nodes in the cluster then applies the transform on each batch diff --git a/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/ExtractRowsViaTemplate.java b/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/ExtractRowsViaTemplate.java index 79811de27..c6489671b 100644 --- a/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/ExtractRowsViaTemplate.java +++ b/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/ExtractRowsViaTemplate.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -63,7 +63,7 @@ public static void main(String[] args) throws ParseException, IOException { public void run() throws ParseException, IOException { setup(); - StructuredQueryDefinition query = new StructuredQueryBuilder().directory(1, "/employees/"); + StructuredQueryDefinition query = new StructuredQueryBuilder().directory(false, "/employees/"); QueryBatcher qb = moveMgr.newQueryBatcher(query) .onUrisReady( // This object will be closed by the QueryBatcher when stopJob is diff --git a/gradle.properties b/gradle.properties index 56eff7649..83ee83465 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=com.marklogic -version=6.3.0 +version=6.4.0 describedName=MarkLogic Java Client API publishUrl=file:../marklogic-java/releases diff --git a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WBFailover.java b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WBFailover.java index 1c00fa7ea..26054efa5 100644 --- a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WBFailover.java +++ b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WBFailover.java @@ -742,25 +742,18 @@ public void testMinHosts() throws Exception { } @Test - public void testWhiteBlackListNPE() throws Exception { + public void testWhiteBlackListNPE() { Assumptions.assumeTrue(hostNames.length > 1); - System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName()); - try { - FilteredForestConfiguration forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()) - .withBlackList(null); - assertTrue(1 > 2); - } catch (Exception e) { - assertTrue(e instanceof java.lang.IllegalArgumentException); - } + assertThrows(IllegalArgumentException.class, () -> { + String[] hostNames = null; + new FilteredForestConfiguration(dmManager.readForestConfig()).withBlackList(hostNames); + }); - try { - FilteredForestConfiguration forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()) - .withWhiteList(null); - assertTrue(1 > 2); - } catch (Exception e) { - assertTrue(e instanceof java.lang.IllegalArgumentException); - } + assertThrows(IllegalArgumentException.class, () -> { + String[] hostNames = null; + new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(hostNames); + }); } private void serverStartStop(String server, String command) throws Exception { diff --git a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WriteHostBatcherTest.java b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WriteHostBatcherTest.java index 147e9cf96..f7c0b10cb 100644 --- a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WriteHostBatcherTest.java +++ b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WriteHostBatcherTest.java @@ -2401,13 +2401,12 @@ public void testQBWhiteList() throws Exception { }); qb.onQueryFailure(throwable -> throwable.printStackTrace()); - try { - forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(null); - fail("hostnames shouldn't be null"); + IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, () -> { + String[] hostNames = null; + new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(hostNames); + }); + assertEquals("hostNames must not be null", ex.getMessage()); - } catch (IllegalArgumentException e) { - assertEquals("hostNames must not be null", e.getMessage()); - } try { forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList("asdf"); qb.withBatchSize(50).withForestConfig(forestConfig); @@ -2440,13 +2439,12 @@ public void testWBWhiteList() throws Exception { assertTrue(dbClient.newServerEval().xquery(query1).eval().next().getNumber().intValue() == 0); WriteBatcher ihb2 = dmManager.newWriteBatcher(); - try { - forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(null); - fail("hostnames shouldn't be null"); - } catch (IllegalArgumentException e) { - assertEquals("hostNames must not be null", e.getMessage()); - } + IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, () -> { + String[] hostNames = null; + new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(hostNames); + }); + assertEquals("hostNames must not be null", ex.getMessage()); try { forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList("asdf"); @@ -2479,7 +2477,7 @@ public void testWBWhiteList() throws Exception { } @Test - public void testQBBlackList() throws Exception { + public void testQBBlackList() { Assumptions.assumeTrue(!isLBHost()); Assumptions.assumeTrue(hostNames.length > 1); System.out.println("In testQBBlackList method"); @@ -2517,13 +2515,11 @@ public void testQBBlackList() throws Exception { }); qb.onQueryFailure(throwable -> throwable.printStackTrace()); - try { - forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withBlackList(null); - fail("hostnames shouldn't be null"); - - } catch (IllegalArgumentException e) { - assertEquals("hostNames must not be null", e.getMessage()); - } + IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, () -> { + String[] hostNames = null; + new FilteredForestConfiguration(dmManager.readForestConfig()).withBlackList(hostNames); + }); + assertEquals("hostNames must not be null", ex.getMessage()); try { forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withBlackList(hostNames) @@ -2545,7 +2541,7 @@ public void testQBBlackList() throws Exception { } @Test - public void testWBBlackList() throws Exception { + public void testWBBlackList() { Assumptions.assumeTrue(!isLBHost()); Assumptions.assumeTrue(hostNames.length > 1); System.out.println("In testWBBlackList method"); @@ -2558,13 +2554,12 @@ public void testWBBlackList() throws Exception { assertTrue(dbClient.newServerEval().xquery(query1).eval().next().getNumber().intValue() == 0); WriteBatcher ihb2 = dmManager.newWriteBatcher(); - try { - forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(null); - fail("hostnames shouldn't be null"); - } catch (IllegalArgumentException e) { - assertEquals("hostNames must not be null", e.getMessage()); - } + IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, () -> { + String[] hostNames = null; + new FilteredForestConfiguration(dmManager.readForestConfig()).withWhiteList(hostNames); + }); + assertEquals("hostNames must not be null", ex.getMessage()); forestConfig = new FilteredForestConfiguration(dmManager.readForestConfig()).withBlackList("asdf"); ihb2.withBatchSize(50).withForestConfig(forestConfig); diff --git a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/QueryBatcherJobReportTest.java b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/QueryBatcherJobReportTest.java index 7acef4b93..db47435f5 100644 --- a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/QueryBatcherJobReportTest.java +++ b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/QueryBatcherJobReportTest.java @@ -682,28 +682,16 @@ public void run() { assertTrue(batchResults2.size() > 0); assertTrue((batchResults2.size()>initialUrisSize && batchResults2.size()<= 2436)); } - catch (Exception ex) { - ex.printStackTrace(); - } finally { - // Delete all uris. + // This shouldn't be necessary - i.e. tests should perform cleanup before they start, not after - but + // leaving this in case one of the older functional tests runs after this that doesn't yet cleanup the + // database before it runs. QueryBatcher deleteBatcher = dmManager.newQueryBatcher(urisList.iterator()) .onUrisReady(new DeleteListener()) - .onUrisReady(batch -> { - //System.out.println("Items in batch " + batch.getItems().length); - } - ) - .onQueryFailure(throwable -> { - System.out.println("Query Failed"); - throwable.printStackTrace(); - }) - .withBatchSize(5000) .withThreadCount(10); dmManager.startJob(deleteBatcher); - deleteBatcher.awaitCompletion(2, TimeUnit.MINUTES); - int docCnt = dbClient.newServerEval().xquery(qMaxBatches).eval().next().getNumber().intValue(); - System.out.println("All setMaxBatches docs should have been deleted. Count after DeleteListener job is " + docCnt); - assertTrue(docCnt == 0); + deleteBatcher.awaitCompletion(); + dmManager.stopJob(deleteBatcher); } } } diff --git a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/SetMaxBatchesTest.java b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/SetMaxBatchesTest.java index 576f8750f..b834ae268 100644 --- a/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/SetMaxBatchesTest.java +++ b/marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/datamovement/SetMaxBatchesTest.java @@ -6,15 +6,18 @@ import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertEquals; -@Disabled("Getting this test in place to verify that setMaxBatches does not appear to work yet.") public class SetMaxBatchesTest extends AbstractFunctionalTest { + @Disabled("Getting this test in place to verify that setMaxBatches does not work when used with a query.") @Test - void test() { + void testWithQuery() { writeJsonDocs(50, "max-batches-test"); DataMovementManager dmm = client.newDataMovementManager(); @@ -33,4 +36,32 @@ void test() { "expect 20 URIs back. But through 6.2.2 (and probably going back much further), all URIs are returned. " + "Modifying the thread count and batch size do not appear to affect this at all."); } + + /** + * This verifies that setMaxBatches works with an iterator. The feature appears to have been introduced in 5.1.0, + * so since then, it's only ever worked for an iterator. It does not work when an actual query is involved. + */ + @Test + void iteratorTest() { + List results = new ArrayList<>(); + + List input = new ArrayList<>(); + for (int i = 1; i <= 100; i++) { + input.add(i + ""); + } + + DataMovementManager dmm = client.newDataMovementManager(); + QueryBatcher queryBatcher = dmm + .newQueryBatcher(input.iterator()) + .withThreadCount(4) + .withBatchSize(10) + .onUrisReady(batch -> results.addAll(Arrays.asList(batch.getItems()))); + + queryBatcher.setMaxBatches(2); + dmm.startJob(queryBatcher); + queryBatcher.awaitCompletion(); + dmm.stopJob(queryBatcher); + + assertEquals(20, results.size()); + } } diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientBuilder.java b/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientBuilder.java index 1d8606fc2..219a59ab6 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientBuilder.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientBuilder.java @@ -259,6 +259,48 @@ public DatabaseClientBuilder withGzippedResponsesDisabled() { props.put(PREFIX + "disableGzippedResponses", true); return this; } + + /** + * Enables 2-way SSL by creating an SSL context based on the given key store path. + * + * @param path + * @return + * @since 6.4.0 + */ + public DatabaseClientBuilder withKeyStorePath(String path) { + props.put(PREFIX + "ssl.keystore.path", path); + return this; + } + + /** + * @param password optional password for a key store + * @return + * @since 6.4.0 + */ + public DatabaseClientBuilder withKeyStorePassword(String password) { + props.put(PREFIX + "ssl.keystore.password", password); + return this; + } + + /** + * @param type e.g. "JKS" + * @return + * @since 6.4.0 + */ + public DatabaseClientBuilder withKeyStoreType(String type) { + props.put(PREFIX + "ssl.keystore.type", type); + return this; + } + + /** + * @param algorithm e.g. "SunX509" + * @return + * @since 6.4.0 + */ + public DatabaseClientBuilder withKeyStoreAlgorithm(String algorithm) { + props.put(PREFIX + "ssl.keystore.algorithm", algorithm); + return this; + } } diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientFactory.java b/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientFactory.java index cf18e6b26..0f01216c6 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientFactory.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/DatabaseClientFactory.java @@ -1299,6 +1299,10 @@ public String getCertificatePassword() { * a String with a value of either "any", "common", or "strict" *
  • marklogic.client.trustManager = must be an instance of {@code javax.net.ssl.X509TrustManager}; * if not specified and an SSL context is configured, an attempt will be made to use the JVM's default trust manager
  • + *
  • marklogic.client.ssl.keystore.path = must be a String; enables 2-way SSL if set; since 6.4.0.
  • + *
  • marklogic.client.ssl.keystore.password = must be a String; optional password for a key store; since 6.4.0.
  • + *
  • marklogic.client.ssl.keystore.type = must be a String; optional type for a key store, defaults to "JKS"; since 6.4.0.
  • + *
  • marklogic.client.ssl.keystore.algorithm = must be a String; optional algorithm for a key store, defaults to "SunX509"; since 6.4.0.
  • * * * @param propertySource diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/expression/CtsExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/CtsExpr.java index fb0b6b486..4871673b2 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/CtsExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/CtsExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,7 +45,11 @@ import com.marklogic.client.type.CtsRegionExpr; import com.marklogic.client.type.CtsRegionSeqExpr; -// IMPORTANT: Do not edit. This file is generated. +// IMPORTANT: Do not edit. This file is generated. + +// 2023-10-24 Exception: Manual changes have been made to this to expose the string constructors for cts.point and +// cts.polygon. These changes can be removed once optic-defs.json in the xdmp repository is updated to define these +// constructors. /** * Builds expressions to call functions in the cts server library for a row @@ -56,7 +60,7 @@ public interface CtsExpr { * Returns a query matching fragments committed after a specified timestamp. * * - + *

    * Provides a client interface to the cts:after-query server function. * @param timestamp A commit timestamp. Database fragments committed after this timestamp are matched. (of xs:unsignedLong) @@ -67,7 +71,7 @@ public interface CtsExpr { * Returns a query specifying the set difference of the matches specified by two sub-queries. * * - + *

    * Provides a client interface to the cts:and-not-query server function. * @param positiveQuery A positive query, specifying the search results filtered in. (of cts:query) @@ -87,7 +91,7 @@ public interface CtsExpr { * Returns a query specifying the intersection of the matches specified by the sub-queries. * * - + *

    * Provides a client interface to the cts:and-query server function. * @param queries A sequence of sub-queries. (of cts:query) @@ -116,7 +120,7 @@ public interface CtsExpr { * Returns a query matching fragments committed before or at a specified timestamp. * * - + *

    * Provides a client interface to the cts:before-query server function. * @param timestamp A commit timestamp. Database fragments committed before this timestamp are matched. (of xs:unsignedLong) @@ -127,7 +131,7 @@ public interface CtsExpr { * Returns a query specifying that matches to matching-query should have their search relevance scores boosted if they also match boosting-query. * * - + *

    * Provides a client interface to the cts:boost-query server function. * @param matchingQuery A sub-query that is used for match and scoring. (of cts:query) @@ -150,7 +154,7 @@ public interface CtsExpr { * Returns a geospatial box value. * * - + *

    * Provides a client interface to the cts:box server function. * @param south The southern boundary of the box. (of xs:double) @@ -164,7 +168,7 @@ public interface CtsExpr { * Returns a box's eastern boundary. * * - + *

    * Provides a client interface to the cts:box-east server function. * @param box The box. (of cts:box) @@ -175,7 +179,7 @@ public interface CtsExpr { * Returns a box's northern boundary. * * - + *

    * Provides a client interface to the cts:box-north server function. * @param box The box. (of cts:box) @@ -186,7 +190,7 @@ public interface CtsExpr { * Returns a box's southern boundary. * * - + *

    * Provides a client interface to the cts:box-south server function. * @param box The box. (of cts:box) @@ -197,7 +201,7 @@ public interface CtsExpr { * Returns a box's western boundary. * * - + *

    * Provides a client interface to the cts:box-west server function. * @param box The box. (of cts:box) @@ -217,7 +221,7 @@ public interface CtsExpr { * Returns a geospatial circle value. * * - + *

    * Provides a client interface to the cts:circle server function. * @param radius The radius of the circle. The units for the radius is determined at runtime by the query options (miles is currently the only option). (of xs:double) @@ -229,7 +233,7 @@ public interface CtsExpr { * Returns a circle's center point. * * - + *

    * Provides a client interface to the cts:circle-center server function. * @param circle The circle. (of cts:circle) @@ -240,7 +244,7 @@ public interface CtsExpr { * Returns a circle's radius. * * - + *

    * Provides a client interface to the cts:circle-radius server function. * @param circle The circle. (of cts:circle) @@ -259,7 +263,7 @@ public interface CtsExpr { * Match documents in at least one of the specified collections. It will match both documents and properties documents in the collections with the given URIs. * * - + *

    * Provides a client interface to the cts:collection-query server function. * @param uris One or more collection URIs. A document matches the query if it is in at least one of these collections. (of xs:string) @@ -270,7 +274,7 @@ public interface CtsExpr { * Creates a reference to the collection lexicon, for use as a parameter to cts:value-tuples. Since lexicons are implemented with range indexes, this function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:collection-reference server function. * @return a server expression with the cts:reference server data type @@ -307,7 +311,7 @@ public interface CtsExpr { * Returns a cts:query matching documents matching a TDE-view column equals to an value. Searches with the cts:column-range-query constructor require the triple index; if the triple index is not configured, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:column-range-query server function. * @param schema The TDE schema name. (of xs:string) @@ -399,7 +403,7 @@ public interface CtsExpr { * Returns a geospatial complex polygon value. * * - + *

    * Provides a client interface to the cts:complex-polygon server function. * @param outer The outer polygon. (of cts:polygon) @@ -419,7 +423,7 @@ public interface CtsExpr { * Returns a query matching documents in the directories with the given URIs. * * - + *

    * Provides a client interface to the cts:directory-query server function. * @param uris One or more directory URIs. (of xs:string) @@ -444,17 +448,57 @@ public interface CtsExpr { * @return a server expression with the cts:query server data type */ public CtsQueryExpr directoryQuery(ServerExpression uris, ServerExpression depth); +/** + * Returns a query matching documents of a given format. + *

    + * Provides a client interface to the cts:document-format-query server function. + * @param format Case insensitve one of: "json","xml","text","binary". This will result in a XDMP-ARG exception in case of an invalid format. (of xs:string) + * @return a server expression with the cts:query server data type + */ + public CtsQueryExpr documentFormatQuery(String format); +/** + * Returns a query matching documents of a given format. + * + * + + *

    + * Provides a client interface to the cts:document-format-query server function. + * @param format Case insensitve one of: "json","xml","text","binary". This will result in a XDMP-ARG exception in case of an invalid format. (of xs:string) + * @return a server expression with the cts:query server data type + */ + public CtsQueryExpr documentFormatQuery(ServerExpression format); /** * Returns a query that matches all documents where query matches any document fragment. When searching documents, document-properties, or document-locks, this function provides a convenient way to additionally constrain the search against any document fragment. * * - + *

    * Provides a client interface to the cts:document-fragment-query server function. * @param query A query to be matched against any document fragment. (of cts:query) * @return a server expression with the cts:query server data type */ public CtsQueryExpr documentFragmentQuery(ServerExpression query); +/** + * Returns a query matching documents with a given permission. + *

    + * Provides a client interface to the cts:document-permission-query server function. + * @param role The role of the permission (of xs:string) + * @param capability The capability of the permission (read, update, node-update, insert, execute) (of xs:string) + * @return a server expression with the cts:query server data type + */ + public CtsQueryExpr documentPermissionQuery(String role, String capability); +/** + * Returns a query matching documents with a given permission. + * + * + + *

    + * Provides a client interface to the cts:document-permission-query server function. + * @param role The role of the permission (of xs:string) + * @param capability The capability of the permission (read, update, node-update, insert, execute) (of xs:string) + * @return a server expression with the cts:query server data type + */ + public CtsQueryExpr documentPermissionQuery(ServerExpression role, ServerExpression capability); /** * Returns a query matching documents with the given URIs. It will match both documents and properties documents with the given URIs. *

    @@ -467,13 +511,32 @@ public interface CtsExpr { * Returns a query matching documents with the given URIs. It will match both documents and properties documents with the given URIs. * * - + *

    * Provides a client interface to the cts:document-query server function. * @param uris One or more document URIs. (of xs:string) * @return a server expression with the cts:query server data type */ public CtsQueryExpr documentQuery(ServerExpression uris); +/** + * Returns a query matching documents with a given root element. + *

    + * Provides a client interface to the cts:document-root-query server function. + * @param root The root QName to query. (of xs:QName) + * @return a server expression with the cts:query server data type + */ + public CtsQueryExpr documentRootQuery(String root); +/** + * Returns a query matching documents with a given root element. + * + * + + *

    + * Provides a client interface to the cts:document-root-query server function. + * @param root The root QName to query. (of xs:QName) + * @return a server expression with the cts:query server data type + */ + public CtsQueryExpr documentRootQuery(ServerExpression root); /** * Returns a query matching elements by name which has specific attributes representing latitude and longitude values for a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. *

    @@ -489,7 +552,7 @@ public interface CtsExpr { * Returns a query matching elements by name which has specific attributes representing latitude and longitude values for a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:element-attribute-pair-geospatial-query server function. * @param elementName One or more parent element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -564,7 +627,7 @@ public interface CtsExpr { * Constructs a query that matches element-attributes by name with a range-index entry equal to a given value. An element attribute range index on the specified QName(s) must exist when you use this query in a search; if no such range index exists, the search throws an exception. * * - + *

    * Provides a client interface to the cts:element-attribute-range-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -637,7 +700,7 @@ public interface CtsExpr { * Creates a reference to an element attribute value lexicon, for use as a parameter to cts:value-tuples. Since lexicons are implemented with range indexes, this function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:element-attribute-reference server function. * @param element An element QName. (of xs:QName) @@ -679,7 +742,7 @@ public interface CtsExpr { * Returns a query matching elements by name with attributes by name with text content equal a given phrase. * * - + *

    * Provides a client interface to the cts:element-attribute-value-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -748,7 +811,7 @@ public interface CtsExpr { * Returns a query matching elements by name with attributes by name with text content containing a given phrase. * * - + *

    * Provides a client interface to the cts:element-attribute-word-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -817,7 +880,7 @@ public interface CtsExpr { * Returns a query matching elements by name which has specific element children representing latitude and longitude values for a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:element-child-geospatial-query server function. * @param elementName One or more parent element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -885,7 +948,7 @@ public interface CtsExpr { * Returns a query matching elements by name whose content represents a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:element-geospatial-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -950,7 +1013,7 @@ public interface CtsExpr { * Returns a query matching elements by name which has specific element children representing latitude and longitude values for a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:element-pair-geospatial-query server function. * @param elementName One or more parent element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -1023,7 +1086,7 @@ public interface CtsExpr { * Constructs a query that matches elements by name with the content constrained by the query given in the second parameter. Searches for matches in the specified element and all of its descendants. If the query specified in the second parameter includes any element attribute sub-queries, it will search attributes on the specified element and attributes on any descendant elements. See the second example below). * * - + *

    * Provides a client interface to the cts:element-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -1045,7 +1108,7 @@ public interface CtsExpr { * Constructs a query that matches elements by name with range index entry equal to a given value. Searches that use an element range query require an element range index on the specified QName(s); if no such range index exists, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:element-range-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -1112,7 +1175,7 @@ public interface CtsExpr { * Creates a reference to an element value lexicon, for use as a parameter to cts:value-tuples, temporal:axis-create, or any other function that takes an index reference. Since lexicons are implemented with range indexes, this function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:element-reference server function. * @param element An element QName. (of xs:QName) @@ -1149,7 +1212,7 @@ public interface CtsExpr { * Returns a query matching elements by name with text content equal a given phrase. cts:element-value-query only matches against simple elements (that is, elements that contain only text and have no element children). * * - + *

    * Provides a client interface to the cts:element-value-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -1229,7 +1292,7 @@ public interface CtsExpr { * Returns a query matching elements by name with text content containing a given phrase. Searches only through immediate text node children of the specified element as well as any text node children of child elements defined in the Admin Interface as element-word-query-throughs or phrase-throughs; does not search through any other children of the specified element. If neither word searches nor stemmed word searches is enabled for the target database, an XDMP-SEARCH error is thrown. * * - + *

    * Provides a client interface to the cts:element-word-query server function. * @param elementName One or more element QNames to match. When multiple QNames are specified, the query matches if any QName matches. (of xs:QName) @@ -1283,7 +1346,7 @@ public interface CtsExpr { * Returns a query that matches no fragments. * * - + *

    * Provides a client interface to the cts:false-query server function. * @return a server expression with the cts:query server data type @@ -1303,7 +1366,7 @@ public interface CtsExpr { * Returns a cts:query matching fields by name with a range-index entry equal to a given value. Searches with the cts:field-range-query constructor require a field range index on the specified field name(s); if there is no range index configured, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:field-range-query server function. * @param fieldName One or more field names to match. When multiple field names are specified, the query matches if any field name matches. (of xs:string) @@ -1370,7 +1433,7 @@ public interface CtsExpr { * Creates a reference to a field value lexicon, for use as a parameter to cts:value-tuples. Since lexicons are implemented with range indexes, this function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:field-reference server function. * @param field A field name. (of xs:string) @@ -1408,7 +1471,7 @@ public interface CtsExpr { * Returns a query matching text content containing a given value in the specified field. If the specified field does not exist, cts:field-value-query throws an exception. If the specified field does not have the index setting field value searches enabled, either for the database or for the specified field, then a cts:search with a cts:field-value-query throws an exception. A field is a named object that specified elements to include and exclude from a search, and can include score weights for any included elements. You create fields at the database level using the Admin Interface. For details on fields, see the chapter on "Fields Database Settings" in the Administrator's Guide. * * - + *

    * Provides a client interface to the cts:field-value-query server function. * @param fieldName One or more field names to search over. If multiple field names are supplied, the match can be in any of the specified fields (or-query semantics). (of xs:string) @@ -1471,7 +1534,7 @@ public interface CtsExpr { * Returns a query matching fields with text content containing a given phrase. If the specified field does not exist, this function throws an exception. A field is a named object that specified elements to include and exclude from a search, and can include score weights for any included elements. You create fields at the database level using the Admin Interface. For details on fields, see the chapter on "Fields Database Settings" in the Administrator's Guide. * * - + *

    * Provides a client interface to the cts:field-word-query server function. * @param fieldName One or more field names to search over. If multiple field names are supplied, the match can be in any of the specified fields (or-query semantics). (of xs:string) @@ -1533,7 +1596,7 @@ public interface CtsExpr { * Creates a reference to a geospatial path range index, for use as a parameter to cts:value-tuples. This function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:geospatial-path-reference server function. * @param pathExpression A path expression. (of xs:string) @@ -1590,7 +1653,7 @@ public interface CtsExpr { * Create a reference to a geospatial region path index, for use as a parameter to cts:geospatial-region-query and other query operations on geospatial region indexes. This function throws an exception if the specified region path index does not exist. * * - + *

    * Provides a client interface to the cts:geospatial-region-path-reference server function. * @param pathExpression The XPath expression specified in the index configuration. (of xs:string) @@ -1721,7 +1784,7 @@ public interface CtsExpr { * Construct a query to match regions in documents that satisfy a specified relationship relative to other regions. For example, regions in documents that intersect with regions specified in the search criteria. * * - + *

    * Provides a client interface to the cts:geospatial-region-query server function. * @param reference Zero or more geospatial path region index references that identify regions in your content. To create a reference, see cts:geospatial-region-path-reference. (of cts:reference) @@ -1780,7 +1843,7 @@ public interface CtsExpr { * Creates a reference to the URI lexicon, for use as a parameter to cts:value-tuples. This function requires the URI lexicon to be enabled, otherwise it throws an exception. This reference returns URIs as IRIs. * * - + *

    * Provides a client interface to the cts:iri-reference server function. * @return a server expression with the cts:reference server data type @@ -1800,7 +1863,7 @@ public interface CtsExpr { * Returns a query matching json properties by name which has specific children representing latitude and longitude values for a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:json-property-child-geospatial-query server function. * @param propertyName One or more parent property names to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -1868,7 +1931,7 @@ public interface CtsExpr { * Returns a query matching json properties by name whose content represents a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:json-property-geospatial-query server function. * @param propertyName One or more json property names to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -1933,7 +1996,7 @@ public interface CtsExpr { * Returns a query matching json properties by name which has specific property children representing latitude and longitude values for a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:json-property-pair-geospatial-query server function. * @param propertyName One or more parent property names to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -2007,7 +2070,7 @@ public interface CtsExpr { * Returns a cts:query matching JSON properties by name with a range-index entry equal to a given value. Searches with the cts:json-property-range-query constructor require a property range index on the specified names; if there is no range index configured, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:json-property-range-query server function. * @param propertyName One or more property name to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -2074,7 +2137,7 @@ public interface CtsExpr { * Creates a reference to a JSON property value lexicon, for use as a parameter to cts:value-tuples. Since lexicons are implemented with range indexes, this function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:json-property-reference server function. * @param property A property name. (of xs:string) @@ -2112,7 +2175,7 @@ public interface CtsExpr { * Returns a cts:query matching JSON properties by name with the content constrained by the given cts:query in the second parameter. Searches for matches in the specified property and all of its descendants. * * - + *

    * Provides a client interface to the cts:json-property-scope-query server function. * @param propertyName One or more property names to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -2133,7 +2196,7 @@ public interface CtsExpr { * Returns a query matching JSON properties by name with value equal the given value. For arrays, the query matches if the value of any elements in the array matches the given value. * * - + *

    * Provides a client interface to the cts:json-property-value-query server function. * @param propertyName One or more property names to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -2196,7 +2259,7 @@ public interface CtsExpr { * Returns a query matching JSON properties by name with text content containing a given phrase. Searches only through immediate text node children of the specified property. * * - + *

    * Provides a client interface to the cts:json-property-word-query server function. * @param propertyName One or more JSON property names to match. When multiple names are specified, the query matches if any name matches. (of xs:string) @@ -2258,7 +2321,7 @@ public interface CtsExpr { * Returns a geospatial linestring value. * * - + *

    * Provides a client interface to the cts:linestring server function. * @param vertices The waypoints of the linestring, given in order. vertexes. (of xs:anyAtomicType) @@ -2269,7 +2332,7 @@ public interface CtsExpr { * Returns a query that matches all documents where query matches document-locks. When searching documents or document-properties, cts:locks-fragment-query provides a convenient way to additionally constrain the search against document-locks fragments. * * - + *

    * Provides a client interface to the cts:locks-fragment-query server function. * @param query A query to be matched against the locks fragment. (of cts:query) @@ -2288,7 +2351,7 @@ public interface CtsExpr { * Returns only documents before LSQT or a timestamp before LSQT for stable query results. * * - + *

    * Provides a client interface to the cts:lsqt-query server function. * @param temporalCollection The name of the temporal collection. (of xs:string) @@ -2367,7 +2430,7 @@ public interface CtsExpr { * Returns a query matching all of the specified queries, where the matches occur within the specified distance from each other. * * - + *

    * Provides a client interface to the cts:near-query server function. * @param queries A sequence of queries to match. (of cts:query) @@ -2438,7 +2501,7 @@ public interface CtsExpr { * Returns a query matching the first sub-query, where those matches do not occur within 0 distance of the other query. * * - + *

    * Provides a client interface to the cts:not-in-query server function. * @param positiveQuery A positive query, specifying the search results filtered in. (of cts:query) @@ -2450,7 +2513,7 @@ public interface CtsExpr { * Returns a query specifying the matches not specified by its sub-query. * * - + *

    * Provides a client interface to the cts:not-query server function. * @param query A negative query, specifying the search results to filter out. (of cts:query) @@ -2469,7 +2532,7 @@ public interface CtsExpr { * Returns a query specifying the union of the matches specified by the sub-queries. * * - + *

    * Provides a client interface to the cts:or-query server function. * @param queries A sequence of sub-queries. (of cts:query) @@ -2498,7 +2561,7 @@ public interface CtsExpr { * Returns the part of speech for a cts:token, if any. * * - + *

    * Provides a client interface to the cts:part-of-speech server function. * @param token A token, as returned from cts:tokenize. (of xs:string) @@ -2518,7 +2581,7 @@ public interface CtsExpr { * Returns a query matching path expressions whose content represents a point contained within the given geographic box, circle, or polygon, or equal to the given point. Points that lie between the southern boundary and the northern boundary of a box, travelling northwards, and between the western boundary and the eastern boundary of the box, travelling eastwards, will match. Points contained within the given radius of the center point of a circle will match, using the curved distance on the surface of the Earth. Points contained within the given polygon will match, using great circle arcs over a spherical model of the Earth as edges. An error may result if the polygon is malformed in some way. Points equal to the a given point will match, taking into account the fact that longitudes converge at the poles. Using the geospatial query constructors requires a valid geospatial license key; without a valid license key, searches that include geospatial queries will throw an exception. * * - + *

    * Provides a client interface to the cts:path-geospatial-query server function. * @param pathExpression One or more path expressions to match. When multiple path expressions are specified, the query matches if any path expression matches. (of xs:string) @@ -2582,7 +2645,7 @@ public interface CtsExpr { * Returns a cts:query matching documents where the content addressed by an XPath expression satisfies the specified relationship (=, <, >, etc.) with respect to the input criteria values. A path range index must exist for each path when you perform a search. * * - + *

    * Provides a client interface to the cts:path-range-query server function. * @param pathName One or more XPath expressions that identify the content to match. When multiple paths are specified, the query matches if any path matches. (of xs:string) @@ -2649,7 +2712,7 @@ public interface CtsExpr { * Creates a reference to a path value lexicon, for use as a parameter to cts:value-tuples. Since lexicons are implemented with range indexes, this function will throw an exception if the specified range index does not exist. * * - + *

    * Provides a client interface to the cts:path-reference server function. * @param pathExpression A path range index expression. (of xs:string) @@ -2707,7 +2770,7 @@ public interface CtsExpr { * Creates a period value, for use as a parameter to cts:period-range-query or cts:period-compare-query. * * - + *

    * Provides a client interface to the cts:period server function. * @param start The dateTime value indicating start of the period. (of xs:dateTime) @@ -2729,7 +2792,7 @@ public interface CtsExpr { * Returns a cts:query matching documents that have relevant pair of period values. Searches with the cts:period-compare-query constructor require two valid names of period, if the either of the specified period does not exist, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:period-compare-query server function. * @param axis1 Name of the first axis to compare (of xs:string) @@ -2773,7 +2836,7 @@ public interface CtsExpr { * Returns a cts:query matching axis by name with a period value with an operator. Searches with the cts:period-range-query constructor require a axis definition on the axis name; if there is no axis configured, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:period-range-query server function. * @param axis One or more axis to match on. (of xs:string) @@ -2832,11 +2895,18 @@ public interface CtsExpr { * @return a server expression with the cts:point server data type */ public CtsPointExpr point(double latitude, double longitude); + + /** + * + * @param expression e.g. "3,4" or "POINT(5 6)" + * @return a server expression with the cts:point server data type + */ + public CtsPointExpr point(String expression); /** * Returns a point value. * * - + *

    * Provides a client interface to the cts:point server function. * @param latitude The latitude of the point. (of xs:double) @@ -2848,7 +2918,7 @@ public interface CtsExpr { * Returns a point's latitude value. * * - + *

    * Provides a client interface to the cts:point-latitude server function. * @param point The point. (of cts:point) @@ -2859,7 +2929,7 @@ public interface CtsExpr { * Returns a point's longitude value. * * - + *

    * Provides a client interface to the cts:point-longitude server function. * @param point The point. (of cts:point) @@ -2870,18 +2940,24 @@ public interface CtsExpr { * Returns a geospatial polygon value. * * - + *

    * Provides a client interface to the cts:polygon server function. * @param vertices The vertices of the polygon, given in order. No edge may cover more than 180 degrees of either latitude or longitude. The polygon as a whole may not encompass both poles. These constraints are necessary to ensure an unambiguous interpretation of the polygon. There must be at least three vertices. The first vertex should be identical to the last vertex to close the polygon. vertexes. (of cts:point) * @return a server expression with the cts:polygon server data type */ public CtsPolygonExpr polygon(ServerExpression vertices); + + /** + * @param expression e.g. "1,2 3,4 5,6 1,2" or "POLYGON((2 1, 4 3, 6 5, 2 1))" + * @return a server expression with the cts:polygon server data type + */ + public CtsPolygonExpr polygon(String expression); /** * Returns a query that matches all documents where query matches document-properties. When searching documents or document-locks, this query type provides a convenient way to additionally constrain the search against document-properties fragments. * * - + *

    * Provides a client interface to the cts:properties-fragment-query server function. * @param query A query to be matched against the properties fragment. (of cts:query) @@ -2902,7 +2978,7 @@ public interface CtsExpr { * Returns a cts:query matching specified nodes with a range-index entry compared to a given value. Searches with the cts:range-query constructor require a range index; if there is no range index configured, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:range-query server function. * @param index One or more range index references. When multiple indexes are specified, the query matches if any index matches. (of cts:reference) @@ -2961,7 +3037,7 @@ public interface CtsExpr { * Returns the stem(s) for a word. * * - + *

    * Provides a client interface to the cts:stem server function. * @param text A word or phrase to stem. (of xs:string) @@ -3010,7 +3086,7 @@ public interface CtsExpr { * Tokenizes text into words, punctuation, and spaces. Returns output in the type cts:token, which has subtypes cts:word, cts:punctuation, and cts:space, all of which are subtypes of xs:string. * * - + *

    * Provides a client interface to the cts:tokenize server function. * @param text A word or phrase to tokenize. (of xs:string) @@ -3069,7 +3145,7 @@ public interface CtsExpr { * Returns a cts:query matching triples with a triple index entry equal to the given values. Searches with the cts:triple-range-query constructor require the triple index; if the triple index is not configured, then an exception is thrown. * * - + *

    * Provides a client interface to the cts:triple-range-query server function. * @param subject The subjects to look up. When multiple values are specified, the query matches if any value matches. When the empty sequence is specified, then triples with any subject are matched. (of xs:anyAtomicType) @@ -3154,7 +3230,7 @@ public interface CtsExpr { * Returns a query that matches all fragments. * * - + *

    * Provides a client interface to the cts:true-query server function. * @return a server expression with the cts:query server data type @@ -3164,7 +3240,7 @@ public interface CtsExpr { * Creates a reference to the URI lexicon, for use as a parameter to cts:value-tuples. This function requires the URI lexicon to be enabled, otherwise it throws an exception. * * - + *

    * Provides a client interface to the cts:uri-reference server function. * @return a server expression with the cts:reference server data type @@ -3182,7 +3258,7 @@ public interface CtsExpr { * Returns a query matching text content containing a given phrase. * * - + *

    * Provides a client interface to the cts:word-query server function. * @param text Some words or phrases to match. When multiple strings are specified, the query matches if any string matches. (of xs:string) @@ -3233,7 +3309,7 @@ public interface CtsExpr { * @return a CtsBoxSeqExpr sequence */ public CtsBoxSeqExpr boxSeq(CtsBoxExpr... items); - + /** * Constructs a sequence of CtsCircleExpr items. * @param items the CtsCircleExpr items collected by the sequence @@ -3247,35 +3323,35 @@ public interface CtsExpr { * @return a CtsPeriodSeqExpr sequence */ public CtsPeriodSeqExpr periodSeq(CtsPeriodExpr... items); - + /** * Constructs a sequence of CtsPointExpr items. * @param items the CtsPointExpr items collected by the sequence * @return a CtsPointSeqExpr sequence */ public CtsPointSeqExpr pointSeq(CtsPointExpr... items); - + /** * Constructs a sequence of CtsPolygonExpr items. * @param items the CtsPolygonExpr items collected by the sequence * @return a CtsPolygonSeqExpr sequence */ public CtsPolygonSeqExpr polygonSeq(CtsPolygonExpr... items); - + /** * Constructs a sequence of CtsQueryExpr items. * @param items the CtsQueryExpr items collected by the sequence * @return a CtsQuerySeqExpr sequence */ public CtsQuerySeqExpr querySeq(CtsQueryExpr... items); - + /** * Constructs a sequence of CtsReferenceExpr items. * @param items the CtsReferenceExpr items collected by the sequence * @return a CtsReferenceSeqExpr sequence */ public CtsReferenceSeqExpr referenceSeq(CtsReferenceExpr... items); - + /** * Constructs a sequence of CtsRegionExpr items. * @param items the CtsRegionExpr items collected by the sequence diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/expression/FnExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/FnExpr.java index 437e2ac4d..c8408d983 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/FnExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/FnExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/GeoExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/GeoExpr.java index 98c008279..d0548dcd8 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/GeoExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/GeoExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -767,6 +767,17 @@ public interface GeoExpr { * @return a server expression with the xs:double server data type */ public ServerExpression geohashPrecisionDimensions(ServerExpression precision); +/** + * Given a geohash string, return the 32 subhashes. + * + * + + *

    + * Provides a client interface to the geo:geohash-subhashes server function. + * @param hash The geohash string, as produced from the function geo:geohash-encode. (of xs:string) + * @return a server expression with the xs:string server data type + */ + public ServerExpression geohashSubhashes(ServerExpression hash); /** * Given a geohash string, return the 32 subhashes. *

    @@ -778,9 +789,6 @@ public interface GeoExpr { public ServerExpression geohashSubhashes(ServerExpression hash, String which); /** * Given a geohash string, return the 32 subhashes. - * - * - *

    * Provides a client interface to the geo:geohash-subhashes server function. * @param hash The geohash string, as produced from the function geo:geohash-encode. (of xs:string) diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/expression/JsonExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/JsonExpr.java index 34fc68c28..4a5ed0619 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/JsonExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/JsonExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/MapExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/MapExpr.java index f361feb52..ca6b3c623 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/MapExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/MapExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/MathExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/MathExpr.java index 3dc535180..c00275c78 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/MathExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/MathExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilder.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilder.java index de64d8ea0..ae7578d3a 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilder.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -603,7 +603,7 @@ protected PlanBuilder( * This function constructs document rows with rows provided by a parameter. * @param paramName The paramName parameter specifies the placeholder parameter supplying the rows. * @param qualifier Specifies a name for qualifying the column names. - * @param rowColTypes Describes the columns with an array of JavaScript objects. It's a combinations of column, type and nullable. The 'column' is the column name, which is required. The 'type' is the optional type of the column, which can be an atomic type or the default of none. The 'nullable' is an optional boolean defaulting to false. If your rows contains only uri, doc, collections, metadata, permissions, quality and temporalCollection columns, you could simply use op.docColTypes instead. + * @param rowColTypes Describes the columns with a sequence of maps. It's a combinations of column, type and nullable. The 'column' is the column name, which is required. The 'type' is the optional type of the column, which can be an atomic type or the default of none. The 'nullable' is an optional boolean defaulting to false. If your rows contains only uri, doc, collections, metadata, permissions, quality and temporalCollection columns, you could simply use op:doc-col-types instead. * @return a AccessPlan object */ public abstract AccessPlan fromParam(String paramName, String qualifier, PlanRowColTypesSeq rowColTypes); @@ -611,32 +611,32 @@ protected PlanBuilder( * This function constructs document rows with rows provided by a parameter. * @param paramName The paramName parameter specifies the placeholder parameter supplying the rows. * @param qualifier Specifies a name for qualifying the column names. - * @param rowColTypes Describes the columns with an array of JavaScript objects. It's a combinations of column, type and nullable. The 'column' is the column name, which is required. The 'type' is the optional type of the column, which can be an atomic type or the default of none. The 'nullable' is an optional boolean defaulting to false. If your rows contains only uri, doc, collections, metadata, permissions, quality and temporalCollection columns, you could simply use op.docColTypes instead. + * @param rowColTypes Describes the columns with a sequence of maps. It's a combinations of column, type and nullable. The 'column' is the column name, which is required. The 'type' is the optional type of the column, which can be an atomic type or the default of none. The 'nullable' is an optional boolean defaulting to false. If your rows contains only uri, doc, collections, metadata, permissions, quality and temporalCollection columns, you could simply use op:doc-col-types instead. * @return a AccessPlan object */ public abstract AccessPlan fromParam(XsStringVal paramName, XsStringVal qualifier, PlanRowColTypesSeq rowColTypes); /** * This function constructs document rows from the docsDescriptors. - * @param docDescriptor An array of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op.fromParam. + * @param docDescriptor A map of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op:from-param. * @return a AccessPlan object */ public abstract AccessPlan fromDocDescriptors(PlanDocDescriptor... docDescriptor); /** * This function constructs document rows from the docsDescriptors. - * @param docDescriptor An array of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op.fromParam. + * @param docDescriptor A map of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op:from-param. * @return a AccessPlan object */ public abstract AccessPlan fromDocDescriptors(PlanDocDescriptorSeq docDescriptor); /** * This function constructs document rows from the docsDescriptors. - * @param docDescriptor An array of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op.fromParam. + * @param docDescriptor A map of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op:from-param. * @param qualifier Specifies a name for qualifying the column names. * @return a AccessPlan object */ public abstract AccessPlan fromDocDescriptors(PlanDocDescriptorSeq docDescriptor, String qualifier); /** * This function constructs document rows from the docsDescriptors. - * @param docDescriptor An array of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op.fromParam. + * @param docDescriptor A map of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op:from-param. * @param qualifier Specifies a name for qualifying the column names. * @return a AccessPlan object */ @@ -1378,38 +1378,38 @@ protected PlanBuilder( */ public abstract PlanFunction resolveFunction(XsQNameVal functionName, XsStringVal modulePath); /** - * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the prototype.joinDocCols or prototype.write. + * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the op:join-doc-cols or op:write. * @return a PlanDocColsIdentifier object */ public abstract PlanDocColsIdentifier docCols(); /** - * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the prototype.joinDocCols or prototype.write. + * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the op:join-doc-cols or op:write. * @param qualifier Specifies a name for qualifying the column names. * @return a PlanDocColsIdentifier object */ public abstract PlanDocColsIdentifier docCols(String qualifier); /** - * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the prototype.joinDocCols or prototype.write. + * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the op:join-doc-cols or op:write. * @param qualifier Specifies a name for qualifying the column names. * @return a PlanDocColsIdentifier object */ public abstract PlanDocColsIdentifier docCols(XsStringVal qualifier); /** - * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the prototype.joinDocCols or prototype.write. + * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the op:join-doc-cols or op:write. * @param qualifier Specifies a name for qualifying the column names. - * @param names An array of columns names, a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. + * @param names A sequence of columns names, a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. * @return a PlanDocColsIdentifier object */ public abstract PlanDocColsIdentifier docCols(String qualifier, String names); /** - * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the prototype.joinDocCols or prototype.write. + * Constructs a document column identifier object for columns of uri, doc, collections, metadata, permissions, quality and temporalCollection. The document column identifier object can be passed to the op:join-doc-cols or op:write. * @param qualifier Specifies a name for qualifying the column names. - * @param names An array of columns names, a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. + * @param names A sequence of columns names, a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. * @return a PlanDocColsIdentifier object */ public abstract PlanDocColsIdentifier docCols(XsStringVal qualifier, XsStringSeqVal names); /** - * Provides the 3rd parameter for op.fromParam for row column types. + * Provides the 3rd parameter for op:from-param for row column types. * @return a PlanRowColTypesSeq object sequence */ public abstract PlanRowColTypesSeq docColTypes(); @@ -1587,6 +1587,22 @@ public interface ModifyPlan extends PreparePlan, PlanBuilderBase.ModifyPlanBase * @return a ModifyPlan object */ public abstract ModifyPlan joinDocUri(PlanColumn uriCol, PlanColumn fragmentIdCol); +/** + * This method adds an uri column and a document column to rows based on an existing source column having a value of a document uri (which can be used to read other documents) or a fragment id (which can be used to read the source documents for rows). If the fragment id column is null in the row, the row is dropped from the rowset. + * @param docCol The document column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document as its value. See {@link PlanBuilder#col(XsStringVal)} + * @param uriCol The uri column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document uri as its value. See {@link PlanBuilder#col(XsStringVal)} + * @param sourceCol The document uri or fragment id value. This is either an op:fragment-id-col specifying a fragment id column or a document uri column as xs:string or as a column using op:col, op:view-col or op:schema-col. Joining on a fragment id is more efficient than joining on a uri column. See {@link PlanBuilder#col(XsStringVal)} + * @return a ModifyPlan object + */ + public abstract ModifyPlan joinDocAndUri(String docCol, String uriCol, String sourceCol); +/** + * This method adds an uri column and a document column to rows based on an existing source column having a value of a document uri (which can be used to read other documents) or a fragment id (which can be used to read the source documents for rows). If the fragment id column is null in the row, the row is dropped from the rowset. + * @param docCol The document column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document as its value. See {@link PlanBuilder#col(XsStringVal)} + * @param uriCol The uri column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document uri as its value. See {@link PlanBuilder#col(XsStringVal)} + * @param sourceCol The document uri or fragment id value. This is either an op:fragment-id-col specifying a fragment id column or a document uri column as xs:string or as a column using op:col, op:view-col or op:schema-col. Joining on a fragment id is more efficient than joining on a uri column. See {@link PlanBuilder#col(XsStringVal)} + * @return a ModifyPlan object + */ + public abstract ModifyPlan joinDocAndUri(PlanColumn docCol, PlanColumn uriCol, PlanColumn sourceCol); /** * This method returns all rows from multiple tables where the join condition is met. In the output row set, each row concatenates one left row and one right row for each match between the keys in the left and right row sets. * @param right The row set from the right view. @@ -1739,13 +1755,13 @@ public interface ModifyPlan extends PreparePlan, PlanBuilderBase.ModifyPlanBase public abstract ModifyPlan orderBy(PlanSortKeySeq keys); /** * This method prepares the specified plan for execution as an optional final step before execution. - * @param optimize The optimization level, which can be 0, 1, or 2 (with 1 as the default). + * @param optimize The optimization level, which can be 0, 1, or 2 (1 is mostly used). * @return a PreparePlan object */ public abstract PreparePlan prepare(int optimize); /** * This method prepares the specified plan for execution as an optional final step before execution. - * @param optimize The optimization level, which can be 0, 1, or 2 (with 1 as the default). + * @param optimize The optimization level, which can be 0, 1, or 2 (1 is mostly used). * @return a PreparePlan object */ public abstract PreparePlan prepare(XsIntVal optimize); @@ -1797,33 +1813,31 @@ public interface ModifyPlan extends PreparePlan, PlanBuilderBase.ModifyPlanBase * @return a ModifyPlan object */ public abstract ModifyPlan write(PlanDocColsIdentifier docCols); - /** - * This function populates the view with the uri, doc, collections, metadata, permissions, and/or quality document descriptor columns for database document values. - * @param cols Supplies a document column identifier object to specify which document columns to join and their names. The names cannot conflict with existing column names. - * @param docIdCol The document uri or fragment id value. This is either an op.fragmentIdCol object specifying a fragment id column or a document uri column. +/** + * This function populates the view with the uri, doc, collections, metadata, permissions, and / or quality document descriptor columns for database document values. + * @param cols The source column to join. This is either an op:fragment-id-col specifying a fragment id column or a op:col, op:view-col or op:schema-col that contains document uris. Joining on a fragment id is more efficient than joining on an uri column. + * @param docIdCol the docIdCol value. See {@link PlanBuilder#col(XsStringVal)} * @return a ModifyPlan object */ - public abstract ModifyPlan joinDocCols(PlanDocColsIdentifier cols, String docIdCol); - /** - * This function populates the view with the uri, doc, collections, metadata, permissions, and/or quality document descriptor columns for database document values. - * @param cols Supplies a document column identifier object to specify which document columns to join and their names. The names cannot conflict with existing column names. - * @param docIdCol The document uri or fragment id value. This is either an op.fragmentIdCol object specifying a fragment id column or a document uri column. + public abstract ModifyPlan joinDocCols(PlanDocColsIdentifier cols, String docIdCol); +/** + * This function populates the view with the uri, doc, collections, metadata, permissions, and / or quality document descriptor columns for database document values. + * @param cols The source column to join. This is either an op:fragment-id-col specifying a fragment id column or a op:col, op:view-col or op:schema-col that contains document uris. Joining on a fragment id is more efficient than joining on an uri column. + * @param docIdCol the docIdCol value. See {@link PlanBuilder#col(XsStringVal)} * @return a ModifyPlan object */ public abstract ModifyPlan joinDocCols(PlanDocColsIdentifier cols, PlanColumn docIdCol); - /** - * Validates the document based on a supplied schema. This schema needs to be stored in the schema database. - * @param validateDocCol Contains the document to validate. - * @param schemaDef This is an object. The required 'kind' property of the schema object must be 'jsonSchema', 'schematron', or 'xmlSchema'. When 'kind' is 'jsonSchema' or 'schemtron' then a property 'schemaUri' is required. - * Property 'mode' takes 'strict', 'lax' or 'type' (refer to xdmp.validate). +/** + * Validate the document based on a supplied schema. This schema needs to be stored in the schema database. Check appserver error log for validate errors. + * @param validateDocCol The required 'kind' key of the schemaDef map must be 'jsonSchema', 'schematron', or 'xmlSchema'. When 'kind' is 'jsonSchema' or 'schemtron' then a key 'schemaUri' is required. Key 'mode' takes 'strict', 'lax' or 'type' (refer to xdmp:validate). See {@link PlanBuilder#col(XsStringVal)} + * @param schemaDef the schemaDef value. * @return a ModifyPlan object */ public abstract ModifyPlan validateDoc(String validateDocCol, PlanSchemaDef schemaDef); - /** - * Validates the document based on a supplied schema. This schema needs to be stored in the schema database. - * @param validateDocCol Contains the document to validate. - * @param schemaDef This is an object. The required 'kind' property of the schema object must be 'jsonSchema', 'schematron', or 'xmlSchema'. When 'kind' is 'jsonSchema' or 'schemtron' then a property 'schemaUri' is required. - * Property 'mode' takes 'strict', 'lax' or 'type' (refer to xdmp.validate). +/** + * Validate the document based on a supplied schema. This schema needs to be stored in the schema database. Check appserver error log for validate errors. + * @param validateDocCol The required 'kind' key of the schemaDef map must be 'jsonSchema', 'schematron', or 'xmlSchema'. When 'kind' is 'jsonSchema' or 'schemtron' then a key 'schemaUri' is required. Key 'mode' takes 'strict', 'lax' or 'type' (refer to xdmp:validate). See {@link PlanBuilder#col(XsStringVal)} + * @param schemaDef the schemaDef value. * @return a ModifyPlan object */ public abstract ModifyPlan validateDoc(PlanColumn validateDocCol, PlanSchemaDef schemaDef); diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/expression/RdfExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/RdfExpr.java index 363bf6a41..0aee8c31a 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/RdfExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/RdfExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/SemExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/SemExpr.java index 5d6dd04e2..7efc33959 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/SemExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/SemExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/SpellExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/SpellExpr.java index a3477a66e..408575bed 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/SpellExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/SpellExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/SqlExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/SqlExpr.java index cee39ffd8..678664c6f 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/SqlExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/SqlExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/expression/XdmpExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/XdmpExpr.java index d7f10a418..dff358f9a 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/XdmpExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/XdmpExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -177,7 +177,7 @@ public interface XdmpExpr { *

    * Provides a client interface to the xdmp:describe server function. * @param item The item sequence whose description is returned. (of item) - * @param maxSequenceLength Represents the maximum number of items per sequence to print. The default is 3. () means no maximum. (of xs:unsignedInt) + * @param maxSequenceLength Represents the maximum number of items per sequence to print. The default is 3. (of xs:unsignedInt) * @return a server expression with the xs:string server data type */ public ServerExpression describe(ServerExpression item, ServerExpression maxSequenceLength); @@ -186,8 +186,8 @@ public interface XdmpExpr { *

    * Provides a client interface to the xdmp:describe server function. * @param item The item sequence whose description is returned. (of item) - * @param maxSequenceLength Represents the maximum number of items per sequence to print. The default is 3. () means no maximum. (of xs:unsignedInt) - * @param maxItemLength Represents the maximum number of characters per item to print. The default is 64. The minimum is 8. () means no limit. (of xs:unsignedInt) + * @param maxSequenceLength Represents the maximum number of items per sequence to print. The default is 3. (of xs:unsignedInt) + * @param maxItemLength Represents the maximum number of characters per item to print. The default is 64. The minimum is 8. (of xs:unsignedInt) * @return a server expression with the xs:string server data type */ public ServerExpression describe(ServerExpression item, ServerExpression maxSequenceLength, ServerExpression maxItemLength); diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/expression/XsExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/XsExpr.java index ef2cf8bd5..1096ecbee 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/XsExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/XsExpr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/CtsExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/CtsExprImpl.java index 198be1124..36587bfbd 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/CtsExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/CtsExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -49,6 +49,11 @@ import com.marklogic.client.impl.BaseTypeImpl; // IMPORTANT: Do not edit. This file is generated. + +// 2023-10-24 Exception: Manual changes have been made to this to expose the string constructors for cts.point and +// cts.polygon. These changes can be removed once optic-defs.json in the xdmp repository is updated to define these +// constructors. + class CtsExprImpl implements CtsExpr { final static XsExprImpl xs = XsExprImpl.xs; @@ -58,7 +63,7 @@ class CtsExprImpl implements CtsExpr { CtsExprImpl() { } - + @Override public CtsQueryExpr afterQuery(ServerExpression timestamp) { if (timestamp == null) { @@ -67,7 +72,7 @@ public CtsQueryExpr afterQuery(ServerExpression timestamp) { return new QueryCallImpl("cts", "after-query", new Object[]{ timestamp }); } - + @Override public CtsQueryExpr andNotQuery(ServerExpression positiveQuery, ServerExpression negativeQuery) { if (positiveQuery == null) { @@ -79,31 +84,31 @@ public CtsQueryExpr andNotQuery(ServerExpression positiveQuery, ServerExpression return new QueryCallImpl("cts", "and-not-query", new Object[]{ positiveQuery, negativeQuery }); } - + @Override public CtsQueryExpr andQuery(CtsQueryExpr... queries) { return andQuery(new QuerySeqListImpl(queries)); } - + @Override public CtsQueryExpr andQuery(ServerExpression queries) { return new QueryCallImpl("cts", "and-query", new Object[]{ queries }); } - + @Override public CtsQueryExpr andQuery(ServerExpression queries, String options) { return andQuery(queries, (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsQueryExpr andQuery(ServerExpression queries, XsStringSeqVal options) { return new QueryCallImpl("cts", "and-query", new Object[]{ queries, options }); } - + @Override public CtsQueryExpr beforeQuery(ServerExpression timestamp) { if (timestamp == null) { @@ -112,7 +117,7 @@ public CtsQueryExpr beforeQuery(ServerExpression timestamp) { return new QueryCallImpl("cts", "before-query", new Object[]{ timestamp }); } - + @Override public CtsQueryExpr boostQuery(ServerExpression matchingQuery, ServerExpression boostingQuery) { if (matchingQuery == null) { @@ -124,13 +129,13 @@ public CtsQueryExpr boostQuery(ServerExpression matchingQuery, ServerExpression return new QueryCallImpl("cts", "boost-query", new Object[]{ matchingQuery, boostingQuery }); } - + @Override public CtsBoxExpr box(double south, double west, double north, double east) { return box(xs.doubleVal(south), xs.doubleVal(west), xs.doubleVal(north), xs.doubleVal(east)); } - + @Override public CtsBoxExpr box(ServerExpression south, ServerExpression west, ServerExpression north, ServerExpression east) { if (south == null) { @@ -148,7 +153,7 @@ public CtsBoxExpr box(ServerExpression south, ServerExpression west, ServerExpre return new BoxCallImpl("cts", "box", new Object[]{ south, west, north, east }); } - + @Override public ServerExpression boxEast(ServerExpression box) { if (box == null) { @@ -157,7 +162,7 @@ public ServerExpression boxEast(ServerExpression box) { return new XsExprImpl.NumericCallImpl("cts", "box-east", new Object[]{ box }); } - + @Override public ServerExpression boxNorth(ServerExpression box) { if (box == null) { @@ -166,7 +171,7 @@ public ServerExpression boxNorth(ServerExpression box) { return new XsExprImpl.NumericCallImpl("cts", "box-north", new Object[]{ box }); } - + @Override public ServerExpression boxSouth(ServerExpression box) { if (box == null) { @@ -175,7 +180,7 @@ public ServerExpression boxSouth(ServerExpression box) { return new XsExprImpl.NumericCallImpl("cts", "box-south", new Object[]{ box }); } - + @Override public ServerExpression boxWest(ServerExpression box) { if (box == null) { @@ -190,7 +195,7 @@ public CtsCircleExpr circle(double radius, ServerExpression center) { return circle(xs.doubleVal(radius), center); } - + @Override public CtsCircleExpr circle(ServerExpression radius, ServerExpression center) { if (radius == null) { @@ -202,7 +207,7 @@ public CtsCircleExpr circle(ServerExpression radius, ServerExpression center) { return new CircleCallImpl("cts", "circle", new Object[]{ radius, center }); } - + @Override public CtsPointExpr circleCenter(ServerExpression circle) { if (circle == null) { @@ -211,7 +216,7 @@ public CtsPointExpr circleCenter(ServerExpression circle) { return new PointCallImpl("cts", "circle-center", new Object[]{ circle }); } - + @Override public ServerExpression circleRadius(ServerExpression circle) { if (circle == null) { @@ -220,43 +225,43 @@ public ServerExpression circleRadius(ServerExpression circle) { return new XsExprImpl.NumericCallImpl("cts", "circle-radius", new Object[]{ circle }); } - + @Override public CtsQueryExpr collectionQuery(String uris) { return collectionQuery((uris == null) ? (XsStringVal) null : xs.string(uris)); } - + @Override public CtsQueryExpr collectionQuery(ServerExpression uris) { return new QueryCallImpl("cts", "collection-query", new Object[]{ uris }); } - + @Override public CtsReferenceExpr collectionReference() { return new ReferenceCallImpl("cts", "collection-reference", new Object[]{ }); } - + @Override public CtsReferenceExpr collectionReference(String options) { return collectionReference((options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr collectionReference(ServerExpression options) { return new ReferenceCallImpl("cts", "collection-reference", new Object[]{ options }); } - + @Override public CtsQueryExpr columnRangeQuery(String schema, String view, String column, String value) { return columnRangeQuery((schema == null) ? (XsStringVal) null : xs.string(schema), (view == null) ? (XsStringVal) null : xs.string(view), (column == null) ? (XsStringVal) null : xs.string(column), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression view, ServerExpression column, ServerExpression value) { if (schema == null) { @@ -271,13 +276,13 @@ public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression v return new QueryCallImpl("cts", "column-range-query", new Object[]{ schema, view, column, value }); } - + @Override public CtsQueryExpr columnRangeQuery(String schema, String view, String column, String value, String operator) { return columnRangeQuery((schema == null) ? (XsStringVal) null : xs.string(schema), (view == null) ? (XsStringVal) null : xs.string(view), (column == null) ? (XsStringVal) null : xs.string(column), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (operator == null) ? (XsStringVal) null : xs.string(operator)); } - + @Override public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression view, ServerExpression column, ServerExpression value, ServerExpression operator) { if (schema == null) { @@ -292,13 +297,13 @@ public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression v return new QueryCallImpl("cts", "column-range-query", new Object[]{ schema, view, column, value, operator }); } - + @Override public CtsQueryExpr columnRangeQuery(String schema, String view, String column, String value, String operator, String... options) { return columnRangeQuery((schema == null) ? (XsStringVal) null : xs.string(schema), (view == null) ? (XsStringVal) null : xs.string(view), (column == null) ? (XsStringVal) null : xs.string(column), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (operator == null) ? (XsStringVal) null : xs.string(operator), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression view, ServerExpression column, ServerExpression value, ServerExpression operator, ServerExpression options) { if (schema == null) { @@ -313,13 +318,13 @@ public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression v return new QueryCallImpl("cts", "column-range-query", new Object[]{ schema, view, column, value, operator, options }); } - + @Override public CtsQueryExpr columnRangeQuery(String schema, String view, String column, String value, String operator, String options, double weight) { return columnRangeQuery((schema == null) ? (XsStringVal) null : xs.string(schema), (view == null) ? (XsStringVal) null : xs.string(view), (column == null) ? (XsStringVal) null : xs.string(column), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (operator == null) ? (XsStringVal) null : xs.string(operator), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression view, ServerExpression column, ServerExpression value, ServerExpression operator, ServerExpression options, ServerExpression weight) { if (schema == null) { @@ -334,7 +339,7 @@ public CtsQueryExpr columnRangeQuery(ServerExpression schema, ServerExpression v return new QueryCallImpl("cts", "column-range-query", new Object[]{ schema, view, column, value, operator, options, weight }); } - + @Override public CtsPolygonExpr complexPolygon(ServerExpression outer, ServerExpression inner) { if (outer == null) { @@ -343,31 +348,46 @@ public CtsPolygonExpr complexPolygon(ServerExpression outer, ServerExpression in return new PolygonCallImpl("cts", "complex-polygon", new Object[]{ outer, inner }); } - + @Override public CtsQueryExpr directoryQuery(String uris) { return directoryQuery((uris == null) ? (XsStringVal) null : xs.string(uris)); } - + @Override public CtsQueryExpr directoryQuery(ServerExpression uris) { return new QueryCallImpl("cts", "directory-query", new Object[]{ uris }); } - + @Override public CtsQueryExpr directoryQuery(String uris, String depth) { return directoryQuery((uris == null) ? (XsStringVal) null : xs.string(uris), (depth == null) ? (XsStringVal) null : xs.string(depth)); } - + @Override public CtsQueryExpr directoryQuery(ServerExpression uris, ServerExpression depth) { return new QueryCallImpl("cts", "directory-query", new Object[]{ uris, depth }); } - + + @Override + public CtsQueryExpr documentFormatQuery(String format) { + return documentFormatQuery((format == null) ? (XsStringVal) null : xs.string(format)); + } + + + @Override + public CtsQueryExpr documentFormatQuery(ServerExpression format) { + if (format == null) { + throw new IllegalArgumentException("format parameter for documentFormatQuery() cannot be null"); + } + return new QueryCallImpl("cts", "document-format-query", new Object[]{ format }); + } + + @Override public CtsQueryExpr documentFragmentQuery(ServerExpression query) { if (query == null) { @@ -376,61 +396,94 @@ public CtsQueryExpr documentFragmentQuery(ServerExpression query) { return new QueryCallImpl("cts", "document-fragment-query", new Object[]{ query }); } - + + @Override + public CtsQueryExpr documentPermissionQuery(String role, String capability) { + return documentPermissionQuery((role == null) ? (XsStringVal) null : xs.string(role), (capability == null) ? (XsStringVal) null : xs.string(capability)); + } + + + @Override + public CtsQueryExpr documentPermissionQuery(ServerExpression role, ServerExpression capability) { + if (role == null) { + throw new IllegalArgumentException("role parameter for documentPermissionQuery() cannot be null"); + } + if (capability == null) { + throw new IllegalArgumentException("capability parameter for documentPermissionQuery() cannot be null"); + } + return new QueryCallImpl("cts", "document-permission-query", new Object[]{ role, capability }); + } + + @Override public CtsQueryExpr documentQuery(String uris) { return documentQuery((uris == null) ? (XsStringVal) null : xs.string(uris)); } - + @Override public CtsQueryExpr documentQuery(ServerExpression uris) { return new QueryCallImpl("cts", "document-query", new Object[]{ uris }); } - + + @Override + public CtsQueryExpr documentRootQuery(String root) { + return documentRootQuery((root == null) ? (XsQNameVal) null : xs.QName(root)); + } + + + @Override + public CtsQueryExpr documentRootQuery(ServerExpression root) { + if (root == null) { + throw new IllegalArgumentException("root parameter for documentRootQuery() cannot be null"); + } + return new QueryCallImpl("cts", "document-root-query", new Object[]{ root }); + } + + @Override public CtsQueryExpr elementAttributePairGeospatialQuery(String elementName, String latitudeName, String longitudeName, CtsRegionExpr... region) { return elementAttributePairGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (latitudeName == null) ? (XsQNameVal) null : xs.QName(latitudeName), (longitudeName == null) ? (XsQNameVal) null : xs.QName(longitudeName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr elementAttributePairGeospatialQuery(ServerExpression elementName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region) { return new QueryCallImpl("cts", "element-attribute-pair-geospatial-query", new Object[]{ elementName, latitudeName, longitudeName, region }); } - + @Override public CtsQueryExpr elementAttributePairGeospatialQuery(String elementName, String latitudeName, String longitudeName, ServerExpression region, String... options) { return elementAttributePairGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (latitudeName == null) ? (XsQNameVal) null : xs.QName(latitudeName), (longitudeName == null) ? (XsQNameVal) null : xs.QName(longitudeName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementAttributePairGeospatialQuery(ServerExpression elementName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "element-attribute-pair-geospatial-query", new Object[]{ elementName, latitudeName, longitudeName, region, options }); } - + @Override public CtsQueryExpr elementAttributePairGeospatialQuery(String elementName, String latitudeName, String longitudeName, ServerExpression region, String options, double weight) { return elementAttributePairGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (latitudeName == null) ? (XsQNameVal) null : xs.QName(latitudeName), (longitudeName == null) ? (XsQNameVal) null : xs.QName(longitudeName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementAttributePairGeospatialQuery(ServerExpression elementName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-attribute-pair-geospatial-query", new Object[]{ elementName, latitudeName, longitudeName, region, options, weight }); } - + @Override public CtsQueryExpr elementAttributeRangeQuery(String elementName, String attributeName, String operator, String value) { return elementAttributeRangeQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr elementAttributeRangeQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression operator, ServerExpression value) { if (operator == null) { @@ -439,13 +492,13 @@ public CtsQueryExpr elementAttributeRangeQuery(ServerExpression elementName, Ser return new QueryCallImpl("cts", "element-attribute-range-query", new Object[]{ elementName, attributeName, operator, value }); } - + @Override public CtsQueryExpr elementAttributeRangeQuery(String elementName, String attributeName, String operator, String value, String... options) { return elementAttributeRangeQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementAttributeRangeQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression operator, ServerExpression value, ServerExpression options) { if (operator == null) { @@ -454,13 +507,13 @@ public CtsQueryExpr elementAttributeRangeQuery(ServerExpression elementName, Ser return new QueryCallImpl("cts", "element-attribute-range-query", new Object[]{ elementName, attributeName, operator, value, options }); } - + @Override public CtsQueryExpr elementAttributeRangeQuery(String elementName, String attributeName, String operator, String value, String options, double weight) { return elementAttributeRangeQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementAttributeRangeQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression operator, ServerExpression value, ServerExpression options, ServerExpression weight) { if (operator == null) { @@ -469,13 +522,13 @@ public CtsQueryExpr elementAttributeRangeQuery(ServerExpression elementName, Ser return new QueryCallImpl("cts", "element-attribute-range-query", new Object[]{ elementName, attributeName, operator, value, options, weight }); } - + @Override public CtsReferenceExpr elementAttributeReference(String element, String attribute) { return elementAttributeReference((element == null) ? (XsQNameVal) null : xs.QName(element), (attribute == null) ? (XsQNameVal) null : xs.QName(attribute)); } - + @Override public CtsReferenceExpr elementAttributeReference(ServerExpression element, ServerExpression attribute) { if (element == null) { @@ -487,13 +540,13 @@ public CtsReferenceExpr elementAttributeReference(ServerExpression element, Serv return new ReferenceCallImpl("cts", "element-attribute-reference", new Object[]{ element, attribute }); } - + @Override public CtsReferenceExpr elementAttributeReference(String element, String attribute, String options) { return elementAttributeReference((element == null) ? (XsQNameVal) null : xs.QName(element), (attribute == null) ? (XsQNameVal) null : xs.QName(attribute), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr elementAttributeReference(ServerExpression element, ServerExpression attribute, ServerExpression options) { if (element == null) { @@ -505,193 +558,193 @@ public CtsReferenceExpr elementAttributeReference(ServerExpression element, Serv return new ReferenceCallImpl("cts", "element-attribute-reference", new Object[]{ element, attribute, options }); } - + @Override public CtsQueryExpr elementAttributeValueQuery(String elementName, String attributeName, String text) { return elementAttributeValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr elementAttributeValueQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression text) { return new QueryCallImpl("cts", "element-attribute-value-query", new Object[]{ elementName, attributeName, text }); } - + @Override public CtsQueryExpr elementAttributeValueQuery(String elementName, String attributeName, String text, String... options) { return elementAttributeValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementAttributeValueQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "element-attribute-value-query", new Object[]{ elementName, attributeName, text, options }); } - + @Override public CtsQueryExpr elementAttributeValueQuery(String elementName, String attributeName, String text, String options, double weight) { return elementAttributeValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementAttributeValueQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-attribute-value-query", new Object[]{ elementName, attributeName, text, options, weight }); } - + @Override public CtsQueryExpr elementAttributeWordQuery(String elementName, String attributeName, String text) { return elementAttributeWordQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr elementAttributeWordQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression text) { return new QueryCallImpl("cts", "element-attribute-word-query", new Object[]{ elementName, attributeName, text }); } - + @Override public CtsQueryExpr elementAttributeWordQuery(String elementName, String attributeName, String text, String... options) { return elementAttributeWordQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementAttributeWordQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "element-attribute-word-query", new Object[]{ elementName, attributeName, text, options }); } - + @Override public CtsQueryExpr elementAttributeWordQuery(String elementName, String attributeName, String text, String options, double weight) { return elementAttributeWordQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (attributeName == null) ? (XsQNameVal) null : xs.QName(attributeName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementAttributeWordQuery(ServerExpression elementName, ServerExpression attributeName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-attribute-word-query", new Object[]{ elementName, attributeName, text, options, weight }); } - + @Override public CtsQueryExpr elementChildGeospatialQuery(String elementName, String childName, CtsRegionExpr... region) { return elementChildGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (childName == null) ? (XsQNameVal) null : xs.QName(childName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr elementChildGeospatialQuery(ServerExpression elementName, ServerExpression childName, ServerExpression region) { return new QueryCallImpl("cts", "element-child-geospatial-query", new Object[]{ elementName, childName, region }); } - + @Override public CtsQueryExpr elementChildGeospatialQuery(String elementName, String childName, ServerExpression region, String... options) { return elementChildGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (childName == null) ? (XsQNameVal) null : xs.QName(childName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementChildGeospatialQuery(ServerExpression elementName, ServerExpression childName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "element-child-geospatial-query", new Object[]{ elementName, childName, region, options }); } - + @Override public CtsQueryExpr elementChildGeospatialQuery(String elementName, String childName, ServerExpression region, String options, double weight) { return elementChildGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (childName == null) ? (XsQNameVal) null : xs.QName(childName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementChildGeospatialQuery(ServerExpression elementName, ServerExpression childName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-child-geospatial-query", new Object[]{ elementName, childName, region, options, weight }); } - + @Override public CtsQueryExpr elementGeospatialQuery(String elementName, CtsRegionExpr... region) { return elementGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr elementGeospatialQuery(ServerExpression elementName, ServerExpression region) { return new QueryCallImpl("cts", "element-geospatial-query", new Object[]{ elementName, region }); } - + @Override public CtsQueryExpr elementGeospatialQuery(String elementName, ServerExpression region, String... options) { return elementGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementGeospatialQuery(ServerExpression elementName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "element-geospatial-query", new Object[]{ elementName, region, options }); } - + @Override public CtsQueryExpr elementGeospatialQuery(String elementName, ServerExpression region, String options, double weight) { return elementGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementGeospatialQuery(ServerExpression elementName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-geospatial-query", new Object[]{ elementName, region, options, weight }); } - + @Override public CtsQueryExpr elementPairGeospatialQuery(String elementName, String latitudeName, String longitudeName, CtsRegionExpr... region) { return elementPairGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (latitudeName == null) ? (XsQNameVal) null : xs.QName(latitudeName), (longitudeName == null) ? (XsQNameVal) null : xs.QName(longitudeName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr elementPairGeospatialQuery(ServerExpression elementName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region) { return new QueryCallImpl("cts", "element-pair-geospatial-query", new Object[]{ elementName, latitudeName, longitudeName, region }); } - + @Override public CtsQueryExpr elementPairGeospatialQuery(String elementName, String latitudeName, String longitudeName, ServerExpression region, String... options) { return elementPairGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (latitudeName == null) ? (XsQNameVal) null : xs.QName(latitudeName), (longitudeName == null) ? (XsQNameVal) null : xs.QName(longitudeName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementPairGeospatialQuery(ServerExpression elementName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "element-pair-geospatial-query", new Object[]{ elementName, latitudeName, longitudeName, region, options }); } - + @Override public CtsQueryExpr elementPairGeospatialQuery(String elementName, String latitudeName, String longitudeName, ServerExpression region, String options, double weight) { return elementPairGeospatialQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (latitudeName == null) ? (XsQNameVal) null : xs.QName(latitudeName), (longitudeName == null) ? (XsQNameVal) null : xs.QName(longitudeName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementPairGeospatialQuery(ServerExpression elementName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-pair-geospatial-query", new Object[]{ elementName, latitudeName, longitudeName, region, options, weight }); } - + @Override public CtsQueryExpr elementQuery(String elementName, ServerExpression query) { return elementQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), query); } - + @Override public CtsQueryExpr elementQuery(ServerExpression elementName, ServerExpression query) { if (query == null) { @@ -700,13 +753,13 @@ public CtsQueryExpr elementQuery(ServerExpression elementName, ServerExpression return new QueryCallImpl("cts", "element-query", new Object[]{ elementName, query }); } - + @Override public CtsQueryExpr elementRangeQuery(String elementName, String operator, String value) { return elementRangeQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr elementRangeQuery(ServerExpression elementName, ServerExpression operator, ServerExpression value) { if (operator == null) { @@ -715,13 +768,13 @@ public CtsQueryExpr elementRangeQuery(ServerExpression elementName, ServerExpres return new QueryCallImpl("cts", "element-range-query", new Object[]{ elementName, operator, value }); } - + @Override public CtsQueryExpr elementRangeQuery(String elementName, String operator, String value, String... options) { return elementRangeQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementRangeQuery(ServerExpression elementName, ServerExpression operator, ServerExpression value, ServerExpression options) { if (operator == null) { @@ -730,13 +783,13 @@ public CtsQueryExpr elementRangeQuery(ServerExpression elementName, ServerExpres return new QueryCallImpl("cts", "element-range-query", new Object[]{ elementName, operator, value, options }); } - + @Override public CtsQueryExpr elementRangeQuery(String elementName, String operator, String value, String options, double weight) { return elementRangeQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementRangeQuery(ServerExpression elementName, ServerExpression operator, ServerExpression value, ServerExpression options, ServerExpression weight) { if (operator == null) { @@ -745,13 +798,13 @@ public CtsQueryExpr elementRangeQuery(ServerExpression elementName, ServerExpres return new QueryCallImpl("cts", "element-range-query", new Object[]{ elementName, operator, value, options, weight }); } - + @Override public CtsReferenceExpr elementReference(String element) { return elementReference((element == null) ? (XsQNameVal) null : xs.QName(element)); } - + @Override public CtsReferenceExpr elementReference(ServerExpression element) { if (element == null) { @@ -760,13 +813,13 @@ public CtsReferenceExpr elementReference(ServerExpression element) { return new ReferenceCallImpl("cts", "element-reference", new Object[]{ element }); } - + @Override public CtsReferenceExpr elementReference(String element, String options) { return elementReference((element == null) ? (XsQNameVal) null : xs.QName(element), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr elementReference(ServerExpression element, ServerExpression options) { if (element == null) { @@ -775,103 +828,103 @@ public CtsReferenceExpr elementReference(ServerExpression element, ServerExpress return new ReferenceCallImpl("cts", "element-reference", new Object[]{ element, options }); } - + @Override public CtsQueryExpr elementValueQuery(String elementName) { return elementValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName)); } - + @Override public CtsQueryExpr elementValueQuery(ServerExpression elementName) { return new QueryCallImpl("cts", "element-value-query", new Object[]{ elementName }); } - + @Override public CtsQueryExpr elementValueQuery(String elementName, String text) { return elementValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr elementValueQuery(ServerExpression elementName, ServerExpression text) { return new QueryCallImpl("cts", "element-value-query", new Object[]{ elementName, text }); } - + @Override public CtsQueryExpr elementValueQuery(String elementName, String text, String... options) { return elementValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementValueQuery(ServerExpression elementName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "element-value-query", new Object[]{ elementName, text, options }); } - + @Override public CtsQueryExpr elementValueQuery(String elementName, String text, String options, double weight) { return elementValueQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementValueQuery(ServerExpression elementName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-value-query", new Object[]{ elementName, text, options, weight }); } - + @Override public CtsQueryExpr elementWordQuery(String elementName, String text) { return elementWordQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr elementWordQuery(ServerExpression elementName, ServerExpression text) { return new QueryCallImpl("cts", "element-word-query", new Object[]{ elementName, text }); } - + @Override public CtsQueryExpr elementWordQuery(String elementName, String text, String... options) { return elementWordQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr elementWordQuery(ServerExpression elementName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "element-word-query", new Object[]{ elementName, text, options }); } - + @Override public CtsQueryExpr elementWordQuery(String elementName, String text, String options, double weight) { return elementWordQuery((elementName == null) ? (XsQNameVal) null : xs.QName(elementName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr elementWordQuery(ServerExpression elementName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "element-word-query", new Object[]{ elementName, text, options, weight }); } - + @Override public CtsQueryExpr falseQuery() { return new QueryCallImpl("cts", "false-query", new Object[]{ }); } - + @Override public CtsQueryExpr fieldRangeQuery(String fieldName, String operator, String value) { return fieldRangeQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr fieldRangeQuery(ServerExpression fieldName, ServerExpression operator, ServerExpression value) { if (operator == null) { @@ -880,13 +933,13 @@ public CtsQueryExpr fieldRangeQuery(ServerExpression fieldName, ServerExpression return new QueryCallImpl("cts", "field-range-query", new Object[]{ fieldName, operator, value }); } - + @Override public CtsQueryExpr fieldRangeQuery(String fieldName, String operator, String value, String... options) { return fieldRangeQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr fieldRangeQuery(ServerExpression fieldName, ServerExpression operator, ServerExpression value, ServerExpression options) { if (operator == null) { @@ -895,13 +948,13 @@ public CtsQueryExpr fieldRangeQuery(ServerExpression fieldName, ServerExpression return new QueryCallImpl("cts", "field-range-query", new Object[]{ fieldName, operator, value, options }); } - + @Override public CtsQueryExpr fieldRangeQuery(String fieldName, String operator, String value, String options, double weight) { return fieldRangeQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr fieldRangeQuery(ServerExpression fieldName, ServerExpression operator, ServerExpression value, ServerExpression options, ServerExpression weight) { if (operator == null) { @@ -910,13 +963,13 @@ public CtsQueryExpr fieldRangeQuery(ServerExpression fieldName, ServerExpression return new QueryCallImpl("cts", "field-range-query", new Object[]{ fieldName, operator, value, options, weight }); } - + @Override public CtsReferenceExpr fieldReference(String field) { return fieldReference((field == null) ? (XsStringVal) null : xs.string(field)); } - + @Override public CtsReferenceExpr fieldReference(ServerExpression field) { if (field == null) { @@ -925,13 +978,13 @@ public CtsReferenceExpr fieldReference(ServerExpression field) { return new ReferenceCallImpl("cts", "field-reference", new Object[]{ field }); } - + @Override public CtsReferenceExpr fieldReference(String field, String options) { return fieldReference((field == null) ? (XsStringVal) null : xs.string(field), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr fieldReference(ServerExpression field, ServerExpression options) { if (field == null) { @@ -940,85 +993,85 @@ public CtsReferenceExpr fieldReference(ServerExpression field, ServerExpression return new ReferenceCallImpl("cts", "field-reference", new Object[]{ field, options }); } - + @Override public CtsQueryExpr fieldValueQuery(String fieldName, String text) { return fieldValueQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (text == null) ? (XsAnyAtomicTypeVal) null : xs.string(text)); } - + @Override public CtsQueryExpr fieldValueQuery(ServerExpression fieldName, ServerExpression text) { return new QueryCallImpl("cts", "field-value-query", new Object[]{ fieldName, text }); } - + @Override public CtsQueryExpr fieldValueQuery(String fieldName, String text, String... options) { return fieldValueQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (text == null) ? (XsAnyAtomicTypeVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr fieldValueQuery(ServerExpression fieldName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "field-value-query", new Object[]{ fieldName, text, options }); } - + @Override public CtsQueryExpr fieldValueQuery(String fieldName, String text, String options, double weight) { return fieldValueQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (text == null) ? (XsAnyAtomicTypeVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr fieldValueQuery(ServerExpression fieldName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "field-value-query", new Object[]{ fieldName, text, options, weight }); } - + @Override public CtsQueryExpr fieldWordQuery(String fieldName, String text) { return fieldWordQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr fieldWordQuery(ServerExpression fieldName, ServerExpression text) { return new QueryCallImpl("cts", "field-word-query", new Object[]{ fieldName, text }); } - + @Override public CtsQueryExpr fieldWordQuery(String fieldName, String text, String... options) { return fieldWordQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr fieldWordQuery(ServerExpression fieldName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "field-word-query", new Object[]{ fieldName, text, options }); } - + @Override public CtsQueryExpr fieldWordQuery(String fieldName, String text, String options, double weight) { return fieldWordQuery((fieldName == null) ? (XsStringVal) null : xs.string(fieldName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr fieldWordQuery(ServerExpression fieldName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "field-word-query", new Object[]{ fieldName, text, options, weight }); } - + @Override public CtsReferenceExpr geospatialPathReference(String pathExpression) { return geospatialPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression)); } - + @Override public CtsReferenceExpr geospatialPathReference(ServerExpression pathExpression) { if (pathExpression == null) { @@ -1027,13 +1080,13 @@ public CtsReferenceExpr geospatialPathReference(ServerExpression pathExpression) return new ReferenceCallImpl("cts", "geospatial-path-reference", new Object[]{ pathExpression }); } - + @Override public CtsReferenceExpr geospatialPathReference(String pathExpression, String options) { return geospatialPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr geospatialPathReference(ServerExpression pathExpression, ServerExpression options) { if (pathExpression == null) { @@ -1042,13 +1095,13 @@ public CtsReferenceExpr geospatialPathReference(ServerExpression pathExpression, return new ReferenceCallImpl("cts", "geospatial-path-reference", new Object[]{ pathExpression, options }); } - + @Override public CtsReferenceExpr geospatialPathReference(String pathExpression, String options, ServerExpression map) { return geospatialPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options), map); } - + @Override public CtsReferenceExpr geospatialPathReference(ServerExpression pathExpression, ServerExpression options, ServerExpression map) { if (pathExpression == null) { @@ -1057,13 +1110,13 @@ public CtsReferenceExpr geospatialPathReference(ServerExpression pathExpression, return new ReferenceCallImpl("cts", "geospatial-path-reference", new Object[]{ pathExpression, options, map }); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(String pathExpression) { return geospatialRegionPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression)); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpression) { if (pathExpression == null) { @@ -1072,13 +1125,13 @@ public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpre return new ReferenceCallImpl("cts", "geospatial-region-path-reference", new Object[]{ pathExpression }); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(String pathExpression, String options) { return geospatialRegionPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpression, ServerExpression options) { if (pathExpression == null) { @@ -1087,13 +1140,13 @@ public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpre return new ReferenceCallImpl("cts", "geospatial-region-path-reference", new Object[]{ pathExpression, options }); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(String pathExpression, String options, ServerExpression namespaces) { return geospatialRegionPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options), namespaces); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpression, ServerExpression options, ServerExpression namespaces) { if (pathExpression == null) { @@ -1102,13 +1155,13 @@ public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpre return new ReferenceCallImpl("cts", "geospatial-region-path-reference", new Object[]{ pathExpression, options, namespaces }); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(String pathExpression, String options, ServerExpression namespaces, long geohashPrecision) { return geospatialRegionPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options), namespaces, xs.integer(geohashPrecision)); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpression, ServerExpression options, ServerExpression namespaces, ServerExpression geohashPrecision) { if (pathExpression == null) { @@ -1117,13 +1170,13 @@ public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpre return new ReferenceCallImpl("cts", "geospatial-region-path-reference", new Object[]{ pathExpression, options, namespaces, geohashPrecision }); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(String pathExpression, String options, ServerExpression namespaces, long geohashPrecision, String units) { return geospatialRegionPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options), namespaces, xs.integer(geohashPrecision), (units == null) ? (XsStringVal) null : xs.string(units)); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpression, ServerExpression options, ServerExpression namespaces, ServerExpression geohashPrecision, ServerExpression units) { if (pathExpression == null) { @@ -1132,13 +1185,13 @@ public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpre return new ReferenceCallImpl("cts", "geospatial-region-path-reference", new Object[]{ pathExpression, options, namespaces, geohashPrecision, units }); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(String pathExpression, String options, ServerExpression namespaces, long geohashPrecision, String units, String invalidValues) { return geospatialRegionPathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options), namespaces, xs.integer(geohashPrecision), (units == null) ? (XsStringVal) null : xs.string(units), (invalidValues == null) ? (XsStringVal) null : xs.string(invalidValues)); } - + @Override public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpression, ServerExpression options, ServerExpression namespaces, ServerExpression geohashPrecision, ServerExpression units, ServerExpression invalidValues) { if (pathExpression == null) { @@ -1147,13 +1200,13 @@ public CtsReferenceExpr geospatialRegionPathReference(ServerExpression pathExpre return new ReferenceCallImpl("cts", "geospatial-region-path-reference", new Object[]{ pathExpression, options, namespaces, geohashPrecision, units, invalidValues }); } - + @Override public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, String operation, CtsRegionExpr... region) { return geospatialRegionQuery(reference, (operation == null) ? (XsStringVal) null : xs.string(operation), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, ServerExpression operation, ServerExpression region) { if (operation == null) { @@ -1162,13 +1215,13 @@ public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, ServerExpr return new QueryCallImpl("cts", "geospatial-region-query", new Object[]{ reference, operation, region }); } - + @Override public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, String operation, ServerExpression region, String... options) { return geospatialRegionQuery(reference, (operation == null) ? (XsStringVal) null : xs.string(operation), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, ServerExpression operation, ServerExpression region, ServerExpression options) { if (operation == null) { @@ -1177,13 +1230,13 @@ public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, ServerExpr return new QueryCallImpl("cts", "geospatial-region-query", new Object[]{ reference, operation, region, options }); } - + @Override public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, String operation, ServerExpression region, String options, double weight) { return geospatialRegionQuery(reference, (operation == null) ? (XsStringVal) null : xs.string(operation), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, ServerExpression operation, ServerExpression region, ServerExpression options, ServerExpression weight) { if (operation == null) { @@ -1192,127 +1245,127 @@ public CtsQueryExpr geospatialRegionQuery(ServerExpression reference, ServerExpr return new QueryCallImpl("cts", "geospatial-region-query", new Object[]{ reference, operation, region, options, weight }); } - + @Override public CtsReferenceExpr iriReference() { return new ReferenceCallImpl("cts", "iri-reference", new Object[]{ }); } - + @Override public CtsQueryExpr jsonPropertyChildGeospatialQuery(String propertyName, String childName, CtsRegionExpr... region) { return jsonPropertyChildGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (childName == null) ? (XsStringVal) null : xs.string(childName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr jsonPropertyChildGeospatialQuery(ServerExpression propertyName, ServerExpression childName, ServerExpression region) { return new QueryCallImpl("cts", "json-property-child-geospatial-query", new Object[]{ propertyName, childName, region }); } - + @Override public CtsQueryExpr jsonPropertyChildGeospatialQuery(String propertyName, String childName, ServerExpression region, String... options) { return jsonPropertyChildGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (childName == null) ? (XsStringVal) null : xs.string(childName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr jsonPropertyChildGeospatialQuery(ServerExpression propertyName, ServerExpression childName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "json-property-child-geospatial-query", new Object[]{ propertyName, childName, region, options }); } - + @Override public CtsQueryExpr jsonPropertyChildGeospatialQuery(String propertyName, String childName, ServerExpression region, String options, double weight) { return jsonPropertyChildGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (childName == null) ? (XsStringVal) null : xs.string(childName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr jsonPropertyChildGeospatialQuery(ServerExpression propertyName, ServerExpression childName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "json-property-child-geospatial-query", new Object[]{ propertyName, childName, region, options, weight }); } - + @Override public CtsQueryExpr jsonPropertyGeospatialQuery(String propertyName, CtsRegionExpr... region) { return jsonPropertyGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr jsonPropertyGeospatialQuery(ServerExpression propertyName, ServerExpression region) { return new QueryCallImpl("cts", "json-property-geospatial-query", new Object[]{ propertyName, region }); } - + @Override public CtsQueryExpr jsonPropertyGeospatialQuery(String propertyName, ServerExpression region, String... options) { return jsonPropertyGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr jsonPropertyGeospatialQuery(ServerExpression propertyName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "json-property-geospatial-query", new Object[]{ propertyName, region, options }); } - + @Override public CtsQueryExpr jsonPropertyGeospatialQuery(String propertyName, ServerExpression region, String options, double weight) { return jsonPropertyGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr jsonPropertyGeospatialQuery(ServerExpression propertyName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "json-property-geospatial-query", new Object[]{ propertyName, region, options, weight }); } - + @Override public CtsQueryExpr jsonPropertyPairGeospatialQuery(String propertyName, String latitudeName, String longitudeName, CtsRegionExpr... region) { return jsonPropertyPairGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (latitudeName == null) ? (XsStringVal) null : xs.string(latitudeName), (longitudeName == null) ? (XsStringVal) null : xs.string(longitudeName), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr jsonPropertyPairGeospatialQuery(ServerExpression propertyName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region) { return new QueryCallImpl("cts", "json-property-pair-geospatial-query", new Object[]{ propertyName, latitudeName, longitudeName, region }); } - + @Override public CtsQueryExpr jsonPropertyPairGeospatialQuery(String propertyName, String latitudeName, String longitudeName, ServerExpression region, String... options) { return jsonPropertyPairGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (latitudeName == null) ? (XsStringVal) null : xs.string(latitudeName), (longitudeName == null) ? (XsStringVal) null : xs.string(longitudeName), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr jsonPropertyPairGeospatialQuery(ServerExpression propertyName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "json-property-pair-geospatial-query", new Object[]{ propertyName, latitudeName, longitudeName, region, options }); } - + @Override public CtsQueryExpr jsonPropertyPairGeospatialQuery(String propertyName, String latitudeName, String longitudeName, ServerExpression region, String options, double weight) { return jsonPropertyPairGeospatialQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (latitudeName == null) ? (XsStringVal) null : xs.string(latitudeName), (longitudeName == null) ? (XsStringVal) null : xs.string(longitudeName), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr jsonPropertyPairGeospatialQuery(ServerExpression propertyName, ServerExpression latitudeName, ServerExpression longitudeName, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "json-property-pair-geospatial-query", new Object[]{ propertyName, latitudeName, longitudeName, region, options, weight }); } - + @Override public CtsQueryExpr jsonPropertyRangeQuery(String propertyName, String operator, String value) { return jsonPropertyRangeQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr jsonPropertyRangeQuery(ServerExpression propertyName, ServerExpression operator, ServerExpression value) { if (operator == null) { @@ -1321,13 +1374,13 @@ public CtsQueryExpr jsonPropertyRangeQuery(ServerExpression propertyName, Server return new QueryCallImpl("cts", "json-property-range-query", new Object[]{ propertyName, operator, value }); } - + @Override public CtsQueryExpr jsonPropertyRangeQuery(String propertyName, String operator, String value, String... options) { return jsonPropertyRangeQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr jsonPropertyRangeQuery(ServerExpression propertyName, ServerExpression operator, ServerExpression value, ServerExpression options) { if (operator == null) { @@ -1336,13 +1389,13 @@ public CtsQueryExpr jsonPropertyRangeQuery(ServerExpression propertyName, Server return new QueryCallImpl("cts", "json-property-range-query", new Object[]{ propertyName, operator, value, options }); } - + @Override public CtsQueryExpr jsonPropertyRangeQuery(String propertyName, String operator, String value, String options, double weight) { return jsonPropertyRangeQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr jsonPropertyRangeQuery(ServerExpression propertyName, ServerExpression operator, ServerExpression value, ServerExpression options, ServerExpression weight) { if (operator == null) { @@ -1351,13 +1404,13 @@ public CtsQueryExpr jsonPropertyRangeQuery(ServerExpression propertyName, Server return new QueryCallImpl("cts", "json-property-range-query", new Object[]{ propertyName, operator, value, options, weight }); } - + @Override public CtsReferenceExpr jsonPropertyReference(String property) { return jsonPropertyReference((property == null) ? (XsStringVal) null : xs.string(property)); } - + @Override public CtsReferenceExpr jsonPropertyReference(ServerExpression property) { if (property == null) { @@ -1366,13 +1419,13 @@ public CtsReferenceExpr jsonPropertyReference(ServerExpression property) { return new ReferenceCallImpl("cts", "json-property-reference", new Object[]{ property }); } - + @Override public CtsReferenceExpr jsonPropertyReference(String property, String options) { return jsonPropertyReference((property == null) ? (XsStringVal) null : xs.string(property), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr jsonPropertyReference(ServerExpression property, ServerExpression options) { if (property == null) { @@ -1381,13 +1434,13 @@ public CtsReferenceExpr jsonPropertyReference(ServerExpression property, ServerE return new ReferenceCallImpl("cts", "json-property-reference", new Object[]{ property, options }); } - + @Override public CtsQueryExpr jsonPropertyScopeQuery(String propertyName, ServerExpression query) { return jsonPropertyScopeQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), query); } - + @Override public CtsQueryExpr jsonPropertyScopeQuery(ServerExpression propertyName, ServerExpression query) { if (query == null) { @@ -1396,91 +1449,91 @@ public CtsQueryExpr jsonPropertyScopeQuery(ServerExpression propertyName, Server return new QueryCallImpl("cts", "json-property-scope-query", new Object[]{ propertyName, query }); } - + @Override public CtsQueryExpr jsonPropertyValueQuery(String propertyName, String value) { return jsonPropertyValueQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr jsonPropertyValueQuery(ServerExpression propertyName, ServerExpression value) { return new QueryCallImpl("cts", "json-property-value-query", new Object[]{ propertyName, value }); } - + @Override public CtsQueryExpr jsonPropertyValueQuery(String propertyName, String value, String... options) { return jsonPropertyValueQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr jsonPropertyValueQuery(ServerExpression propertyName, ServerExpression value, ServerExpression options) { return new QueryCallImpl("cts", "json-property-value-query", new Object[]{ propertyName, value, options }); } - + @Override public CtsQueryExpr jsonPropertyValueQuery(String propertyName, String value, String options, double weight) { return jsonPropertyValueQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr jsonPropertyValueQuery(ServerExpression propertyName, ServerExpression value, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "json-property-value-query", new Object[]{ propertyName, value, options, weight }); } - + @Override public CtsQueryExpr jsonPropertyWordQuery(String propertyName, String text) { return jsonPropertyWordQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr jsonPropertyWordQuery(ServerExpression propertyName, ServerExpression text) { return new QueryCallImpl("cts", "json-property-word-query", new Object[]{ propertyName, text }); } - + @Override public CtsQueryExpr jsonPropertyWordQuery(String propertyName, String text, String... options) { return jsonPropertyWordQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr jsonPropertyWordQuery(ServerExpression propertyName, ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "json-property-word-query", new Object[]{ propertyName, text, options }); } - + @Override public CtsQueryExpr jsonPropertyWordQuery(String propertyName, String text, String options, double weight) { return jsonPropertyWordQuery((propertyName == null) ? (XsStringVal) null : xs.string(propertyName), (text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr jsonPropertyWordQuery(ServerExpression propertyName, ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "json-property-word-query", new Object[]{ propertyName, text, options, weight }); } - + @Override public ServerExpression linestring(String vertices) { return linestring((vertices == null) ? (XsAnyAtomicTypeVal) null : xs.string(vertices)); } - + @Override public ServerExpression linestring(ServerExpression vertices) { return new RegionCallImpl("cts", "linestring", new Object[]{ vertices }); } - + @Override public CtsQueryExpr locksFragmentQuery(ServerExpression query) { if (query == null) { @@ -1489,13 +1542,13 @@ public CtsQueryExpr locksFragmentQuery(ServerExpression query) { return new QueryCallImpl("cts", "locks-fragment-query", new Object[]{ query }); } - + @Override public CtsQueryExpr lsqtQuery(String temporalCollection) { return lsqtQuery((temporalCollection == null) ? (XsStringVal) null : xs.string(temporalCollection)); } - + @Override public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection) { if (temporalCollection == null) { @@ -1504,13 +1557,13 @@ public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection) { return new QueryCallImpl("cts", "lsqt-query", new Object[]{ temporalCollection }); } - + @Override public CtsQueryExpr lsqtQuery(String temporalCollection, String timestamp) { return lsqtQuery((temporalCollection == null) ? (XsStringVal) null : xs.string(temporalCollection), (timestamp == null) ? (XsDateTimeVal) null : xs.dateTime(timestamp)); } - + @Override public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection, ServerExpression timestamp) { if (temporalCollection == null) { @@ -1519,13 +1572,13 @@ public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection, ServerExpress return new QueryCallImpl("cts", "lsqt-query", new Object[]{ temporalCollection, timestamp }); } - + @Override public CtsQueryExpr lsqtQuery(String temporalCollection, String timestamp, String... options) { return lsqtQuery((temporalCollection == null) ? (XsStringVal) null : xs.string(temporalCollection), (timestamp == null) ? (XsDateTimeVal) null : xs.dateTime(timestamp), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection, ServerExpression timestamp, ServerExpression options) { if (temporalCollection == null) { @@ -1534,13 +1587,13 @@ public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection, ServerExpress return new QueryCallImpl("cts", "lsqt-query", new Object[]{ temporalCollection, timestamp, options }); } - + @Override public CtsQueryExpr lsqtQuery(String temporalCollection, String timestamp, String options, double weight) { return lsqtQuery((temporalCollection == null) ? (XsStringVal) null : xs.string(temporalCollection), (timestamp == null) ? (XsDateTimeVal) null : xs.dateTime(timestamp), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection, ServerExpression timestamp, ServerExpression options, ServerExpression weight) { if (temporalCollection == null) { @@ -1549,55 +1602,55 @@ public CtsQueryExpr lsqtQuery(ServerExpression temporalCollection, ServerExpress return new QueryCallImpl("cts", "lsqt-query", new Object[]{ temporalCollection, timestamp, options, weight }); } - + @Override public CtsQueryExpr nearQuery(CtsQueryExpr... queries) { return nearQuery(new QuerySeqListImpl(queries)); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries) { return new QueryCallImpl("cts", "near-query", new Object[]{ queries }); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries, double distance) { return nearQuery(queries, xs.doubleVal(distance)); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries, XsDoubleVal distance) { return new QueryCallImpl("cts", "near-query", new Object[]{ queries, distance }); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries, double distance, String... options) { return nearQuery(queries, xs.doubleVal(distance), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries, ServerExpression distance, ServerExpression options) { return new QueryCallImpl("cts", "near-query", new Object[]{ queries, distance, options }); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries, double distance, String options, double weight) { return nearQuery(queries, xs.doubleVal(distance), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr nearQuery(ServerExpression queries, ServerExpression distance, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "near-query", new Object[]{ queries, distance, options, weight }); } - + @Override public CtsQueryExpr notInQuery(ServerExpression positiveQuery, ServerExpression negativeQuery) { if (positiveQuery == null) { @@ -1609,7 +1662,7 @@ public CtsQueryExpr notInQuery(ServerExpression positiveQuery, ServerExpression return new QueryCallImpl("cts", "not-in-query", new Object[]{ positiveQuery, negativeQuery }); } - + @Override public CtsQueryExpr notQuery(ServerExpression query) { if (query == null) { @@ -1618,31 +1671,31 @@ public CtsQueryExpr notQuery(ServerExpression query) { return new QueryCallImpl("cts", "not-query", new Object[]{ query }); } - + @Override public CtsQueryExpr orQuery(CtsQueryExpr... queries) { return orQuery(new QuerySeqListImpl(queries)); } - + @Override public CtsQueryExpr orQuery(ServerExpression queries) { return new QueryCallImpl("cts", "or-query", new Object[]{ queries }); } - + @Override public CtsQueryExpr orQuery(ServerExpression queries, String options) { return orQuery(queries, (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsQueryExpr orQuery(ServerExpression queries, XsStringSeqVal options) { return new QueryCallImpl("cts", "or-query", new Object[]{ queries, options }); } - + @Override public ServerExpression partOfSpeech(ServerExpression token) { if (token == null) { @@ -1651,49 +1704,49 @@ public ServerExpression partOfSpeech(ServerExpression token) { return new XsExprImpl.StringCallImpl("cts", "part-of-speech", new Object[]{ token }); } - + @Override public CtsQueryExpr pathGeospatialQuery(String pathExpression, CtsRegionExpr... region) { return pathGeospatialQuery((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), new RegionSeqListImpl(region)); } - + @Override public CtsQueryExpr pathGeospatialQuery(ServerExpression pathExpression, ServerExpression region) { return new QueryCallImpl("cts", "path-geospatial-query", new Object[]{ pathExpression, region }); } - + @Override public CtsQueryExpr pathGeospatialQuery(String pathExpression, ServerExpression region, String... options) { return pathGeospatialQuery((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), region, (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr pathGeospatialQuery(ServerExpression pathExpression, ServerExpression region, ServerExpression options) { return new QueryCallImpl("cts", "path-geospatial-query", new Object[]{ pathExpression, region, options }); } - + @Override public CtsQueryExpr pathGeospatialQuery(String pathExpression, ServerExpression region, String options, double weight) { return pathGeospatialQuery((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), region, (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr pathGeospatialQuery(ServerExpression pathExpression, ServerExpression region, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "path-geospatial-query", new Object[]{ pathExpression, region, options, weight }); } - + @Override public CtsQueryExpr pathRangeQuery(String pathName, String operator, String value) { return pathRangeQuery((pathName == null) ? (XsStringVal) null : xs.string(pathName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr pathRangeQuery(ServerExpression pathName, ServerExpression operator, ServerExpression value) { if (operator == null) { @@ -1702,13 +1755,13 @@ public CtsQueryExpr pathRangeQuery(ServerExpression pathName, ServerExpression o return new QueryCallImpl("cts", "path-range-query", new Object[]{ pathName, operator, value }); } - + @Override public CtsQueryExpr pathRangeQuery(String pathName, String operator, String value, String... options) { return pathRangeQuery((pathName == null) ? (XsStringVal) null : xs.string(pathName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr pathRangeQuery(ServerExpression pathName, ServerExpression operator, ServerExpression value, ServerExpression options) { if (operator == null) { @@ -1717,13 +1770,13 @@ public CtsQueryExpr pathRangeQuery(ServerExpression pathName, ServerExpression o return new QueryCallImpl("cts", "path-range-query", new Object[]{ pathName, operator, value, options }); } - + @Override public CtsQueryExpr pathRangeQuery(String pathName, String operator, String value, String options, double weight) { return pathRangeQuery((pathName == null) ? (XsStringVal) null : xs.string(pathName), (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr pathRangeQuery(ServerExpression pathName, ServerExpression operator, ServerExpression value, ServerExpression options, ServerExpression weight) { if (operator == null) { @@ -1732,13 +1785,13 @@ public CtsQueryExpr pathRangeQuery(ServerExpression pathName, ServerExpression o return new QueryCallImpl("cts", "path-range-query", new Object[]{ pathName, operator, value, options, weight }); } - + @Override public CtsReferenceExpr pathReference(String pathExpression) { return pathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression)); } - + @Override public CtsReferenceExpr pathReference(ServerExpression pathExpression) { if (pathExpression == null) { @@ -1747,13 +1800,13 @@ public CtsReferenceExpr pathReference(ServerExpression pathExpression) { return new ReferenceCallImpl("cts", "path-reference", new Object[]{ pathExpression }); } - + @Override public CtsReferenceExpr pathReference(String pathExpression, String options) { return pathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsReferenceExpr pathReference(ServerExpression pathExpression, ServerExpression options) { if (pathExpression == null) { @@ -1762,13 +1815,13 @@ public CtsReferenceExpr pathReference(ServerExpression pathExpression, ServerExp return new ReferenceCallImpl("cts", "path-reference", new Object[]{ pathExpression, options }); } - + @Override public CtsReferenceExpr pathReference(String pathExpression, String options, ServerExpression map) { return pathReference((pathExpression == null) ? (XsStringVal) null : xs.string(pathExpression), (options == null) ? (XsStringVal) null : xs.string(options), map); } - + @Override public CtsReferenceExpr pathReference(ServerExpression pathExpression, ServerExpression options, ServerExpression map) { if (pathExpression == null) { @@ -1777,13 +1830,13 @@ public CtsReferenceExpr pathReference(ServerExpression pathExpression, ServerExp return new ReferenceCallImpl("cts", "path-reference", new Object[]{ pathExpression, options, map }); } - + @Override public CtsPeriodExpr period(String start, String end) { return period((start == null) ? (XsDateTimeVal) null : xs.dateTime(start), (end == null) ? (XsDateTimeVal) null : xs.dateTime(end)); } - + @Override public CtsPeriodExpr period(ServerExpression start, ServerExpression end) { if (start == null) { @@ -1795,13 +1848,13 @@ public CtsPeriodExpr period(ServerExpression start, ServerExpression end) { return new PeriodCallImpl("cts", "period", new Object[]{ start, end }); } - + @Override public CtsQueryExpr periodCompareQuery(String axis1, String operator, String axis2) { return periodCompareQuery((axis1 == null) ? (XsStringVal) null : xs.string(axis1), (operator == null) ? (XsStringVal) null : xs.string(operator), (axis2 == null) ? (XsStringVal) null : xs.string(axis2)); } - + @Override public CtsQueryExpr periodCompareQuery(ServerExpression axis1, ServerExpression operator, ServerExpression axis2) { if (axis1 == null) { @@ -1816,13 +1869,13 @@ public CtsQueryExpr periodCompareQuery(ServerExpression axis1, ServerExpression return new QueryCallImpl("cts", "period-compare-query", new Object[]{ axis1, operator, axis2 }); } - + @Override public CtsQueryExpr periodCompareQuery(String axis1, String operator, String axis2, String options) { return periodCompareQuery((axis1 == null) ? (XsStringVal) null : xs.string(axis1), (operator == null) ? (XsStringVal) null : xs.string(operator), (axis2 == null) ? (XsStringVal) null : xs.string(axis2), (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsQueryExpr periodCompareQuery(ServerExpression axis1, ServerExpression operator, ServerExpression axis2, ServerExpression options) { if (axis1 == null) { @@ -1837,13 +1890,13 @@ public CtsQueryExpr periodCompareQuery(ServerExpression axis1, ServerExpression return new QueryCallImpl("cts", "period-compare-query", new Object[]{ axis1, operator, axis2, options }); } - + @Override public CtsQueryExpr periodRangeQuery(String axis, String operator) { return periodRangeQuery((axis == null) ? (XsStringVal) null : xs.string(axis), (operator == null) ? (XsStringVal) null : xs.string(operator)); } - + @Override public CtsQueryExpr periodRangeQuery(ServerExpression axis, ServerExpression operator) { if (operator == null) { @@ -1852,13 +1905,13 @@ public CtsQueryExpr periodRangeQuery(ServerExpression axis, ServerExpression ope return new QueryCallImpl("cts", "period-range-query", new Object[]{ axis, operator }); } - + @Override public CtsQueryExpr periodRangeQuery(String axis, String operator, CtsPeriodExpr... period) { return periodRangeQuery((axis == null) ? (XsStringVal) null : xs.string(axis), (operator == null) ? (XsStringVal) null : xs.string(operator), new PeriodSeqListImpl(period)); } - + @Override public CtsQueryExpr periodRangeQuery(ServerExpression axis, ServerExpression operator, ServerExpression period) { if (operator == null) { @@ -1867,13 +1920,13 @@ public CtsQueryExpr periodRangeQuery(ServerExpression axis, ServerExpression ope return new QueryCallImpl("cts", "period-range-query", new Object[]{ axis, operator, period }); } - + @Override public CtsQueryExpr periodRangeQuery(String axis, String operator, ServerExpression period, String options) { return periodRangeQuery((axis == null) ? (XsStringVal) null : xs.string(axis), (operator == null) ? (XsStringVal) null : xs.string(operator), period, (options == null) ? (XsStringVal) null : xs.string(options)); } - + @Override public CtsQueryExpr periodRangeQuery(ServerExpression axis, ServerExpression operator, ServerExpression period, ServerExpression options) { if (operator == null) { @@ -1882,14 +1935,18 @@ public CtsQueryExpr periodRangeQuery(ServerExpression axis, ServerExpression ope return new QueryCallImpl("cts", "period-range-query", new Object[]{ axis, operator, period, options }); } - + @Override public CtsPointExpr point(double latitude, double longitude) { return point(xs.doubleVal(latitude), xs.doubleVal(longitude)); } - - @Override + @Override + public CtsPointExpr point(String expression) { + return new PointCallImpl("cts", "point", new Object[]{ xs.string(expression) }); + } + + @Override public CtsPointExpr point(ServerExpression latitude, ServerExpression longitude) { if (latitude == null) { throw new IllegalArgumentException("latitude parameter for point() cannot be null"); @@ -1900,7 +1957,7 @@ public CtsPointExpr point(ServerExpression latitude, ServerExpression longitude) return new PointCallImpl("cts", "point", new Object[]{ latitude, longitude }); } - + @Override public ServerExpression pointLatitude(ServerExpression point) { if (point == null) { @@ -1909,7 +1966,7 @@ public ServerExpression pointLatitude(ServerExpression point) { return new XsExprImpl.NumericCallImpl("cts", "point-latitude", new Object[]{ point }); } - + @Override public ServerExpression pointLongitude(ServerExpression point) { if (point == null) { @@ -1918,14 +1975,18 @@ public ServerExpression pointLongitude(ServerExpression point) { return new XsExprImpl.NumericCallImpl("cts", "point-longitude", new Object[]{ point }); } - + @Override public CtsPolygonExpr polygon(ServerExpression vertices) { return new PolygonCallImpl("cts", "polygon", new Object[]{ vertices }); } - - @Override + @Override + public CtsPolygonExpr polygon(String expression) { + return new PolygonCallImpl("cts", "polygon", new Object[]{ xs.string(expression) }); + } + + @Override public CtsQueryExpr propertiesFragmentQuery(ServerExpression query) { if (query == null) { throw new IllegalArgumentException("query parameter for propertiesFragmentQuery() cannot be null"); @@ -1933,13 +1994,13 @@ public CtsQueryExpr propertiesFragmentQuery(ServerExpression query) { return new QueryCallImpl("cts", "properties-fragment-query", new Object[]{ query }); } - + @Override public CtsQueryExpr rangeQuery(ServerExpression index, String operator, String value) { return rangeQuery(index, (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value)); } - + @Override public CtsQueryExpr rangeQuery(ServerExpression index, ServerExpression operator, ServerExpression value) { if (operator == null) { @@ -1948,13 +2009,13 @@ public CtsQueryExpr rangeQuery(ServerExpression index, ServerExpression operator return new QueryCallImpl("cts", "range-query", new Object[]{ index, operator, value }); } - + @Override public CtsQueryExpr rangeQuery(ServerExpression index, String operator, String value, String... options) { return rangeQuery(index, (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr rangeQuery(ServerExpression index, ServerExpression operator, ServerExpression value, ServerExpression options) { if (operator == null) { @@ -1963,13 +2024,13 @@ public CtsQueryExpr rangeQuery(ServerExpression index, ServerExpression operator return new QueryCallImpl("cts", "range-query", new Object[]{ index, operator, value, options }); } - + @Override public CtsQueryExpr rangeQuery(ServerExpression index, String operator, String value, String options, double weight) { return rangeQuery(index, (operator == null) ? (XsStringVal) null : xs.string(operator), (value == null) ? (XsAnyAtomicTypeVal) null : xs.string(value), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr rangeQuery(ServerExpression index, ServerExpression operator, ServerExpression value, ServerExpression options, ServerExpression weight) { if (operator == null) { @@ -1978,7 +2039,7 @@ public CtsQueryExpr rangeQuery(ServerExpression index, ServerExpression operator return new QueryCallImpl("cts", "range-query", new Object[]{ index, operator, value, options, weight }); } - + @Override public ServerExpression stem(ServerExpression text) { if (text == null) { @@ -1987,13 +2048,13 @@ public ServerExpression stem(ServerExpression text) { return new XsExprImpl.StringSeqCallImpl("cts", "stem", new Object[]{ text }); } - + @Override public ServerExpression stem(ServerExpression text, String language) { return stem(text, (language == null) ? (ServerExpression) null : xs.string(language)); } - + @Override public ServerExpression stem(ServerExpression text, ServerExpression language) { if (text == null) { @@ -2002,13 +2063,13 @@ public ServerExpression stem(ServerExpression text, ServerExpression language) { return new XsExprImpl.StringSeqCallImpl("cts", "stem", new Object[]{ text, language }); } - + @Override public ServerExpression stem(ServerExpression text, String language, String partOfSpeech) { return stem(text, (language == null) ? (ServerExpression) null : xs.string(language), (partOfSpeech == null) ? (ServerExpression) null : xs.string(partOfSpeech)); } - + @Override public ServerExpression stem(ServerExpression text, ServerExpression language, ServerExpression partOfSpeech) { if (text == null) { @@ -2017,7 +2078,7 @@ public ServerExpression stem(ServerExpression text, ServerExpression language, S return new XsExprImpl.StringSeqCallImpl("cts", "stem", new Object[]{ text, language, partOfSpeech }); } - + @Override public ServerExpression tokenize(ServerExpression text) { if (text == null) { @@ -2026,13 +2087,13 @@ public ServerExpression tokenize(ServerExpression text) { return new XsExprImpl.StringSeqCallImpl("cts", "tokenize", new Object[]{ text }); } - + @Override public ServerExpression tokenize(ServerExpression text, String language) { return tokenize(text, (language == null) ? (ServerExpression) null : xs.string(language)); } - + @Override public ServerExpression tokenize(ServerExpression text, ServerExpression language) { if (text == null) { @@ -2041,13 +2102,13 @@ public ServerExpression tokenize(ServerExpression text, ServerExpression languag return new XsExprImpl.StringSeqCallImpl("cts", "tokenize", new Object[]{ text, language }); } - + @Override public ServerExpression tokenize(ServerExpression text, String language, String field) { return tokenize(text, (language == null) ? (ServerExpression) null : xs.string(language), (field == null) ? (ServerExpression) null : xs.string(field)); } - + @Override public ServerExpression tokenize(ServerExpression text, ServerExpression language, ServerExpression field) { if (text == null) { @@ -2056,97 +2117,97 @@ public ServerExpression tokenize(ServerExpression text, ServerExpression languag return new XsExprImpl.StringSeqCallImpl("cts", "tokenize", new Object[]{ text, language, field }); } - + @Override public CtsQueryExpr tripleRangeQuery(String subject, String predicate, String object) { return tripleRangeQuery((subject == null) ? (XsAnyAtomicTypeVal) null : xs.string(subject), (predicate == null) ? (XsAnyAtomicTypeVal) null : xs.string(predicate), (object == null) ? (XsAnyAtomicTypeVal) null : xs.string(object)); } - + @Override public CtsQueryExpr tripleRangeQuery(ServerExpression subject, ServerExpression predicate, ServerExpression object) { return new QueryCallImpl("cts", "triple-range-query", new Object[]{ subject, predicate, object }); } - + @Override public CtsQueryExpr tripleRangeQuery(String subject, String predicate, String object, String operator) { return tripleRangeQuery((subject == null) ? (XsAnyAtomicTypeVal) null : xs.string(subject), (predicate == null) ? (XsAnyAtomicTypeVal) null : xs.string(predicate), (object == null) ? (XsAnyAtomicTypeVal) null : xs.string(object), (operator == null) ? (XsStringVal) null : xs.string(operator)); } - + @Override public CtsQueryExpr tripleRangeQuery(ServerExpression subject, ServerExpression predicate, ServerExpression object, ServerExpression operator) { return new QueryCallImpl("cts", "triple-range-query", new Object[]{ subject, predicate, object, operator }); } - + @Override public CtsQueryExpr tripleRangeQuery(String subject, String predicate, String object, String operator, String... options) { return tripleRangeQuery((subject == null) ? (XsAnyAtomicTypeVal) null : xs.string(subject), (predicate == null) ? (XsAnyAtomicTypeVal) null : xs.string(predicate), (object == null) ? (XsAnyAtomicTypeVal) null : xs.string(object), (operator == null) ? (XsStringVal) null : xs.string(operator), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr tripleRangeQuery(ServerExpression subject, ServerExpression predicate, ServerExpression object, ServerExpression operator, ServerExpression options) { return new QueryCallImpl("cts", "triple-range-query", new Object[]{ subject, predicate, object, operator, options }); } - + @Override public CtsQueryExpr tripleRangeQuery(String subject, String predicate, String object, String operator, String options, double weight) { return tripleRangeQuery((subject == null) ? (XsAnyAtomicTypeVal) null : xs.string(subject), (predicate == null) ? (XsAnyAtomicTypeVal) null : xs.string(predicate), (object == null) ? (XsAnyAtomicTypeVal) null : xs.string(object), (operator == null) ? (XsStringVal) null : xs.string(operator), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr tripleRangeQuery(ServerExpression subject, ServerExpression predicate, ServerExpression object, ServerExpression operator, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "triple-range-query", new Object[]{ subject, predicate, object, operator, options, weight }); } - + @Override public CtsQueryExpr trueQuery() { return new QueryCallImpl("cts", "true-query", new Object[]{ }); } - + @Override public CtsReferenceExpr uriReference() { return new ReferenceCallImpl("cts", "uri-reference", new Object[]{ }); } - + @Override public CtsQueryExpr wordQuery(String text) { return wordQuery((text == null) ? (XsStringVal) null : xs.string(text)); } - + @Override public CtsQueryExpr wordQuery(ServerExpression text) { return new QueryCallImpl("cts", "word-query", new Object[]{ text }); } - + @Override public CtsQueryExpr wordQuery(String text, String... options) { return wordQuery((text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.stringSeq(options)); } - + @Override public CtsQueryExpr wordQuery(ServerExpression text, ServerExpression options) { return new QueryCallImpl("cts", "word-query", new Object[]{ text, options }); } - + @Override public CtsQueryExpr wordQuery(String text, String options, double weight) { return wordQuery((text == null) ? (XsStringVal) null : xs.string(text), (options == null) ? (XsStringVal) null : xs.string(options), xs.doubleVal(weight)); } - + @Override public CtsQueryExpr wordQuery(ServerExpression text, ServerExpression options, ServerExpression weight) { return new QueryCallImpl("cts", "word-query", new Object[]{ text, options, weight }); @@ -2171,7 +2232,7 @@ static class BoxCallImpl extends BaseTypeImpl.ServerExpressionCallImpl implement super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsCircleSeqExpr circleSeq(CtsCircleExpr... items) { return new CircleSeqListImpl(items); @@ -2191,7 +2252,7 @@ static class CircleCallImpl extends BaseTypeImpl.ServerExpressionCallImpl implem super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsPeriodSeqExpr periodSeq(CtsPeriodExpr... items) { return new PeriodSeqListImpl(items); @@ -2211,7 +2272,7 @@ static class PeriodCallImpl extends BaseTypeImpl.ServerExpressionCallImpl implem super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsPointSeqExpr pointSeq(CtsPointExpr... items) { return new PointSeqListImpl(items); @@ -2231,7 +2292,7 @@ static class PointCallImpl extends BaseTypeImpl.ServerExpressionCallImpl impleme super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsPolygonSeqExpr polygonSeq(CtsPolygonExpr... items) { return new PolygonSeqListImpl(items); @@ -2251,7 +2312,7 @@ static class PolygonCallImpl extends BaseTypeImpl.ServerExpressionCallImpl imple super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsQuerySeqExpr querySeq(CtsQueryExpr... items) { return new QuerySeqListImpl(items); @@ -2271,7 +2332,7 @@ static class QueryCallImpl extends BaseTypeImpl.ServerExpressionCallImpl impleme super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsReferenceSeqExpr referenceSeq(CtsReferenceExpr... items) { return new ReferenceSeqListImpl(items); @@ -2291,7 +2352,7 @@ static class ReferenceCallImpl extends BaseTypeImpl.ServerExpressionCallImpl imp super(fnPrefix, fnName, fnArgs); } } - + @Override public CtsRegionSeqExpr regionSeq(CtsRegionExpr... items) { return new RegionSeqListImpl(items); diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/DatabaseClientPropertySource.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/DatabaseClientPropertySource.java index 3781897ae..b36f0b8aa 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/DatabaseClientPropertySource.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/DatabaseClientPropertySource.java @@ -19,8 +19,6 @@ import com.marklogic.client.DatabaseClientBuilder; import com.marklogic.client.DatabaseClientFactory; import com.marklogic.client.extra.okhttpclient.RemoveAcceptEncodingConfigurator; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.X509TrustManager; @@ -40,7 +38,6 @@ */ public class DatabaseClientPropertySource { - private static final Logger logger = LoggerFactory.getLogger(DatabaseClientPropertySource.class); private static final String PREFIX = DatabaseClientBuilder.PREFIX; private final Function propertySource; @@ -97,7 +94,7 @@ public class DatabaseClientPropertySource { if (value instanceof Boolean && Boolean.TRUE.equals(value)) { disableGzippedResponses = true; } else if (value instanceof String) { - disableGzippedResponses = Boolean.parseBoolean((String)value); + disableGzippedResponses = Boolean.parseBoolean((String) value); } if (disableGzippedResponses) { DatabaseClientFactory.addConfigurator(new RemoveAcceptEncodingConfigurator()); @@ -152,25 +149,18 @@ private DatabaseClientFactory.SecurityContext newSecurityContext() { if (typeValue == null || !(typeValue instanceof String)) { throw new IllegalArgumentException("Security context should be set, or auth type must be of type String"); } - final String authType = (String)typeValue; - final SSLInputs sslInputs = buildSSLInputs(authType); + final String authType = (String) typeValue; + final SSLUtil.SSLInputs sslInputs = buildSSLInputs(authType); DatabaseClientFactory.SecurityContext securityContext = newSecurityContext(authType, sslInputs); - - X509TrustManager trustManager = determineTrustManager(sslInputs); - SSLContext sslContext = sslInputs.getSslContext() != null ? - sslInputs.getSslContext() : - determineSSLContext(sslInputs, trustManager); - - if (sslContext != null) { - securityContext.withSSLContext(sslContext, trustManager); + if (sslInputs.getSslContext() != null) { + securityContext.withSSLContext(sslInputs.getSslContext(), sslInputs.getTrustManager()); } - securityContext.withSSLHostnameVerifier(determineHostnameVerifier()); return securityContext; } - private DatabaseClientFactory.SecurityContext newSecurityContext(String type, SSLInputs sslInputs) { + private DatabaseClientFactory.SecurityContext newSecurityContext(String type, SSLUtil.SSLInputs sslInputs) { switch (type.toLowerCase()) { case DatabaseClientBuilder.AUTH_TYPE_BASIC: return newBasicAuthContext(); @@ -198,11 +188,15 @@ private String getRequiredStringValue(String propertyName) { } private String getNullableStringValue(String propertyName) { + return getNullableStringValue(propertyName, null); + } + + private String getNullableStringValue(String propertyName, String defaultValue) { Object value = propertySource.apply(PREFIX + propertyName); if (value != null && !(value instanceof String)) { throw new IllegalArgumentException(propertyName + " must be of type String"); } - return (String)value; + return value != null ? (String) value : defaultValue; } private DatabaseClientFactory.SecurityContext newBasicAuthContext() { @@ -231,7 +225,7 @@ private DatabaseClientFactory.SecurityContext newCloudAuthContext() { return new DatabaseClientFactory.MarkLogicCloudAuthContext(apiKey, duration); } - private DatabaseClientFactory.SecurityContext newCertificateAuthContext(SSLInputs sslInputs) { + private DatabaseClientFactory.SecurityContext newCertificateAuthContext(SSLUtil.SSLInputs sslInputs) { String file = getNullableStringValue("certificate.file"); String password = getNullableStringValue("certificate.password"); if (file != null && file.trim().length() > 0) { @@ -244,6 +238,9 @@ private DatabaseClientFactory.SecurityContext newCertificateAuthContext(SSLInput throw new RuntimeException("Unable to create CertificateAuthContext; cause " + e.getMessage(), e); } } + if (sslInputs.getSslContext() == null) { + throw new RuntimeException("An SSLContext is required for certificate authentication."); + } return new DatabaseClientFactory.CertificateAuthContext(sslInputs.getSslContext(), sslInputs.getTrustManager()); } @@ -255,57 +252,6 @@ private DatabaseClientFactory.SecurityContext newSAMLAuthContext() { return new DatabaseClientFactory.SAMLAuthContext(getRequiredStringValue("saml.token")); } - private SSLContext determineSSLContext(SSLInputs sslInputs, X509TrustManager trustManager) { - String protocol = sslInputs.getSslProtocol(); - if (protocol != null) { - if ("default".equalsIgnoreCase(protocol)) { - try { - return SSLContext.getDefault(); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException("Unable to obtain default SSLContext; cause: " + e.getMessage(), e); - } - } - - SSLContext sslContext; - try { - sslContext = SSLContext.getInstance(protocol); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException("Unable to get SSLContext instance with protocol: " + protocol - + "; cause: " + e.getMessage(), e); - } - // Note that if only a protocol is specified, and not a TrustManager, an attempt will later be made - // to use the JVM's default TrustManager - if (trustManager != null) { - try { - sslContext.init(null, new X509TrustManager[]{trustManager}, null); - } catch (KeyManagementException e) { - throw new RuntimeException("Unable to initialize SSLContext; protocol: " + protocol + "; cause: " + e.getMessage(), e); - } - } - return sslContext; - } - return null; - } - - private X509TrustManager determineTrustManager(SSLInputs sslInputs) { - if (sslInputs.getTrustManager() != null) { - return sslInputs.getTrustManager(); - } - // If the user chooses the "default" SSLContext, then it's already been initialized - but OkHttp still - // needs a separate X509TrustManager, so use the JVM's default trust manager. The assumption is that the - // default SSLContext was initialized with the JVM's default trust manager. A user can of course always override - // this by simply providing their own trust manager. - if ("default".equalsIgnoreCase(sslInputs.getSslProtocol())) { - X509TrustManager defaultTrustManager = SSLUtil.getDefaultTrustManager(); - if (logger.isDebugEnabled() && defaultTrustManager != null && defaultTrustManager.getAcceptedIssuers() != null) { - logger.debug("Count of accepted issuers in default trust manager: {}", - defaultTrustManager.getAcceptedIssuers().length); - } - return defaultTrustManager; - } - return null; - } - private DatabaseClientFactory.SSLHostnameVerifier determineHostnameVerifier() { Object verifierObject = propertySource.apply(PREFIX + "sslHostnameVerifier"); if (verifierObject instanceof DatabaseClientFactory.SSLHostnameVerifier) { @@ -329,63 +275,121 @@ private DatabaseClientFactory.SSLHostnameVerifier determineHostnameVerifier() { * X509TrustManager. * * @param authType used for applying "default" as the SSL protocol for MarkLogic cloud authentication in - * case the user does not define their own SSLContext or SSL protocol + * case the user does not define their own SSLContext or SSL protocol * @return */ - private SSLInputs buildSSLInputs(String authType) { - SSLContext sslContext = null; + private SSLUtil.SSLInputs buildSSLInputs(String authType) { + X509TrustManager userTrustManager = getTrustManager(); + + // Approach 1 - user provides an SSLContext object, in which case there's nothing further to check. + SSLContext sslContext = getSSLContext(); + if (sslContext != null) { + return new SSLUtil.SSLInputs(sslContext, userTrustManager); + } + + // Approach 2 - user wants two-way SSL via a keystore. + final String keyStorePath = getNullableStringValue("ssl.keystore.path"); + if (keyStorePath != null && keyStorePath.trim().length() > 0) { + return useKeyStoreForTwoWaySSL(keyStorePath, userTrustManager); + } + + // Approaches 3 and 4 - user defines an SSL protocol. + // Approach 3 - "default" is a convenience for using the JVM's default SSLContext. + // Approach 4 - create a new SSLContext, and initialize it if the user-provided TrustManager is not null. + final String sslProtocol = getSSLProtocol(authType); + if (sslProtocol != null) { + return "default".equalsIgnoreCase(sslProtocol) ? + useDefaultSSLContext(userTrustManager) : + useNewSSLContext(sslProtocol, userTrustManager); + } + + // Approach 5 - still return the user-defined TrustManager as that may be needed for certificate authentication, + // which has its own way of constructing an SSLContext from a PKCS12 file. + return new SSLUtil.SSLInputs(null, userTrustManager); + } + + private X509TrustManager getTrustManager() { + Object val = propertySource.apply(PREFIX + "trustManager"); + if (val != null) { + if (val instanceof X509TrustManager) { + return (X509TrustManager) val; + } else { + throw new IllegalArgumentException("Trust manager must be an instanceof " + X509TrustManager.class.getName()); + } + } + return null; + } + + private SSLContext getSSLContext() { Object val = propertySource.apply(PREFIX + "sslContext"); if (val != null) { if (val instanceof SSLContext) { - sslContext = (SSLContext) val; + return (SSLContext) val; } else { throw new IllegalArgumentException("SSL context must be an instanceof " + SSLContext.class.getName()); } } + return null; + } + private String getSSLProtocol(String authType) { String sslProtocol = getNullableStringValue("sslProtocol"); - if (sslContext == null && - (sslProtocol == null || sslProtocol.trim().length() == 0) && - DatabaseClientBuilder.AUTH_TYPE_MARKLOGIC_CLOUD.equalsIgnoreCase(authType)) { + if (sslProtocol != null) { + sslProtocol = sslProtocol.trim(); + } + // For convenience for MarkLogic Cloud users, assume the JVM's default SSLContext should trust the certificate + // used by MarkLogic Cloud. A user can always override this default behavior by providing their own SSLContext. + if ((sslProtocol == null || sslProtocol.length() == 0) && DatabaseClientBuilder.AUTH_TYPE_MARKLOGIC_CLOUD.equalsIgnoreCase(authType)) { sslProtocol = "default"; } + return sslProtocol; + } - val = propertySource.apply(PREFIX + "trustManager"); - X509TrustManager trustManager = null; - if (val != null) { - if (val instanceof X509TrustManager) { - trustManager = (X509TrustManager) val; - } else { - throw new IllegalArgumentException("Trust manager must be an instanceof " + X509TrustManager.class.getName()); - } - } - return new SSLInputs(sslContext, sslProtocol, trustManager); + private SSLUtil.SSLInputs useKeyStoreForTwoWaySSL(String keyStorePath, X509TrustManager userTrustManager) { + final String password = getNullableStringValue("ssl.keystore.password"); + final String keyStoreType = getNullableStringValue("ssl.keystore.type", "JKS"); + final String algorithm = getNullableStringValue("ssl.keystore.algorithm", "SunX509"); + final char[] charPassword = password != null ? password.toCharArray() : null; + final String sslProtocol = getNullableStringValue("sslProtocol", "TLSv1.2"); + return SSLUtil.createSSLContextFromKeyStore(keyStorePath, charPassword, keyStoreType, algorithm, sslProtocol, userTrustManager); } /** - * Captures the inputs provided by the caller that pertain to constructing an SSLContext. + * Uses the JVM's default SSLContext. Because OkHttp requires a separate TrustManager, this approach will either + * user the user-provided TrustManager or it will assume that the JVM's default TrustManager should be used. */ - private static class SSLInputs { - private final SSLContext sslContext; - private final String sslProtocol; - private final X509TrustManager trustManager; - - public SSLInputs(SSLContext sslContext, String sslProtocol, X509TrustManager trustManager) { - this.sslContext = sslContext; - this.sslProtocol = sslProtocol; - this.trustManager = trustManager; - } - - public SSLContext getSslContext() { - return sslContext; + private SSLUtil.SSLInputs useDefaultSSLContext(X509TrustManager userTrustManager) { + SSLContext sslContext; + try { + sslContext = SSLContext.getDefault(); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("Unable to obtain default SSLContext; cause: " + e.getMessage(), e); } + X509TrustManager trustManager = userTrustManager != null ? userTrustManager : SSLUtil.getDefaultTrustManager(); + return new SSLUtil.SSLInputs(sslContext, trustManager); + } - public String getSslProtocol() { - return sslProtocol; + /** + * Constructs a new SSLContext based on the given protocol (e.g. TLSv1.2). The SSLContext will be initialized if + * the user's TrustManager is not null. Otherwise, OkHttpUtil will eventually initialize the SSLContext using the + * JVM's default TrustManager. + */ + private SSLUtil.SSLInputs useNewSSLContext(String sslProtocol, X509TrustManager userTrustManager) { + SSLContext sslContext; + try { + sslContext = SSLContext.getInstance(sslProtocol); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(String.format("Unable to get SSLContext instance with protocol: %s; cause: %s", + sslProtocol, e.getMessage()), e); } - - public X509TrustManager getTrustManager() { - return trustManager; + if (userTrustManager != null) { + try { + sslContext.init(null, new X509TrustManager[]{userTrustManager}, null); + } catch (KeyManagementException e) { + throw new RuntimeException(String.format("Unable to initialize SSLContext; protocol: %s; cause: %s", + sslProtocol, e.getMessage()), e); + } } + return new SSLUtil.SSLInputs(sslContext, userTrustManager); } } diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/FnExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/FnExprImpl.java index 5195b8ca1..dd9e4ba5f 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/FnExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/FnExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/GeoExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/GeoExprImpl.java index 527d8fa02..4c9d98ec4 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/GeoExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/GeoExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -686,6 +686,15 @@ public ServerExpression geohashPrecisionDimensions(ServerExpression precision) { } + @Override + public ServerExpression geohashSubhashes(ServerExpression hash) { + if (hash == null) { + throw new IllegalArgumentException("hash parameter for geohashSubhashes() cannot be null"); + } + return new XsExprImpl.StringSeqCallImpl("geo", "geohash-subhashes", new Object[]{ hash }); + } + + @Override public ServerExpression geohashSubhashes(ServerExpression hash, String which) { return geohashSubhashes(hash, (which == null) ? (ServerExpression) null : xs.string(which)); diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/JsonExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/JsonExprImpl.java index 901b1a128..b7d4d9060 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/JsonExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/JsonExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/MapExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/MapExprImpl.java index 47d2422c3..30c2b73de 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/MapExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/MapExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/MathExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/MathExprImpl.java index e21e96335..979d4fbf0 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/MathExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/MathExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderImpl.java index b3f3b8c38..12f798173 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1930,6 +1930,27 @@ public ModifyPlan joinDoc(PlanColumn docCol, PlanColumn sourceCol) { } + @Override + public ModifyPlan joinDocAndUri(String docCol, String uriCol, String sourceCol) { + return joinDocAndUri((docCol == null) ? (PlanColumn) null : col(docCol), (uriCol == null) ? (PlanColumn) null : col(uriCol), (sourceCol == null) ? (PlanColumn) null : col(sourceCol)); + } + + + @Override + public ModifyPlan joinDocAndUri(PlanColumn docCol, PlanColumn uriCol, PlanColumn sourceCol) { + if (docCol == null) { + throw new IllegalArgumentException("docCol parameter for joinDocAndUri() cannot be null"); + } + if (uriCol == null) { + throw new IllegalArgumentException("uriCol parameter for joinDocAndUri() cannot be null"); + } + if (sourceCol == null) { + throw new IllegalArgumentException("sourceCol parameter for joinDocAndUri() cannot be null"); + } + return new PlanBuilderSubImpl.ModifyPlanSubImpl(this, "op", "join-doc-and-uri", new Object[]{ docCol, uriCol, sourceCol }); + } + + @Override public ModifyPlan joinDocCols(PlanDocColsIdentifier cols, String docIdCol) { return joinDocCols(cols, (docIdCol == null) ? (PlanColumn) null : col(docIdCol)); diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/RdfExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/RdfExprImpl.java index 2c5024964..1748e65dd 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/RdfExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/RdfExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/SSLUtil.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SSLUtil.java index b7e5894a6..099b51c38 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/SSLUtil.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SSLUtil.java @@ -15,46 +15,176 @@ */ package com.marklogic.client.impl; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509TrustManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.*; +import java.io.FileInputStream; +import java.io.InputStream; +import java.security.KeyManagementException; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; -public interface SSLUtil { +/** + * SSL convenience methods that are stored in the "impl" package, but we may eventually want to make these officially + * public, particular for reuse in connectors. + */ +public abstract class SSLUtil { - static X509TrustManager getDefaultTrustManager() { - return (X509TrustManager) getDefaultTrustManagers()[0]; + /** + * @return an X509TrustManager based on the JVM's default trust manager algorithm. How this is constructed can vary + * based on the JVM type and version. One common approach is for the JVM to constructs this based on its + * ./jre/lib/security/cacerts file. + */ + public static X509TrustManager getDefaultTrustManager() { + X509TrustManager trustManager = (X509TrustManager) getDefaultTrustManagers()[0]; + Logger logger = LoggerFactory.getLogger(SSLUtil.class); + if (logger.isDebugEnabled() && trustManager.getAcceptedIssuers() != null) { + logger.debug("Count of accepted issuers in default trust manager: {}", + trustManager.getAcceptedIssuers().length); + } + return trustManager; } /** * @return a non-empty array of TrustManager instances based on the JVM's default trust manager algorithm, with the * first trust manager guaranteed to be an instance of X509TrustManager. */ - static TrustManager[] getDefaultTrustManagers() { + public static TrustManager[] getDefaultTrustManagers() { final String defaultAlgorithm = TrustManagerFactory.getDefaultAlgorithm(); + return getTrustManagers(defaultAlgorithm, null); + } + + /** + * @param trustManagerAlgorithm e.g. "SunX509". + * @param optionalKeyStore if not null, used to initialize the TrustManagerFactory constructed based on the + * given algorithm. + * @return + */ + public static TrustManager[] getTrustManagers(String trustManagerAlgorithm, KeyStore optionalKeyStore) { TrustManagerFactory trustManagerFactory; try { - trustManagerFactory = TrustManagerFactory.getInstance(defaultAlgorithm); + trustManagerFactory = TrustManagerFactory.getInstance(trustManagerAlgorithm); } catch (NoSuchAlgorithmException e) { - throw new RuntimeException("Unable to obtain trust manager factory using JVM's default trust manager algorithm: " + defaultAlgorithm, e); + throw new RuntimeException( + "Unable to obtain trust manager factory using algorithm: " + trustManagerAlgorithm, e); } try { - trustManagerFactory.init((KeyStore) null); + trustManagerFactory.init(optionalKeyStore); } catch (KeyStoreException e) { - throw new RuntimeException("Unable to initialize trust manager factory obtained using JVM's default trust manager algorithm: " + defaultAlgorithm - + "; cause: " + e.getMessage(), e); + throw new RuntimeException(String.format( + "Unable to initialize trust manager factory obtained using algorithm: %s; cause: %s", + trustManagerAlgorithm, e.getMessage()), e); } TrustManager[] trustManagers = trustManagerFactory.getTrustManagers(); if (trustManagers == null || trustManagers.length == 0) { - throw new RuntimeException("No trust managers found using the JVM's default trust manager algorithm: " + defaultAlgorithm); + throw new RuntimeException("No trust managers found using algorithm: " + trustManagerAlgorithm); } if (!(trustManagers[0] instanceof X509TrustManager)) { throw new RuntimeException("Default trust manager is not an X509TrustManager: " + trustManagers[0]); } return trustManagers; } + + /** + * Captures the oft-repeated boilerplate Java code for creating an SSLContext based on a key store. + * + * @param keyStorePath required path to a key store file + * @param keyStorePassword optional password, can be null + * @param keyStoreType type of key store, e.g. "JKS" + * @param algorithm key store algorithm, e.g. "SunX509" + * @param sslProtocol e.g. "TLSv1.2" + * @param userProvidedTrustManager optional trust manager provided by a user; if not null, will be used to + * initialize the SSLContext instead of using the key store as a trust manager. + * @return + */ + static SSLInputs createSSLContextFromKeyStore(String keyStorePath, char[] keyStorePassword, String keyStoreType, + String algorithm, String sslProtocol, + X509TrustManager userProvidedTrustManager) { + + KeyStore keyStore = getKeyStore(keyStorePath, keyStorePassword, keyStoreType); + KeyManagerFactory keyManagerFactory = newKeyManagerFactory(keyStore, keyStorePassword, algorithm); + SSLContext sslContext = newSSLContext(sslProtocol); + + TrustManager[] trustManagers = userProvidedTrustManager != null + ? new X509TrustManager[]{userProvidedTrustManager} + : getTrustManagers(algorithm, keyStore); + + try { + sslContext.init(keyManagerFactory.getKeyManagers(), trustManagers, null); + } catch (KeyManagementException ex) { + throw new RuntimeException("Unable to initialize SSL context", ex); + } + + return new SSLInputs(sslContext, (X509TrustManager) trustManagers[0]); + } + + /** + * @return a Java KeyStore based on the given inputs. + */ + public static KeyStore getKeyStore(String keyStorePath, char[] keyStorePassword, String keyStoreType) { + KeyStore keyStore; + try { + keyStore = KeyStore.getInstance(keyStoreType); + } catch (KeyStoreException ex) { + throw new RuntimeException("Unable to get instance of key store with type: " + keyStoreType, ex); + } + + try (InputStream inputStream = new FileInputStream(keyStorePath)) { + keyStore.load(inputStream, keyStorePassword); + return keyStore; + } catch (Exception ex) { + throw new RuntimeException("Unable to read from key store at path: " + keyStorePath, ex); + } + } + + private static KeyManagerFactory newKeyManagerFactory(KeyStore keyStore, char[] keyStorePassword, String algorithm) { + KeyManagerFactory keyManagerFactory; + try { + keyManagerFactory = KeyManagerFactory.getInstance(algorithm); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException("Unable to create key manager factory with algorithm: " + algorithm, ex); + } + + try { + keyManagerFactory.init(keyStore, keyStorePassword); + } catch (Exception ex) { + throw new RuntimeException("Unable to initialize key manager factory", ex); + } + return keyManagerFactory; + } + + private static SSLContext newSSLContext(String sslProtocol) { + try { + return SSLContext.getInstance(sslProtocol); + } catch (Exception ex) { + throw new RuntimeException("Unable to create SSL context using protocol: " + sslProtocol, ex); + } + } + + /** + * Captures the inputs needed by the Java Client for establishing an SSL connection. The need for a separate + * X509TrustManager arose from the switch from Apache's HttpClient to OkHttp, where the latter needs access to a + * X509TrustManager (as opposed to relying on any trust managers within an SSLContext). + */ + public static class SSLInputs { + private final SSLContext sslContext; + private final X509TrustManager trustManager; + + public SSLInputs(SSLContext sslContext, X509TrustManager trustManager) { + this.sslContext = sslContext; + this.trustManager = trustManager; + } + + public SSLContext getSslContext() { + return sslContext; + } + + public X509TrustManager getTrustManager() { + return trustManager; + } + } } diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/SemExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SemExprImpl.java index 82e599f4a..9560c87d5 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/SemExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SemExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/SpellExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SpellExprImpl.java index 93fd3d589..bf65e5600 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/SpellExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SpellExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/SqlExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SqlExprImpl.java index 309e98119..9437be66a 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/SqlExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/SqlExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/XdmpExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/XdmpExprImpl.java index 521b92870..1a8b34ea5 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/XdmpExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/XdmpExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/impl/XsExprImpl.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/XsExprImpl.java index 7c798b574..6608f85a7 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/XsExprImpl.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/XsExprImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * 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/marklogic-client-api/src/main/java/com/marklogic/client/query/StructuredQueryBuilder.java b/marklogic-client-api/src/main/java/com/marklogic/client/query/StructuredQueryBuilder.java index c42400752..543c8daab 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/query/StructuredQueryBuilder.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/query/StructuredQueryBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 MarkLogic Corporation + * Copyright (c) 2023 MarkLogic Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -469,7 +469,11 @@ public StructuredQueryDefinition directory(boolean isInfinite, String... uris) { * A value of 1 means to exclude subdirectories. * @param uris the identifiers for the criteria directories * @return the StructuredQueryDefinition for the directory query + * @deprecated since 6.4.0; a directory query in MarkLogic does not support custom depths; it is either limited + * to the given directory or it is "infinite". For that reason, prefer the {@code directory} method that accepts a + * boolean indicating whether the directory query is infinite. */ + @Deprecated public StructuredQueryDefinition directory(int depth, String... uris) { return new DirectoryQuery(depth, uris); } diff --git a/marklogic-client-api/src/main/javadoc/doc-files/types/cts_query.html b/marklogic-client-api/src/main/javadoc/doc-files/types/cts_query.html index d52fb0a86..f50c02a4f 100644 --- a/marklogic-client-api/src/main/javadoc/doc-files/types/cts_query.html +++ b/marklogic-client-api/src/main/javadoc/doc-files/types/cts_query.html @@ -150,240 +150,258 @@ server + cts:query + cts:document-format-query(xs:string format) + java + server + + cts:query cts:document-fragment-query(cts:query query) java server + + cts:query + cts:document-permission-query(xs:string role, xs:string capability) + java + server + + cts:query + cts:document-root-query(xs:QName root) + java + server + + cts:query cts:document-query(xs:string uris*) java server - + cts:query cts:element-attribute-pair-geospatial-query(xs:QName element-name*, xs:QName latitude-name*, xs:QName longitude-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-attribute-range-query(xs:QName element-name*, xs:QName attribute-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-attribute-value-query(xs:QName element-name*, xs:QName attribute-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-attribute-word-query(xs:QName element-name*, xs:QName attribute-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-child-geospatial-query(xs:QName element-name*, xs:QName child-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-geospatial-query(xs:QName element-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-pair-geospatial-query(xs:QName element-name*, xs:QName latitude-name*, xs:QName longitude-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-query(xs:QName element-name*, cts:query query) java server - + cts:query cts:element-range-query(xs:QName element-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-value-query(xs:QName element-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-word-query(xs:QName element-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:false-query() java server - + cts:query cts:field-range-query(xs:string field-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:field-value-query(xs:string field-name*, xs:anyAtomicType text*, xs:string options*, xs:double weight?) java server - + cts:query cts:field-word-query(xs:string field-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:geospatial-region-query(cts:reference reference*, xs:string operation, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:json-property-child-geospatial-query(xs:string property-name*, xs:string child-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:json-property-geospatial-query(xs:string property-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:json-property-pair-geospatial-query(xs:string property-name*, xs:string latitude-name*, xs:string longitude-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:json-property-range-query(xs:string property-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:json-property-scope-query(xs:string property-name*, cts:query query) java server - + cts:query cts:json-property-value-query(xs:string property-name*, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:json-property-word-query(xs:string property-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:locks-fragment-query(cts:query query) java server - + cts:query cts:lsqt-query(xs:string temporal-collection, xs:dateTime timestamp?, xs:string options*, xs:double weight?) java server - + cts:query cts:near-query(cts:query queries*, xs:double distance?, xs:string options*, xs:double weight?) java server - + cts:query cts:not-in-query(cts:query positive-query, cts:query negative-query) java server - + cts:query cts:not-query(cts:query query) java server - + cts:query cts:or-query(cts:query queries*, xs:string options*) java server - + cts:query cts:path-geospatial-query(xs:string path-expression*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:path-range-query(xs:string path-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:period-compare-query(xs:string axis-1, xs:string operator, xs:string axis-2, xs:string options*) java server - + cts:query cts:period-range-query(xs:string axis*, xs:string operator, cts:period period*, xs:string options*) java server - + cts:query cts:properties-fragment-query(cts:query query) java server - + cts:query cts:range-query(cts:reference index*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:triple-range-query(xs:anyAtomicType subject*, xs:anyAtomicType predicate*, xs:anyAtomicType object*, xs:string operator*, xs:string options*, xs:double weight?) java server - + cts:query cts:true-query() java server - + cts:query cts:word-query(xs:string text*, xs:string options*, xs:double weight?) java diff --git a/marklogic-client-api/src/main/javadoc/doc-files/types/xs_QName.html b/marklogic-client-api/src/main/javadoc/doc-files/types/xs_QName.html index a2899f662..dcd7b3491 100644 --- a/marklogic-client-api/src/main/javadoc/doc-files/types/xs_QName.html +++ b/marklogic-client-api/src/main/javadoc/doc-files/types/xs_QName.html @@ -28,107 +28,113 @@ Server Doc + cts:query + cts:document-root-query(xs:QName root) + java + server + + cts:query cts:element-attribute-pair-geospatial-query(xs:QName element-name*, xs:QName latitude-name*, xs:QName longitude-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-attribute-range-query(xs:QName element-name*, xs:QName attribute-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-attribute-value-query(xs:QName element-name*, xs:QName attribute-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-attribute-word-query(xs:QName element-name*, xs:QName attribute-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-child-geospatial-query(xs:QName element-name*, xs:QName child-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-geospatial-query(xs:QName element-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-pair-geospatial-query(xs:QName element-name*, xs:QName latitude-name*, xs:QName longitude-name*, cts:region region*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-query(xs:QName element-name*, cts:query query) java server - + cts:query cts:element-range-query(xs:QName element-name*, xs:string operator, xs:anyAtomicType value*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-value-query(xs:QName element-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:query cts:element-word-query(xs:QName element-name*, xs:string text*, xs:string options*, xs:double weight?) java server - + cts:reference cts:element-attribute-reference(xs:QName element, xs:QName attribute, xs:string options*) java server - + cts:reference cts:element-reference(xs:QName element, xs:string options*) java server - + xs:NCName? fn:local-name-from-QName(xs:QName arg?) java server - + xs:anyURI? fn:namespace-uri-from-QName(xs:QName arg?) java server - + xs:NCName? fn:prefix-from-QName(xs:QName arg?) java server - + sem:iri sem:QName-to-iri(xs:QName arg1) java - + xs:string xdmp:key-from-QName(xs:QName name) java diff --git a/marklogic-client-api/src/main/javadoc/doc-files/types/xs_string.html b/marklogic-client-api/src/main/javadoc/doc-files/types/xs_string.html index ad44407a6..b541e7a80 100644 --- a/marklogic-client-api/src/main/javadoc/doc-files/types/xs_string.html +++ b/marklogic-client-api/src/main/javadoc/doc-files/types/xs_string.html @@ -72,6 +72,18 @@ java server + + cts:query + cts:document-format-query(xs:string format) + java + server + + + cts:query + cts:document-permission-query(xs:string role, xs:string capability) + java + server + cts:query cts:document-query(xs:string uris*) diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/BulkReadWriteTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/BulkReadWriteTest.java index 11f42f53b..b5da2fade 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/BulkReadWriteTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/BulkReadWriteTest.java @@ -197,7 +197,7 @@ public void testC_BulkSearch() { SearchHandle searchHandle = new SearchHandle(); int pageLength = 100; docMgr.setPageLength(pageLength); - DocumentPage page = docMgr.search(new StructuredQueryBuilder().directory(1, DIRECTORY), 1, searchHandle); + DocumentPage page = docMgr.search(new StructuredQueryBuilder().directory(false, DIRECTORY), 1, searchHandle); try { for ( DocumentRecord record : page ) { validateRecord(record); diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicCloudAuthenticationDebugger.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicCloudAuthenticationDebugger.java index 93f13d9bb..91229fbef 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicCloudAuthenticationDebugger.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicCloudAuthenticationDebugger.java @@ -49,7 +49,7 @@ public static void main(String[] args) throws Exception { } System.out.println(client.newQueryManager().search( - client.newQueryManager().newStructuredQueryBuilder().directory(0, "/") + client.newQueryManager().newStructuredQueryBuilder().directory(true, "/") , new JacksonHandle()).get().toPrettyString()); System.out.println("Successfully finished cloud-based authentication test"); diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicVersion.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicVersion.java index e27d97e24..1b97e7cc6 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicVersion.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/MarkLogicVersion.java @@ -9,44 +9,52 @@ */ public class MarkLogicVersion { - private int major; - private Integer minor; - private boolean nightly; - - private final static String VERSION_WITH_PATCH_PATTERN = "^.*-(.+)\\..*"; - - public MarkLogicVersion(String version) { - int major = Integer.parseInt(version.replaceAll("([^.]+)\\..*", "$1")); - final String nightlyPattern = "[^-]+-(\\d{4})(\\d{2})(\\d{2})"; - final String majorWithMinorPattern = "^.*-(.+)$"; - if (version.matches(nightlyPattern)) { - this.nightly = true; - } else if (version.matches(majorWithMinorPattern)) { - this.minor = version.matches(VERSION_WITH_PATCH_PATTERN) ? - parseMinorWithPatch(version) : - Integer.parseInt(version.replaceAll(majorWithMinorPattern, "$1") + "00"); - } - this.major = major; - } - - private int parseMinorWithPatch(String version) { - final int minorNumber = Integer.parseInt(version.replaceAll(VERSION_WITH_PATCH_PATTERN, "$1")); - final int patch = Integer.parseInt(version.replaceAll("^.*-(.+)\\.(.*)", "$2")); - final String leftPaddedPatchNumber = patch < 10 ? - StringUtils.leftPad(String.valueOf(patch), 2, "0") : - String.valueOf(patch); - return Integer.parseInt(minorNumber + leftPaddedPatchNumber); - } - - public int getMajor() { - return major; - } - - public Integer getMinor() { - return minor; - } - - public boolean isNightly() { - return nightly; - } + private int major; + private Integer minor; + private boolean nightly; + + private final static String MAJOR_WITH_MINOR_PATTERN = "^.*-(.+)$"; + private final static String VERSION_WITH_PATCH_PATTERN = "^.*-(.+)\\..*"; + private final static String NIGHTLY_BUILD_PATTERN = "[^-]+-(\\d{4})(\\d{2})(\\d{2})"; + private final static String SEMVER_PATTERN = "^[0-9]+\\.[0-9]+\\.[0-9]+"; + + public MarkLogicVersion(String version) { + // MarkLogic 11.1.0 adheres to semantic versioning. + if (version.matches(SEMVER_PATTERN)) { + String[] tokens = version.split("\\."); + this.major = Integer.parseInt(tokens[0]); + this.minor = Integer.parseInt(tokens[1]); + } else { + int major = Integer.parseInt(version.replaceAll("([^.]+)\\..*", "$1")); + if (version.matches(NIGHTLY_BUILD_PATTERN)) { + this.nightly = true; + } else if (version.matches(MAJOR_WITH_MINOR_PATTERN)) { + this.minor = version.matches(VERSION_WITH_PATCH_PATTERN) ? + parseMinorWithPatch(version) : + Integer.parseInt(version.replaceAll(MAJOR_WITH_MINOR_PATTERN, "$1") + "00"); + } + this.major = major; + } + } + + private int parseMinorWithPatch(String version) { + final int minorNumber = Integer.parseInt(version.replaceAll(VERSION_WITH_PATCH_PATTERN, "$1")); + final int patch = Integer.parseInt(version.replaceAll("^.*-(.+)\\.(.*)", "$2")); + final String leftPaddedPatchNumber = patch < 10 ? + StringUtils.leftPad(String.valueOf(patch), 2, "0") : + String.valueOf(patch); + return Integer.parseInt(minorNumber + leftPaddedPatchNumber); + } + + public int getMajor() { + return major; + } + + public Integer getMinor() { + return minor; + } + + public boolean isNightly() { + return nightly; + } } diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/PlanGeneratedTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/PlanGeneratedTest.java index a5b79f16c..6c3f6e998 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/PlanGeneratedTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/PlanGeneratedTest.java @@ -103,7 +103,7 @@ public void testFnAbs1Exec() { @Test public void testFnAdjustDateTimeToTimezone1Exec() { - executeTester("testFnAdjustDateTimeToTimezone1", p.fn.adjustDateTimeToTimezone(p.col("1")), true, "xs:dateTime", null, null, "2016-01-02T02:09:08-08:00", new ServerExpression[]{ p.xs.dateTime("2016-01-02T10:09:08Z") }); + executeTester("testFnAdjustDateTimeToTimezone1", p.fn.adjustDateTimeToTimezone(p.col("1")), true, "xs:dateTime", null, null, "2016-01-02T10:09:08Z", new ServerExpression[]{ p.xs.dateTime("2016-01-02T10:09:08Z") }); } @Test @@ -113,7 +113,7 @@ public void testFnAdjustDateTimeToTimezone2Exec() { @Test public void testFnAdjustDateToTimezone1Exec() { - executeTester("testFnAdjustDateToTimezone1", p.fn.adjustDateToTimezone(p.col("1")), true, "xs:date", null, null, "2016-01-02-08:00", new ServerExpression[]{ p.xs.date("2016-01-02") }); + executeTester("testFnAdjustDateToTimezone1", p.fn.adjustDateToTimezone(p.col("1")), true, "xs:date", null, null, "2016-01-02Z", new ServerExpression[]{ p.xs.date("2016-01-02") }); } @Test @@ -123,7 +123,7 @@ public void testFnAdjustDateToTimezone2Exec() { @Test public void testFnAdjustTimeToTimezone1Exec() { - executeTester("testFnAdjustTimeToTimezone1", p.fn.adjustTimeToTimezone(p.col("1")), true, "xs:time", null, null, "02:09:08-08:00", new ServerExpression[]{ p.xs.time("10:09:08Z") }); + executeTester("testFnAdjustTimeToTimezone1", p.fn.adjustTimeToTimezone(p.col("1")), true, "xs:time", null, null, "10:09:08Z", new ServerExpression[]{ p.xs.time("10:09:08Z") }); } @Test @@ -208,17 +208,17 @@ public void testFnCount2Exec() { @Test public void testFnCurrentDate0Exec() { - executeTester("testFnCurrentDate0", p.fn.currentDate(), true, "xs:date", null, null, "2022-12-16-08:00", new ServerExpression[]{ }); + executeTester("testFnCurrentDate0", p.fn.currentDate(), true, "xs:date", null, null, "2023-10-24Z", new ServerExpression[]{ }); } @Test public void testFnCurrentDateTime0Exec() { - executeTester("testFnCurrentDateTime0", p.fn.currentDateTime(), true, "xs:dateTime", null, null, "2022-12-16T12:21:07.737598-08:00", new ServerExpression[]{ }); + executeTester("testFnCurrentDateTime0", p.fn.currentDateTime(), true, "xs:dateTime", null, null, "2023-10-24T15:21:06.255777Z", new ServerExpression[]{ }); } @Test public void testFnCurrentTime0Exec() { - executeTester("testFnCurrentTime0", p.fn.currentTime(), true, "xs:time", null, null, "12:21:07-08:00", new ServerExpression[]{ }); + executeTester("testFnCurrentTime0", p.fn.currentTime(), true, "xs:time", null, null, "15:21:06Z", new ServerExpression[]{ }); } @Test @@ -348,7 +348,7 @@ public void testFnHoursFromTime1Exec() { @Test public void testFnImplicitTimezone0Exec() { - executeTester("testFnImplicitTimezone0", p.fn.implicitTimezone(), true, "xs:dayTimeDuration", null, null, "-PT8H", new ServerExpression[]{ }); + executeTester("testFnImplicitTimezone0", p.fn.implicitTimezone(), true, "xs:dayTimeDuration", null, null, "PT0S", new ServerExpression[]{ }); } @Test @@ -747,6 +747,12 @@ public void testGeoGeohashPrecisionDimensions1Exec() { executeTester("testGeoGeohashPrecisionDimensions1", p.geo.geohashPrecisionDimensions(p.col("1")), false, null, null, Format.JSON, "[0.17578125, 0.3515625]", new ServerExpression[]{ p.xs.integer(4) }); } + @Test + @ExtendWith(RequiresML11.class) + public void testGeoGeohashSubhashes1Exec() { + executeTester("testGeoGeohashSubhashes1", p.geo.geohashSubhashes(p.col("1")), false, null, null, Format.JSON, "[\"s01mtw0\", \"s01mtw1\", \"s01mtw2\", \"s01mtw3\", \"s01mtw4\", \"s01mtw5\", \"s01mtw6\", \"s01mtw7\", \"s01mtw8\", \"s01mtw9\", \"s01mtwb\", \"s01mtwc\", \"s01mtwd\", \"s01mtwe\", \"s01mtwf\", \"s01mtwg\", \"s01mtwh\", \"s01mtwj\", \"s01mtwk\", \"s01mtwm\", \"s01mtwn\", \"s01mtwp\", \"s01mtwq\", \"s01mtwr\", \"s01mtws\", \"s01mtwt\", \"s01mtwu\", \"s01mtwv\", \"s01mtww\", \"s01mtwx\", \"s01mtwy\", \"s01mtwz\"]", new ServerExpression[]{ p.xs.string("s01mtw") }); + } + @Test public void testGeoGeohashSubhashes2Exec() { executeTester("testGeoGeohashSubhashes2", p.geo.geohashSubhashes(p.col("1"), p.col("2")), false, null, null, Format.JSON, "[\"s01mtwh\", \"s01mtwj\", \"s01mtwk\", \"s01mtwm\", \"s01mtwn\", \"s01mtwp\", \"s01mtwq\", \"s01mtwr\", \"s01mtws\", \"s01mtwt\", \"s01mtwu\", \"s01mtwv\", \"s01mtww\", \"s01mtwx\", \"s01mtwy\", \"s01mtwz\"]", new ServerExpression[]{ p.xs.string("s01mtw"), p.xs.string("S") }); @@ -755,7 +761,7 @@ public void testGeoGeohashSubhashes2Exec() { @Test @ExtendWith(RequiresML11.class) public void testGeoParseWkt1Exec() { - executeTester("testGeoParseWkt1", p.geo.parseWkt(p.col("1")), false, "cts:linestring", null, null, "LINESTRING(-112.25 47.100002,-112.3 47.100002,-112.39999 47.199997)", new ServerExpression[]{p.xs.string("LINESTRING(-112.25 47.1,-112.3 47.1,-112.4 47.2)")}); + executeTester("testGeoParseWkt1", p.geo.parseWkt(p.col("1")), false, "cts:linestring", null, null, "LINESTRING(-112.25 47.100002,-112.3 47.100002,-112.39999 47.199997)", new ServerExpression[]{ p.xs.string("LINESTRING(-112.25 47.1,-112.3 47.1,-112.4 47.2)") }); } @Test @@ -1000,7 +1006,7 @@ public void testRdfLangStringLanguage1Exec() { @Test public void testSemBnode0Exec() { - executeTester("testSemBnode0", p.sem.bnode(), true, "sem:blank", null, null, "_:bnode5979962185343367584", new ServerExpression[]{ }); + executeTester("testSemBnode0", p.sem.bnode(), true, "sem:blank", null, null, "_:bnode801272998575329659", new ServerExpression[]{ }); } @Test @@ -1080,7 +1086,7 @@ public void testSemQNameToIri1Exec() { @Test public void testSemRandom0Exec() { - executeTester("testSemRandom0", p.sem.random(), true, null, null, null, "0.428380961234932", new ServerExpression[]{ }); + executeTester("testSemRandom0", p.sem.random(), true, null, null, null, "0.996817928554708", new ServerExpression[]{ }); } @Test @@ -1105,12 +1111,12 @@ public void testSemUnknown2Exec() { @Test public void testSemUuid0Exec() { - executeTester("testSemUuid0", p.sem.uuid(), true, "sem:iri", null, null, "urn:uuid:a55ec131-c835-47c7-821e-1a10c4ad0ef1", new ServerExpression[]{ }); + executeTester("testSemUuid0", p.sem.uuid(), true, "sem:iri", null, null, "urn:uuid:c04549cf-e759-4190-bb96-8a0efaa4fcff", new ServerExpression[]{ }); } @Test public void testSemUuidString0Exec() { - executeTester("testSemUuidString0", p.sem.uuidString(), true, null, null, null, "3d4c4138-35e0-45ba-9444-584a3cf12b36", new ServerExpression[]{ }); + executeTester("testSemUuidString0", p.sem.uuidString(), true, null, null, null, "32351923-7f22-4a3f-9e92-884151190ee8", new ServerExpression[]{ }); } @Test @@ -1245,7 +1251,7 @@ public void testSqlQuarter1Exec() { @Test public void testSqlRand1Exec() { - executeTester("testSqlRand1", p.sql.rand(p.col("1")), true, "xs:unsignedLong", null, null, "4427752476160726433", new ServerExpression[]{ p.xs.unsignedLong(1) }); + executeTester("testSqlRand1", p.sql.rand(p.col("1")), true, "xs:unsignedLong", null, null, "1308547733197903283", new ServerExpression[]{ p.xs.unsignedLong(1) }); } @Test @@ -1350,7 +1356,7 @@ public void testXdmpCrypt2Exec() { @Test public void testXdmpCrypt21Exec() { - executeTester("testXdmpCrypt21", p.xdmp.crypt2(p.col("1")), true, null, null, null, "$256$/Ma0tvPJ39.CFc0UgU1/S/$256$k8p8zL5fr.EokfeX", new ServerExpression[]{ p.xs.string("abc") }); + executeTester("testXdmpCrypt21", p.xdmp.crypt2(p.col("1")), true, null, null, null, "$256$Byph9.Mc3xqzhgeH.IAJh/$256$nAr3j1jWo/Wf2yN7", new ServerExpression[]{ p.xs.string("abc") }); } @Test @@ -1550,12 +1556,12 @@ public void testXdmpOr642Exec() { @Test public void testXdmpParseDateTime2Exec() { - executeTester("testXdmpParseDateTime2", p.xdmp.parseDateTime(p.col("1"), p.col("2")), true, "xs:dateTime", null, null, "2016-01-06T17:13:50.873-08:00", new ServerExpression[]{ p.xs.string("[Y0001]-[M01]-[D01]T[h01]:[m01]:[s01].[f1][Z]"), p.xs.string("2016-01-06T17:13:50.873594-08:00") }); + executeTester("testXdmpParseDateTime2", p.xdmp.parseDateTime(p.col("1"), p.col("2")), true, "xs:dateTime", null, null, "2016-01-07T01:13:50.873Z", new ServerExpression[]{ p.xs.string("[Y0001]-[M01]-[D01]T[h01]:[m01]:[s01].[f1][Z]"), p.xs.string("2016-01-06T17:13:50.873594-08:00") }); } @Test public void testXdmpParseYymmdd2Exec() { - executeTester("testXdmpParseYymmdd2", p.xdmp.parseYymmdd(p.col("1"), p.col("2")), true, "xs:dateTime", null, null, "2016-01-06T17:13:50.873-08:00", new ServerExpression[]{ p.xs.string("yyyy-MM-ddThh:mm:ss.Sz"), p.xs.string("2016-01-06T17:13:50.873594-8.00") }); + executeTester("testXdmpParseYymmdd2", p.xdmp.parseYymmdd(p.col("1"), p.col("2")), true, "xs:dateTime", null, null, "2016-01-07T01:13:50.873Z", new ServerExpression[]{ p.xs.string("yyyy-MM-ddThh:mm:ss.Sz"), p.xs.string("2016-01-06T17:13:50.873594-8.00") }); } @Test @@ -1580,12 +1586,12 @@ public void testXdmpQuarterFromDate1Exec() { @Test public void testXdmpRandom0Exec() { - executeTester("testXdmpRandom0", p.xdmp.random(), true, "xs:unsignedLong", null, null, "13118352151257417636", new ServerExpression[]{ }); + executeTester("testXdmpRandom0", p.xdmp.random(), true, "xs:unsignedLong", null, null, "7692759001122562087", new ServerExpression[]{ }); } @Test public void testXdmpRandom1Exec() { - executeTester("testXdmpRandom1", p.xdmp.random(p.col("1")), true, null, null, null, "1", new ServerExpression[]{ p.xs.unsignedLong(1) }); + executeTester("testXdmpRandom1", p.xdmp.random(p.col("1")), true, null, null, null, "0", new ServerExpression[]{ p.xs.unsignedLong(1) }); } @Test @@ -1645,12 +1651,12 @@ public void testXdmpStep642Exec() { @Test public void testXdmpStrftime2Exec() { - executeTester("testXdmpStrftime2", p.xdmp.strftime(p.col("1"), p.col("2")), true, null, null, null, "Wed, 06 Jan 2016 17:13:50", new ServerExpression[]{ p.xs.string("%a, %d %b %Y %H:%M:%S"), p.xs.dateTime("2016-01-06T17:13:50.873594-08:00") }); + executeTester("testXdmpStrftime2", p.xdmp.strftime(p.col("1"), p.col("2")), true, null, null, null, "Thu, 07 Jan 2016 01:13:50", new ServerExpression[]{ p.xs.string("%a, %d %b %Y %H:%M:%S"), p.xs.dateTime("2016-01-06T17:13:50.873594-08:00") }); } @Test public void testXdmpTimestampToWallclock1Exec() { - executeTester("testXdmpTimestampToWallclock1", p.xdmp.timestampToWallclock(p.col("1")), true, "xs:dateTime", null, null, "1969-12-31T16:00:00.0000001", new ServerExpression[]{ p.xs.unsignedLong(1) }); + executeTester("testXdmpTimestampToWallclock1", p.xdmp.timestampToWallclock(p.col("1")), true, "xs:dateTime", null, null, "1970-01-01T00:00:00.0000001", new ServerExpression[]{ p.xs.unsignedLong(1) }); } @Test diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/datamovement/QueryBatcherFailureTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/datamovement/QueryBatcherFailureTest.java index 3b8670c49..d8fd419c6 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/datamovement/QueryBatcherFailureTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/datamovement/QueryBatcherFailureTest.java @@ -40,7 +40,7 @@ public void invalidQuery() { FailedRequestException ex = assertThrows(FailedRequestException.class, () -> client.newDataMovementManager().newQueryBatcher( - client.newQueryManager().newStructuredQueryBuilder().directory(0, "/invalid/path") + client.newQueryManager().newStructuredQueryBuilder().directory(false, "/invalid/path") ).onQueryFailure(failure -> failureMessages.add(failure.getMessage())) ); diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequireSSLExtension.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequireSSLExtension.java index 0160c3294..0d9164e79 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequireSSLExtension.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequireSSLExtension.java @@ -61,9 +61,10 @@ public void afterAll(ExtensionContext context) { /** * @return a trust manager that accepts the public certificate associated with the certificate template created - * by this class. + * by this class. "secure" is meant to imply that this provides some level of security by only accepting the + * one issuer, as opposed to a "trust everything" approach. */ - public static X509TrustManager newTrustManager() { + public static X509TrustManager newSecureTrustManager() { return new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) { diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequiresMLElevenDotOne.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequiresMLElevenDotOne.java new file mode 100644 index 000000000..be8920aad --- /dev/null +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/junit5/RequiresMLElevenDotOne.java @@ -0,0 +1,22 @@ +package com.marklogic.client.test.junit5; + +import com.marklogic.client.test.Common; +import com.marklogic.client.test.MarkLogicVersion; +import org.junit.jupiter.api.extension.ConditionEvaluationResult; +import org.junit.jupiter.api.extension.ExecutionCondition; +import org.junit.jupiter.api.extension.ExtensionContext; + +public class RequiresMLElevenDotOne implements ExecutionCondition { + + private static MarkLogicVersion markLogicVersion; + + @Override + public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) { + if (markLogicVersion == null) { + markLogicVersion = Common.getMarkLogicVersion(); + } + return markLogicVersion.getMajor() >= 11 && markLogicVersion.getMinor() >= 1? + ConditionEvaluationResult.enabled("MarkLogic is version 11.1 or higher") : + ConditionEvaluationResult.disabled("MarkLogic is version 11.0.x or lower"); + } +} diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/ColumnInfoTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/ColumnInfoTest.java index aec40398b..33234b92a 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/ColumnInfoTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/ColumnInfoTest.java @@ -25,7 +25,7 @@ public class ColumnInfoTest { @BeforeEach void beforeEach() { - rowManager = Common.newClient().newRowManager(); + rowManager = Common.connect().newRowManager(); } @Test diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/NewOpticMethodsInElevenDotOneTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/NewOpticMethodsInElevenDotOneTest.java new file mode 100644 index 000000000..25e3ebca7 --- /dev/null +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/NewOpticMethodsInElevenDotOneTest.java @@ -0,0 +1,92 @@ +package com.marklogic.client.test.rows; + +import com.marklogic.client.row.RowRecord; +import com.marklogic.client.test.junit5.RequiresMLElevenDotOne; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Contains tests for the following methods that were exposed for MarkLogic 11.1: + * joinDocAndUri, documentRootQuery, documentFragmentQuery, documentPermissionQuery, and the string constructors for + * cts.point and cts.polygon. + */ +@ExtendWith(RequiresMLElevenDotOne.class) +public class NewOpticMethodsInElevenDotOneTest extends AbstractOpticUpdateTest { + + @Test + void pointString() { + List rows = resultRows(op + .fromView("opticUnitTest", "musician") + .where(op.eq(op.col("point"), op.cts.point("1,2"))) + ); + + assertEquals(1, rows.size()); + assertEquals("Armstrong", rows.get(0).getString("lastName")); + assertEquals("1,2", rows.get(0).getString("point")); + } + + @Test + void polygonString() { + List rows = resultRows(op + .fromView("opticUnitTest", "musician") + .where(op.eq(op.col("polygon"), op.cts.polygon("1,2 3,4 5,6 1,2"))) + ); + + assertEquals(1, rows.size()); + assertEquals("Armstrong", rows.get(0).getString("lastName")); + assertEquals("1,2 3,4 5,6 1,2", rows.get(0).getString("polygon")); + } + + @Test + void joinDocAndUri() { + List rows = resultRows(op + .fromView("opticUnitTest", "musician", null, op.fragmentIdCol("fragmentId")) + .joinDocAndUri(op.col("doc"), op.col("uri"), op.fragmentIdCol("fragmentId")) + ); + + assertEquals(4, rows.size()); + rows.forEach(row -> { + assertNotNull(row.get("doc"), "doc should have been added via joinDocAndUri"); + assertNotNull(row.get("uri"), "uri shoudl have been added via joinDocAndUri"); + }); + } + + @Test + @Disabled("See DBQ-643") + void documentRootQuery() { + List rows = resultRows(op + .fromDocUris(op.cts.documentRootQuery("suggest")) + ); + + assertEquals(2, rows.size()); + assertEquals("/sample/suggestion.xml", rows.get(0).get("uri")); + assertEquals("/sample2/suggestion.xml", rows.get(1).get("uri")); + } + + @Test + @Disabled("See DBQ-643") + void documentFormatQuery() { + List rows = resultRows(op + .fromDocUris(op.cts.documentRootQuery("text")) + ); + + assertEquals(1, rows.size()); + assertEquals("/sample/second.txt", rows.get(0).get("uri")); + } + + @Test + @Disabled("See DBQ-643") + void documentPermissionQuery() { + List rows = resultRows(op + .fromDocUris(op.cts.documentPermissionQuery("rest-reader", "read")) + ); + + assertTrue(!rows.isEmpty(), "Expecting dozens of documents to have a rest-reader/read permission, " + + "just want to make sure the query is processed successfully by the server."); + } +} diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/UpdateUseCasesTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/UpdateUseCasesTest.java index daaa4a19f..d1223d3d4 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/UpdateUseCasesTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/rows/UpdateUseCasesTest.java @@ -28,270 +28,276 @@ @ExtendWith(RequiresML11.class) public class UpdateUseCasesTest extends AbstractOpticUpdateTest { - /** - * Use case: Given a set of doc descriptors, add a collection to each document with a URI matching one of the - * descriptors. Any descriptor that has a URI for a document that no longer exists will be ignored. - */ - @Test - public void updateAndIgnoreNonExistentURIs() { - // First, write a document that can then be updated - final String firstUri = "/acme/1.json"; - rowManager.execute(op - .fromDocDescriptors(op.docDescriptor( - newWriteOp(firstUri, newDefaultMetadata().withCollections("test1"), mapper.createObjectNode().put("hello", "world")) - )) - .write()); - verifyJsonDoc(firstUri, doc -> assertEquals("world", doc.get("hello").asText())); - - // Now submit two documents for updating, but ignore the one that doesn't match an existing URI - final String missingUri = "/acme/doesnt-exist.json"; - DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); - writeSet.add(newWriteOp(firstUri, mapper.createObjectNode().put("hello", "modified"))); - writeSet.add(newWriteOp(missingUri, mapper.createObjectNode().put("should be", "ignored"))); - - ModifyPlan plan = op - .fromDocDescriptors(op.docDescriptors(writeSet), "input") - .existsJoin( - op.fromDocUris(op.cts.documentQuery(op.xs.stringSeq(firstUri, missingUri)), "lexicon"), - op.on(op.viewCol("input", "uri"), op.viewCol("lexicon", "uri")) - ) - .select(op.viewCol("input", "uri"), op.viewCol("input", "doc")) - .write(op.docCols(op.xs.string("input"), op.xs.stringSeq("uri", "doc"))); - - List rows = resultRows(plan); - assertEquals(1, rows.size()); - - verifyJsonDoc(firstUri, doc -> assertEquals("modified", doc.get("hello").asText())); - verifyMetadata(firstUri, metadata -> { - assertTrue( - metadata.getCollections().contains("test1")); - }); - assertNull(Common.client.newDocumentManager().exists(missingUri)); - } - - @Test - public void notExistsJoin() { - // Insert doc1 - rowManager.execute(op - .fromDocDescriptors(op.docDescriptor(newWriteOp("/acme/doc1.json", mapper.createObjectNode().put("hello", "world")))) - .write()); - - // Define an update for doc1 and an insert for doc2 - DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); - DocumentWriteOperation updateDoc1 = newWriteOp("/acme/doc1.json", mapper.createObjectNode().put("hello", "MODIFIED")); - DocumentWriteOperation insertDoc2 = newWriteOp("/acme/doc2.json", mapper.createObjectNode().put("hello", "world2")); - writeSet.add(updateDoc1); - writeSet.add(insertDoc2); - - // Define a plan that will exclude updateDoc1 via notExistsJoin against the URI lexicon - ModifyPlan plan = op - .fromDocDescriptors(op.docDescriptors(writeSet)) - .notExistsJoin( - op.fromLexicons(Collections.singletonMap("existingUri", op.cts.uriReference())), - op.on(op.col("uri"), op.col("existingUri")) - ) - .write(); - - List rows = resultRows(plan); - assertEquals(1, rows.size(), + /** + * Use case: Given a set of doc descriptors, add a collection to each document with a URI matching one of the + * descriptors. Any descriptor that has a URI for a document that no longer exists will be ignored. + */ + @Test + public void updateAndIgnoreNonExistentURIs() { + // First, write a document that can then be updated + final String firstUri = "/acme/1.json"; + rowManager.execute(op + .fromDocDescriptors(op.docDescriptor( + newWriteOp(firstUri, newDefaultMetadata().withCollections("test1"), mapper.createObjectNode().put("hello", "world")) + )) + .write()); + verifyJsonDoc(firstUri, doc -> assertEquals("world", doc.get("hello").asText())); + + // Now submit two documents for updating, but ignore the one that doesn't match an existing URI + final String missingUri = "/acme/doesnt-exist.json"; + DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); + writeSet.add(newWriteOp(firstUri, mapper.createObjectNode().put("hello", "modified"))); + writeSet.add(newWriteOp(missingUri, mapper.createObjectNode().put("should be", "ignored"))); + + ModifyPlan plan = op + .fromDocDescriptors(op.docDescriptors(writeSet), "input") + .existsJoin( + op.fromDocUris(op.cts.documentQuery(op.xs.stringSeq(firstUri, missingUri)), "lexicon"), + op.on(op.viewCol("input", "uri"), op.viewCol("lexicon", "uri")) + ) + .select(op.viewCol("input", "uri"), op.viewCol("input", "doc")) + .write(op.docCols(op.xs.string("input"), op.xs.stringSeq("uri", "doc"))); + + List rows = resultRows(plan); + assertEquals(1, rows.size()); + + verifyJsonDoc(firstUri, doc -> assertEquals("modified", doc.get("hello").asText())); + verifyMetadata(firstUri, metadata -> { + assertTrue( + metadata.getCollections().contains("test1")); + }); + assertNull(Common.client.newDocumentManager().exists(missingUri)); + } + + @Test + public void notExistsJoin() { + // Insert doc1 + rowManager.execute(op + .fromDocDescriptors(op.docDescriptor(newWriteOp("/acme/doc1.json", mapper.createObjectNode().put("hello", "world")))) + .write()); + + // Define an update for doc1 and an insert for doc2 + DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); + DocumentWriteOperation updateDoc1 = newWriteOp("/acme/doc1.json", mapper.createObjectNode().put("hello", "MODIFIED")); + DocumentWriteOperation insertDoc2 = newWriteOp("/acme/doc2.json", mapper.createObjectNode().put("hello", "world2")); + writeSet.add(updateDoc1); + writeSet.add(insertDoc2); + + // Define a plan that will exclude updateDoc1 via notExistsJoin against the URI lexicon + ModifyPlan plan = op + .fromDocDescriptors(op.docDescriptors(writeSet)) + .notExistsJoin( + op.fromLexicons(Collections.singletonMap("existingUri", op.cts.uriReference())), + op.on(op.col("uri"), op.col("existingUri")) + ) + .write(); + + List rows = resultRows(plan); + assertEquals(1, rows.size(), "Only doc2 should be returned; doc1 should have been filtered out by the notExistsJoin " + "since it already exists"); - assertEquals("/acme/doc2.json", rows.get(0).getString("uri")); - - // doc1 should not have been modified since it was filtered out from the plan - verifyJsonDoc("/acme/doc1.json", doc -> assertEquals("world", doc.get("hello").asText())); - verifyJsonDoc("/acme/doc2.json", doc -> assertEquals("world2", doc.get("hello").asText())); - } - - @Test - public void dedupDescriptorsAndWrite() { - final String duplicateUri = "/acme/a1.json"; - - DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); - writeSet.add(newWriteOp(duplicateUri, mapper.createObjectNode().put("value", 1))); - writeSet.add(newWriteOp(duplicateUri, mapper.createObjectNode().put("value", "this should be dropped"))); - writeSet.add(newWriteOp("/acme/a2.json", mapper.createObjectNode().put("value", 2))); - - ModifyPlan plan = op - .fromDocDescriptors(op.docDescriptors(writeSet)) - .groupBy( - // The column to group by - op.col("uri"), - // The columns to retain in the result - op.aggregateSeq(op.col("doc"), op.col("permissions")) - ) - .write(); - - rowManager.execute(plan); - - verifyJsonDoc(duplicateUri, doc -> assertEquals(1, doc.get("value").asInt(), + assertEquals("/acme/doc2.json", rows.get(0).getString("uri")); + + // doc1 should not have been modified since it was filtered out from the plan + verifyJsonDoc("/acme/doc1.json", doc -> assertEquals("world", doc.get("hello").asText())); + verifyJsonDoc("/acme/doc2.json", doc -> assertEquals("world2", doc.get("hello").asText())); + } + + @Test + public void dedupDescriptorsAndWrite() { + final String duplicateUri = "/acme/a1.json"; + + DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); + writeSet.add(newWriteOp(duplicateUri, mapper.createObjectNode().put("value", 1))); + writeSet.add(newWriteOp(duplicateUri, mapper.createObjectNode().put("value", "this should be dropped"))); + writeSet.add(newWriteOp("/acme/a2.json", mapper.createObjectNode().put("value", 2))); + + ModifyPlan plan = op + .fromDocDescriptors(op.docDescriptors(writeSet)) + .groupBy( + // The column to group by + op.col("uri"), + // The columns to retain in the result + op.aggregateSeq(op.col("doc"), op.col("permissions")) + ) + .write(); + + rowManager.execute(plan); + + verifyJsonDoc(duplicateUri, doc -> assertEquals(1, doc.get("value").asInt(), "The first writeOp with the duplicate URI should have been retained via groupBy and written")); - verifyJsonDoc("/acme/a2.json", doc -> assertEquals(2, doc.get("value").asInt())); - } - - @Test - public void wrapContentInEnvelope() { - DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); - writeSet.add(newWriteOp("/acme/1.json", mapper.createObjectNode().put("value", 1))); - writeSet.add(newWriteOp("/acme/2.json", mapper.createObjectNode().put("value", 2))); - - ModifyPlan plan = op - .fromDocDescriptors(op.docDescriptors(writeSet)) - .bind(op.as( - op.col("doc"), - op.jsonObject( - op.prop("header", op.jsonObject(op.prop("user", op.xdmp.getCurrentUser()))), - op.prop("body", op.col("doc")) - ) - )); - - rowManager.execute(plan.write()); - - verifyJsonDoc("/acme/1.json", doc -> { - assertEquals("writer-no-default-permissions", doc.get("header").get("user").asText()); - assertEquals(1, doc.get("body").get("value").asInt()); - }); - - verifyJsonDoc("/acme/2.json", doc -> { - assertEquals("writer-no-default-permissions", doc.get("header").get("user").asText()); - assertEquals(2, doc.get("body").get("value").asInt()); - }); - } - - @Test - public void writeNewDocsFromView() { - PlanSystemColumn idColumn = op.fragmentIdCol("fragmentId"); - - ModifyPlan plan = op.fromView("opticUnitTest", "musician", null, idColumn) - .where(op.sqlCondition("dob > '1901-01-01'")) - .orderBy(op.asc(op.col("lastName"))) - .offset(op.param("offset")) - .limit(2) - .joinDoc(op.col("doc"), idColumn) - .bind(op.as("uri", op.fn.concat( - op.xs.string("/acme/"), - op.fn.string(op.col("lastName")), - op.xs.string(".json")) - )) - .bind(op.as("permissions", op.param("perms"))) - .lockForUpdate() - .transformDoc( - op.col("doc"), - op.transformDef("/etc/optic/test/transformDoc-test.mjs") - .withParam("myParam", "my value")) - .write(); - - // Example of using Jackson to define permissions and then binding them to the plan - ArrayNode permissions = mapper.createArrayNode(); - permissions.addObject().put("roleName", "rest-reader").put("capability", "read"); - permissions.addObject().put("roleName", "rest-extension-user").put("capability", "update"); - - List rows = resultRows(plan - .bindParam("offset", 2) - .bindParam("perms", new JacksonHandle(permissions)) - ); - - assertEquals(2, rows.size()); - assertEquals("/acme/Coltrane.json", rows.get(0).getString("uri")); - assertEquals("/acme/Davis.json", rows.get(1).getString("uri")); - - verifyJsonDoc("/acme/Coltrane.json", doc -> { - assertEquals("world", doc.get("hello").asText(), "This is added by the transform"); - assertEquals("John", doc.get("theDoc").get("musician").get("firstName").asText()); - }); - - verifyMetadata("/acme/Coltrane.json", metadata -> { - DocumentMetadataHandle.DocumentPermissions perms = metadata.getPermissions(); - assertEquals(DocumentMetadataHandle.Capability.READ, perms.get("rest-reader").iterator().next()); - assertEquals(DocumentMetadataHandle.Capability.UPDATE, perms.get("rest-extension-user").iterator().next()); - }); - } - - @Test - public void writeThreeDocsAndAuditLogDoc() { - DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); - DocumentMetadataHandle metadata = newDefaultMetadata().withCollections("audited-doc"); - writeSet.add(newWriteOp("/acme/1.json", metadata, mapper.createObjectNode().put("value", 1))); - writeSet.add(newWriteOp("/acme/2.json", metadata, mapper.createObjectNode().put("value", 2))); - writeSet.add(newWriteOp("/acme/3.json", metadata, mapper.createObjectNode().put("value", 3))); - - ModifyPlan plan = op - .fromDocDescriptors(op.docDescriptors(writeSet), "input") - .write(op.docCols("input")) - // Results in a single row with a single column of "uris" - .groupBy(null, op.arrayAggregate(op.col("uris"), op.viewCol("input", "uri"))) - // Construct the descriptor columns to use when writing - .select( - op.as("uri", op.fn.concat(op.xs.string("/acme/audit-"), op.xdmp.random(), op.xs.string(".log"))), - op.as("doc", op.jsonObject( - op.prop("uris", op.col("uris")), - op.prop("timestamp", op.fn.currentDateTime()) - )), - op.as("collections", op.xs.string("test-auditLog")), - op.as("permissions", op.jsonArray( - op.permission("rest-reader", "read"), - op.permission("test-rest-writer", "update") - )) - ) - .write(); - - List rows = resultRows(plan); - assertEquals(1, rows.size(), + verifyJsonDoc("/acme/a2.json", doc -> assertEquals(2, doc.get("value").asInt())); + } + + @Test + public void wrapContentInEnvelope() { + DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); + writeSet.add(newWriteOp("/acme/1.json", mapper.createObjectNode().put("value", 1))); + writeSet.add(newWriteOp("/acme/2.json", mapper.createObjectNode().put("value", 2))); + + ModifyPlan plan = op + .fromDocDescriptors(op.docDescriptors(writeSet)) + .bind(op.as( + op.col("doc"), + op.jsonObject( + op.prop("header", op.jsonObject(op.prop("user", op.xdmp.getCurrentUser()))), + op.prop("body", op.col("doc")) + ) + )); + + rowManager.execute(plan.write()); + + verifyJsonDoc("/acme/1.json", doc -> { + assertEquals("writer-no-default-permissions", doc.get("header").get("user").asText()); + assertEquals(1, doc.get("body").get("value").asInt()); + }); + + verifyJsonDoc("/acme/2.json", doc -> { + assertEquals("writer-no-default-permissions", doc.get("header").get("user").asText()); + assertEquals(2, doc.get("body").get("value").asInt()); + }); + } + + @Test + public void writeNewDocsFromView() { + PlanSystemColumn idColumn = op.fragmentIdCol("fragmentId"); + + ModifyPlan plan = op.fromView("opticUnitTest", "musician", null, idColumn) + .where(op.sqlCondition("dob > '1901-01-01'")) + .orderBy(op.asc(op.col("lastName"))) + .offset(op.param("offset")) + .limit(2) + .joinDoc(op.col("doc"), idColumn) + .bind(op.as("uri", op.fn.concat( + op.xs.string("/acme/"), + op.fn.string(op.col("lastName")), + op.xs.string(".json")) + )) + .bind(op.as("permissions", op.param("perms"))) + .lockForUpdate() + .transformDoc( + op.col("doc"), + op.transformDef("/etc/optic/test/transformDoc-test.mjs") + .withParam("myParam", "my value")) + .write(); + + // Example of using Jackson to define permissions and then binding them to the plan + ArrayNode permissions = mapper.createArrayNode(); + permissions.addObject().put("roleName", "rest-reader").put("capability", "read"); + permissions.addObject().put("roleName", "rest-extension-user").put("capability", "update"); + + List rows = resultRows(plan + .bindParam("offset", 2) + .bindParam("perms", new JacksonHandle(permissions)) + ); + + assertEquals(2, rows.size()); + assertEquals("/acme/Coltrane.json", rows.get(0).getString("uri")); + assertEquals("/acme/Davis.json", rows.get(1).getString("uri")); + + verifyJsonDoc("/acme/Coltrane.json", doc -> { + assertEquals("world", doc.get("hello").asText(), "This is added by the transform"); + assertEquals("John", doc.get("theDoc").get("musician").get("firstName").asText()); + }); + + verifyMetadata("/acme/Coltrane.json", metadata -> { + DocumentMetadataHandle.DocumentPermissions perms = metadata.getPermissions(); + assertEquals(DocumentMetadataHandle.Capability.READ, perms.get("rest-reader").iterator().next()); + assertEquals(DocumentMetadataHandle.Capability.UPDATE, perms.get("rest-extension-user").iterator().next()); + }); + } + + @Test + public void writeThreeDocsAndAuditLogDoc() { + DocumentWriteSet writeSet = Common.client.newDocumentManager().newWriteSet(); + DocumentMetadataHandle metadata = newDefaultMetadata().withCollections("audited-doc"); + writeSet.add(newWriteOp("/acme/1.json", metadata, mapper.createObjectNode().put("value", 1))); + writeSet.add(newWriteOp("/acme/2.json", metadata, mapper.createObjectNode().put("value", 2))); + writeSet.add(newWriteOp("/acme/3.json", metadata, mapper.createObjectNode().put("value", 3))); + + ModifyPlan plan = op + .fromDocDescriptors(op.docDescriptors(writeSet), "input") + .write(op.docCols("input")) + // Results in a single row with a single column of "uris" + .groupBy(null, op.arrayAggregate(op.col("uris"), op.viewCol("input", "uri"))) + // Construct the descriptor columns to use when writing + .select( + op.as("uri", op.fn.concat(op.xs.string("/acme/audit-"), op.xdmp.random(), op.xs.string(".log"))), + op.as("doc", op.jsonObject( + op.prop("uris", op.col("uris")), + op.prop("timestamp", op.fn.currentDateTime()) + )), + op.as("collections", op.xs.string("test-auditLog")), + op.as("permissions", op.jsonArray( + op.permission("rest-reader", "read"), + op.permission("test-rest-writer", "update") + )) + ) + .write(); + + List rows = resultRows(plan); + assertEquals(1, rows.size(), "Should contain 1 row for the audit log doc since that was the result of the last write"); - // Verify the 3 audited docs - assertEquals(3, getCollectionSize("audited-doc")); - verifyJsonDoc("/acme/1.json", doc -> assertEquals(1, doc.get("value").asInt())); - verifyJsonDoc("/acme/2.json", doc -> assertEquals(2, doc.get("value").asInt())); - verifyJsonDoc("/acme/3.json", doc -> assertEquals(3, doc.get("value").asInt())); - - // Verify the audit doc - List auditUris = getUrisInCollection("test-auditLog"); - assertEquals(1, auditUris.size()); - verifyJsonDoc(auditUris.get(0), doc -> { - assertTrue(doc.has("timestamp")); - List uris = new ArrayList<>(); - doc.get("uris").forEach(node -> uris.add(node.asText())); - assertEquals(3, uris.size()); - assertTrue(uris.contains("/acme/1.json")); - assertTrue(uris.contains("/acme/2.json")); - assertTrue(uris.contains("/acme/3.json")); - }); - - // Verify audit metadata - verifyMetadata(auditUris.get(0), auditMetadata -> { - assertEquals(1, auditMetadata.getCollections().size()); - assertEquals("test-auditLog", auditMetadata.getCollections().iterator().next()); - DocumentMetadataHandle.DocumentPermissions perms = auditMetadata.getPermissions(); - assertEquals(DocumentMetadataHandle.Capability.READ, perms.get("rest-reader").iterator().next()); - assertEquals(DocumentMetadataHandle.Capability.UPDATE, perms.get("test-rest-writer").iterator().next()); - }); - } - - /** - * Use case: we have a set of rows (perhaps from a CSV, or Kafka, etc), and we want to insert new documents for - * them, but also join in some reference data from an existing view as part of the new documents. In this use case, - * we're denormalizing "city" into the new documents based on the zip code in each document. - *

    - * This is now reusing OpticUpdateExample so that that class can act as a cookbook example. - */ - @Test - public void writeWithReferenceDataFromViewJoinedIn() { - List rows = OpticUpdateExample.runPlanToWriteDocuments(rowManager).stream().collect(Collectors.toList()); - assertEquals(2, rows.size()); - - verifyJsonDoc("/acme/person/Smith.json", doc -> { - assertEquals("Smith", doc.get("lastName").asText()); - assertEquals("Jane", doc.get("firstName").asText()); - assertEquals(22201, doc.get("zipCode").asInt()); - assertEquals("Arlington", doc.get("cityOfResidence").asText()); - }); - - verifyJsonDoc("/acme/person/Jones.json", doc -> { - assertEquals("Jones", doc.get("lastName").asText()); - assertEquals("John", doc.get("firstName").asText()); - assertTrue(doc.get("zipCode") instanceof NullNode); - assertTrue(doc.get("cityOfResidence") instanceof NullNode); - }); - } + // Verify the 3 audited docs + assertEquals(3, getCollectionSize("audited-doc")); + verifyJsonDoc("/acme/1.json", doc -> assertEquals(1, doc.get("value").asInt())); + verifyJsonDoc("/acme/2.json", doc -> assertEquals(2, doc.get("value").asInt())); + verifyJsonDoc("/acme/3.json", doc -> assertEquals(3, doc.get("value").asInt())); + + // Verify the audit doc + List auditUris = getUrisInCollection("test-auditLog"); + assertEquals(1, auditUris.size()); + verifyJsonDoc(auditUris.get(0), doc -> { + assertTrue(doc.has("timestamp")); + List uris = new ArrayList<>(); + doc.get("uris").forEach(node -> uris.add(node.asText())); + assertEquals(3, uris.size()); + assertTrue(uris.contains("/acme/1.json")); + assertTrue(uris.contains("/acme/2.json")); + assertTrue(uris.contains("/acme/3.json")); + }); + + // Verify audit metadata + verifyMetadata(auditUris.get(0), auditMetadata -> { + assertEquals(1, auditMetadata.getCollections().size()); + assertEquals("test-auditLog", auditMetadata.getCollections().iterator().next()); + DocumentMetadataHandle.DocumentPermissions perms = auditMetadata.getPermissions(); + assertEquals(DocumentMetadataHandle.Capability.READ, perms.get("rest-reader").iterator().next()); + assertEquals(DocumentMetadataHandle.Capability.UPDATE, perms.get("test-rest-writer").iterator().next()); + }); + } + + /** + * Use case: we have a set of rows (perhaps from a CSV, or Kafka, etc), and we want to insert new documents for + * them, but also join in some reference data from an existing view as part of the new documents. In this use case, + * we're denormalizing "city" into the new documents based on the zip code in each document. + *

    + * This is now reusing OpticUpdateExample so that that class can act as a cookbook example. + */ + @Test + public void writeWithReferenceDataFromViewJoinedIn() { + // Verifying that only two zipcode rows exist. + List uris = getUrisInCollection("zipcode"); + assertEquals(2, uris.size(), "Only expecting 2 zipcode docs: " + uris); + List zipcodes = resultRows(op.fromView("cookbook", "zipcode")); + assertEquals(2, zipcodes.size(), "Unexpected number of zipcodes: " + zipcodes); + + List rows = OpticUpdateExample.runPlanToWriteDocuments(rowManager).stream().collect(Collectors.toList()); + assertEquals(2, rows.size()); + + verifyJsonDoc("/acme/person/Smith.json", doc -> { + assertEquals("Smith", doc.get("lastName").asText()); + assertEquals("Jane", doc.get("firstName").asText()); + assertEquals(22201, doc.get("zipCode").asInt()); + assertEquals("Arlington", doc.get("cityOfResidence").asText()); + }); + + verifyJsonDoc("/acme/person/Jones.json", doc -> { + assertEquals("Jones", doc.get("lastName").asText()); + assertEquals("John", doc.get("firstName").asText()); + assertTrue(doc.get("zipCode") instanceof NullNode); + assertTrue(doc.get("cityOfResidence") instanceof NullNode); + }); + } } diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/CheckSSLConnectionTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/OneWaySSLTest.java similarity index 85% rename from marklogic-client-api/src/test/java/com/marklogic/client/test/CheckSSLConnectionTest.java rename to marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/OneWaySSLTest.java index b5ec9dca8..178f85589 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/CheckSSLConnectionTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/OneWaySSLTest.java @@ -1,9 +1,10 @@ -package com.marklogic.client.test; +package com.marklogic.client.test.ssl; import com.marklogic.client.DatabaseClient; import com.marklogic.client.DatabaseClientFactory; import com.marklogic.client.ForbiddenUserException; import com.marklogic.client.MarkLogicIOException; +import com.marklogic.client.test.Common; import com.marklogic.client.test.junit5.RequireSSLExtension; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -12,13 +13,16 @@ import javax.net.ssl.SSLException; import javax.net.ssl.TrustManager; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; +/** + * Verifies scenarios for "one-way SSL" - i.e. the MarkLogic app server is configured with a certificate template to + * require an SSL connection, but the client only needs to trust the server - the client does not present its own + * certificate. See TwoWaySSLTest for scenarios where the client presents its own certificate which the server must + * trust. + */ @ExtendWith(RequireSSLExtension.class) -class CheckSSLConnectionTest { +class OneWaySSLTest { /** * Simple check for ensuring that an SSL connection can be made when the app server requires SSL to be used. This @@ -58,14 +62,14 @@ void trustAllManager() throws Exception { * with the certificate template created via RequireSSLExtension. */ @Test - void customTrustManager() { + void trustManagerThatOnlyTrustsTheCertificateFromTheCertificateTemplate() { if (Common.USE_REVERSE_PROXY_SERVER) { return; } DatabaseClient client = Common.newClientBuilder() .withSSLProtocol("TLSv1.2") - .withTrustManager(RequireSSLExtension.newTrustManager()) + .withTrustManager(RequireSSLExtension.newSecureTrustManager()) .withSSLHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier.ANY) .build(); diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/SSLTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java similarity index 98% rename from marklogic-client-api/src/test/java/com/marklogic/client/test/SSLTest.java rename to marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java index e1025fad5..a08adeff8 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/SSLTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.marklogic.client.test; +package com.marklogic.client.test.ssl; import com.marklogic.client.DatabaseClient; import com.marklogic.client.DatabaseClientFactory.SSLHostnameVerifier; import com.marklogic.client.MarkLogicIOException; import com.marklogic.client.document.TextDocumentManager; import com.marklogic.client.io.StringHandle; +import com.marklogic.client.test.Common; import org.junit.jupiter.api.Test; import javax.net.ssl.*; diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/TwoWaySSLTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/TwoWaySSLTest.java similarity index 72% rename from marklogic-client-api/src/test/java/com/marklogic/client/test/TwoWaySSLTest.java rename to marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/TwoWaySSLTest.java index a8f7a67af..56274cff0 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/TwoWaySSLTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/TwoWaySSLTest.java @@ -1,4 +1,4 @@ -package com.marklogic.client.test; +package com.marklogic.client.test.ssl; import com.fasterxml.jackson.databind.node.ObjectNode; import com.marklogic.client.DatabaseClient; @@ -8,6 +8,7 @@ import com.marklogic.client.document.DocumentDescriptor; import com.marklogic.client.eval.EvalResultIterator; import com.marklogic.client.io.StringHandle; +import com.marklogic.client.test.Common; import com.marklogic.client.test.junit5.RequireSSLExtension; import com.marklogic.mgmt.ManageClient; import com.marklogic.mgmt.resource.appservers.ServerManager; @@ -22,27 +23,22 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.X509TrustManager; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; +import java.io.*; import java.nio.file.Path; import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.Consumer; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; @ExtendWith(RequireSSLExtension.class) public class TwoWaySSLTest { private final static String TEST_DOCUMENT_URI = "/optic/test/musician1.json"; + private final static String KEYSTORE_PASSWORD = "password"; // Used for creating a temporary JKS (Java KeyStore) file. @TempDir @@ -51,6 +47,7 @@ public class TwoWaySSLTest { private static DatabaseClient securityClient; private static ManageClient manageClient; private static File keyStoreFile; + private static File p12File; @BeforeAll @@ -76,6 +73,7 @@ public static void setup() throws Exception { createPkcs12File(tempDir); createKeystoreFile(tempDir); keyStoreFile = new File(tempDir.toFile(), "client.jks"); + p12File = new File(tempDir.toFile(), "client.p12"); } @AfterAll @@ -92,16 +90,20 @@ public static void teardown() { * SSLContext can connect to the app server. */ @Test - void digestAuthentication() throws Exception { + void digestAuthentication() { if (Common.USE_REVERSE_PROXY_SERVER) { return; } // This client uses our Java KeyStore file with a client certificate in it, so it should work. DatabaseClient clientWithCert = Common.newClientBuilder() + .withKeyStorePath(keyStoreFile.getAbsolutePath()) + .withKeyStorePassword(KEYSTORE_PASSWORD) + // Still need this as "common"/"strict" don't work for our temporary server certificate. .withSSLHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier.ANY) - .withSSLContext(createSSLContextWithClientCertificate(keyStoreFile)) - .withTrustManager(RequireSSLExtension.newTrustManager()) + // This is a reasonable trust manager since it references the temporary server certificate as something + // that it accepts instead of accepting everything. + .withTrustManager(RequireSSLExtension.newSecureTrustManager()) .build(); verifyTestDocumentCanBeRead(clientWithCert); @@ -110,7 +112,7 @@ void digestAuthentication() throws Exception { DatabaseClient clientWithoutCert = Common.newClientBuilder() .withSSLHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier.ANY) .withSSLProtocol("TLSv1.2") - .withTrustManager(RequireSSLExtension.newTrustManager()) + .withTrustManager(RequireSSLExtension.newSecureTrustManager()) .build(); // The type of SSL failure varies across Java versions, so not asserting on a particular error message. @@ -126,28 +128,125 @@ void digestAuthentication() throws Exception { } @Test - void certificateAuthentication() throws Exception { + void invalidKeyStoreType() { + RuntimeException ex = assertThrows(RuntimeException.class, () -> Common.newClientBuilder() + .withKeyStoreType("Not a valid type!") + .withKeyStorePath("doesn't matter for this test") + .build()); + + assertEquals("Unable to get instance of key store with type: Not a valid type!", ex.getMessage()); + assertTrue(ex.getCause() instanceof KeyStoreException); + } + + @Test + void invalidKeyStorePath() { + RuntimeException ex = assertThrows(RuntimeException.class, () -> Common.newClientBuilder() + .withKeyStorePath("/no/keystore/here.txt").build()); + + assertEquals("Unable to read from key store at path: /no/keystore/here.txt", ex.getMessage()); + assertTrue(ex.getCause() instanceof FileNotFoundException); + } + + @Test + void invalidKeyStorePassword() { + RuntimeException ex = assertThrows(RuntimeException.class, () -> Common.newClientBuilder() + .withKeyStorePath(keyStoreFile.getAbsolutePath()) + .withKeyStorePassword("wrong password!") + .build()); + + // Depending on the Java version, an exception with a null message may be returned. At least, that's happening + // on Jenkins. + if (ex.getMessage() != null) { + assertTrue(ex.getMessage().startsWith("Unable to read from key store at path:"), + "Unexpected message: " + ex.getMessage()); + assertTrue(ex.getCause() instanceof IOException); + } + } + + @Test + void invalidKeyStoreAlgorithm() { + RuntimeException ex = assertThrows(RuntimeException.class, () -> Common.newClientBuilder() + .withKeyStorePath(keyStoreFile.getAbsolutePath()) + .withKeyStorePassword(KEYSTORE_PASSWORD) + .withKeyStoreAlgorithm("Not a valid algorithm!") + .build()); + + // Depending on the Java version, an exception with a null message may be returned. At least, that's happening + // on Jenkins. + if (ex.getMessage() != null) { + assertEquals("Unable to create key manager factory with algorithm: Not a valid algorithm!", ex.getMessage()); + assertTrue(ex.getCause() instanceof NoSuchAlgorithmException); + } + } + + + /** + * Verifies certificate authentication when a user provides their own SSLContext. + */ + @Test + void certificateAuthenticationWithSSLContext() throws Exception { if (Common.USE_REVERSE_PROXY_SERVER) { return; } + setAuthenticationToCertificate(); try { - new ServerManager(manageClient) - .save(Common.newServerPayload().put("authentication", "certificate").toString()); - SSLContext sslContext = createSSLContextWithClientCertificate(keyStoreFile); DatabaseClient client = Common.newClientBuilder() - .withCertificateAuth(sslContext, RequireSSLExtension.newTrustManager()) + .withCertificateAuth(sslContext, RequireSSLExtension.newSecureTrustManager()) .withSSLHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier.ANY) .build(); verifyTestDocumentCanBeRead(client); } finally { - new ServerManager(manageClient) - .save(Common.newServerPayload().put("authentication", "digestbasic").toString()); + setAuthenticationToDigestbasic(); } } + /** + * Verifies certificate authentication when a user provides a file and password, which must point to a PKC12 + * keystore. + */ + @Test + void certificateAuthenticationWithCertificateFileAndPassword() { + if (Common.USE_REVERSE_PROXY_SERVER) { + return; + } + + setAuthenticationToCertificate(); + try { + DatabaseClient client = Common.newClientBuilder() + .withCertificateAuth(p12File.getAbsolutePath(), KEYSTORE_PASSWORD) + .withTrustManager(RequireSSLExtension.newSecureTrustManager()) + .withSSLHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier.ANY) + .build(); + + verifyTestDocumentCanBeRead(client); + } finally { + setAuthenticationToDigestbasic(); + } + } + + @Test + void certificateAuthenticationWithNoSSLContextOrFileAndPassword() { + RuntimeException ex = assertThrows(RuntimeException.class, () -> Common.newClientBuilder() + .withCertificateAuth(null, RequireSSLExtension.newSecureTrustManager()) + .withSSLHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier.ANY) + .build()); + + assertEquals("An SSLContext is required for certificate authentication.", ex.getMessage()); + } + + private void setAuthenticationToCertificate() { + new ServerManager(manageClient) + .save(Common.newServerPayload().put("authentication", "certificate").toString()); + } + + private void setAuthenticationToDigestbasic() { + new ServerManager(manageClient) + .save(Common.newServerPayload().put("authentication", "digestbasic").toString()); + } + private void verifyTestDocumentCanBeRead(DatabaseClient client) { DocumentDescriptor descriptor = client.newJSONDocumentManager().exists(TEST_DOCUMENT_URI); assertNotNull(descriptor); @@ -156,13 +255,13 @@ private void verifyTestDocumentCanBeRead(DatabaseClient client) { private SSLContext createSSLContextWithClientCertificate(File keystoreFile) throws Exception { KeyStore keyStore = KeyStore.getInstance("JKS"); - keyStore.load(new FileInputStream(keystoreFile), "password".toCharArray()); + keyStore.load(new FileInputStream(keystoreFile), KEYSTORE_PASSWORD.toCharArray()); KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509"); - keyManagerFactory.init(keyStore, "password".toCharArray()); + keyManagerFactory.init(keyStore, KEYSTORE_PASSWORD.toCharArray()); SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); sslContext.init( keyManagerFactory.getKeyManagers(), - new X509TrustManager[]{RequireSSLExtension.newTrustManager()}, + new X509TrustManager[]{RequireSSLExtension.newSecureTrustManager()}, null); return sslContext; } @@ -315,7 +414,7 @@ private static void createPkcs12File(Path tempDir) throws Exception { "-in", "cert.pem", "-inkey", "client.key", "-out", "client.p12", "-name", "my-client", - "-passout", "pass:password"); + "-passout", "pass:" + KEYSTORE_PASSWORD); ExecutorService executorService = Executors.newSingleThreadExecutor(); Process process = builder.start(); @@ -329,12 +428,12 @@ private static void createKeystoreFile(Path tempDir) throws Exception { ProcessBuilder builder = new ProcessBuilder(); builder.directory(tempDir.toFile()); builder.command("keytool", "-importkeystore", - "-deststorepass", "password", - "-destkeypass", "password", + "-deststorepass", KEYSTORE_PASSWORD, + "-destkeypass", KEYSTORE_PASSWORD, "-destkeystore", "client.jks", "-srckeystore", "client.p12", "-srcstoretype", "PKCS12", - "-srcstorepass", "password", + "-srcstorepass", KEYSTORE_PASSWORD, "-alias", "my-client"); Process process = builder.start(); diff --git a/ml-development-tools/src/test/kotlin/com/marklogic/client/test/dbfunction/fntestgen.kt b/ml-development-tools/src/test/kotlin/com/marklogic/client/test/dbfunction/fntestgen.kt index e248d4dad..748a3c61d 100644 --- a/ml-development-tools/src/test/kotlin/com/marklogic/client/test/dbfunction/fntestgen.kt +++ b/ml-development-tools/src/test/kotlin/com/marklogic/client/test/dbfunction/fntestgen.kt @@ -646,12 +646,12 @@ if (true) { val responseBodyTypes = listOf("none", "text", "document", "multipart") for (responseBodyNum in responseBodyTypes.indices) { val responseBodyType = responseBodyTypes[responseBodyNum] - val responseBody = responseBodyType.capitalize() + val responseBody = responseBodyType.replaceFirstChar {it.uppercase()} val requestBodyTypes = listOf("none", "urlencoded", "multipart") for (requestBodyNum in requestBodyTypes.indices) { val requestBodyType = requestBodyTypes[requestBodyNum] - val requestBody = requestBodyType.capitalize() + val requestBody = requestBodyType.replaceFirstChar {it.uppercase()} val modExtension = modExtensions[(responseBodyNum + requestBodyNum) % modExtensions.size] val requestParams = @@ -697,7 +697,7 @@ if (true) { val testBaseEnd = "For$responseBody" val testBundle = testBaseStart+testBaseEnd - val bundleTested = testBundle.capitalize()+"Bundle" + val bundleTested = testBundle.replaceFirstChar {it.uppercase()}+"Bundle" val bundleTester = bundleTested+"Test" val bundleJSONPath = "$jsonPath$testBundle/" val bundleFilename = bundleJSONPath+"service.json" @@ -775,7 +775,7 @@ if (true) { "name" to "param1", "datatype" to atomicCurr, "multiple" to testMultiple, "nullable" to testNullable )) - val testName = testBaseStart+atomicCurr.capitalize()+testBaseEnd+testNum + val testName = testBaseStart+atomicCurr.replaceFirstChar {it.uppercase()}+testBaseEnd+testNum val testdef = if (responseReturnValue === null) mapOf( "functionName" to testName, "params" to funcParams @@ -939,7 +939,7 @@ if (true) { "multiple" to testMultiple, "nullable" to testNullable )) val testMax = 2 - val docTestName = testBaseStart+docCurr.capitalize()+testBaseEnd+(testNum * testMax) + val docTestName = testBaseStart+docCurr.replaceFirstChar {it.uppercase()}+testBaseEnd+(testNum * testMax) val docTestdef = if (responseReturnValue === null) mapOf( "functionName" to docTestName, "params" to docFuncParams @@ -955,7 +955,7 @@ if (true) { mapOf("name" to "param3", "datatype" to atomic2) ) - val testName = testBaseStart+docCurr.capitalize()+testBaseEnd+((testNum * testMax) + j - 1) + val testName = testBaseStart+docCurr.replaceFirstChar {it.uppercase()}+testBaseEnd+((testNum * testMax) + j - 1) val testdef1 = replaceFuncName(docTestdef, testName) val testdef2 = if (j < testMax) testdef1 @@ -1089,7 +1089,7 @@ if (true) { val funcReturn = mapOf( "datatype" to atomicCurr, "nullable" to testNullable ) - val testName = testBaseStart+testBaseEnd+atomicCurr.capitalize()+testNum + val testName = testBaseStart+testBaseEnd+atomicCurr.replaceFirstChar {it.uppercase()}+testNum val testdef = if (requestParams === null) mapOf( "functionName" to testName, "return" to funcReturn @@ -1211,7 +1211,7 @@ if (true) { "datatype" to docCurr, "multiple" to testMultiple, "nullable" to testNullable ) - val testName = testBaseStart+testBaseEnd+docCurr.capitalize()+testNum + val testName = testBaseStart+testBaseEnd+docCurr.replaceFirstChar {it.uppercase()}+testNum val testdef = if (requestParams === null) mapOf( "functionName" to testName, "return" to funcReturn @@ -1305,7 +1305,7 @@ if (true) { "datatype" to docCurr, "multiple" to testMultiple, "nullable" to testNullable ) - val testName = testBaseStart + testBaseEnd + docCurr.capitalize() + testNum + val testName = testBaseStart + testBaseEnd + docCurr.replaceFirstChar {it.uppercase()} + testNum val testdef = if (requestParams === null) mapOf( "functionName" to testName, "return" to funcReturn @@ -1421,7 +1421,7 @@ if (true) { if (true) { val atomicMappingConstructors = getAtomicMappingConstructors() val atomicMappingBundle = "mapAtomics" - val atomicMappingBundleTested = atomicMappingBundle.capitalize()+"Bundle" + val atomicMappingBundleTested = atomicMappingBundle.replaceFirstChar {it.uppercase()}+"Bundle" val atomicMappingBundleTester = atomicMappingBundleTested+"Test" val atomicMappingBundleJSONPath = "$jsonPath$atomicMappingBundle/" val atomicMappingBundleFilename = atomicMappingBundleJSONPath+"service.json" @@ -1438,12 +1438,12 @@ if (true) { val atomicMappingDatatypes = atomicMappingConstructors.keys.toTypedArray() for (datatypeNum in atomicMappingDatatypes.indices) { val datatype = atomicMappingDatatypes[datatypeNum] - val testBaseStart = atomicMappingBundle+datatype.capitalize() + val testBaseStart = atomicMappingBundle+datatype.replaceFirstChar {it.uppercase()} val datatypeConstructors = atomicMappingConstructors[datatype] as Map val modExtension = modExtensions[datatypeNum % modExtensions.size] for (mappedType in datatypeConstructors.keys) { - // mappedType.capitalize().replace('.', '_') - val testMapped = mappedType.split('.').joinToString("") { word -> word.capitalize() } + // mappedType.replaceFirstChar {it.uppercase()}.replace('.', '_') + val testMapped = mappedType.split('.').joinToString("") { word -> word.replaceFirstChar {it.uppercase()} } val mappedConstructor = datatypeConstructors[mappedType] as String val typeConstructors = mapOf(datatype to mappedConstructor) for (testNum in allTestTypes.indices) { @@ -1511,7 +1511,7 @@ if (true) { if (true) { val documentMappingConstructors = getDocumentMappingConstructors() val documentMappingBundle = "mapDocuments" - val documentMappingBundleTested = documentMappingBundle.capitalize()+"Bundle" + val documentMappingBundleTested = documentMappingBundle.replaceFirstChar {it.uppercase()}+"Bundle" val documentMappingBundleTester = documentMappingBundleTested+"Test" val documentMappingBundleJSONPath = "$jsonPath$documentMappingBundle/" val documentMappingBundleFilename = documentMappingBundleJSONPath+"service.json" @@ -1528,11 +1528,11 @@ if (true) { val documentMappedDatatypes = documentMappingConstructors.keys.toTypedArray() for (datatypeNum in documentMappedDatatypes.indices) { val datatype = documentMappedDatatypes[datatypeNum] - val testBaseStart = documentMappingBundle+datatype.capitalize() + val testBaseStart = documentMappingBundle+datatype.replaceFirstChar {it.uppercase()} val datatypeConstructors = documentMappingConstructors[datatype] as Map val modExtension = modExtensions[datatypeNum % modExtensions.size] for (mappedType in datatypeConstructors.keys) { - val testMapped = mappedType.split('.').joinToString("") { word -> word.capitalize() } + val testMapped = mappedType.split('.').joinToString("") { word -> word.replaceFirstChar {it.uppercase()} } val mappedConstructor = datatypeConstructors[mappedType] as String val typeConstructors = mapOf(datatype to mappedConstructor) for (testNum in allTestTypes.indices) { @@ -1662,8 +1662,8 @@ if (true) { ) val moduleInitTestString = serializer.writeValueAsString(moduleInitTestdef) for (modExtension in modExtensions) { - val moduleInitBundle = "moduleInit"+modExtension.capitalize() - val moduleInitBundleTested = moduleInitBundle.capitalize()+"Bundle" + val moduleInitBundle = "moduleInit"+modExtension.replaceFirstChar {it.uppercase()} + val moduleInitBundleTested = moduleInitBundle.replaceFirstChar {it.uppercase()}+"Bundle" val moduleInitBundleTester = moduleInitBundleTested+"Test" val moduleInitBundleJSONPath = "$jsonPath$moduleInitBundle/" val moduleInitBundleFilename = moduleInitBundleJSONPath+"service.json" diff --git a/test-app/src/main/ml-data/optic/test/musician1.json b/test-app/src/main/ml-data/optic/test/musician1.json index 5ce02ba85..e32ec1cae 100644 --- a/test-app/src/main/ml-data/optic/test/musician1.json +++ b/test-app/src/main/ml-data/optic/test/musician1.json @@ -6,6 +6,8 @@ "instrument": [ "trumpet", "vocal" - ] + ], + "point": "1 2", + "polygon": "1,2 3,4 5,6 1,2" } -} \ No newline at end of file +} diff --git a/test-app/src/main/ml-data/optic/test/musician2.json b/test-app/src/main/ml-data/optic/test/musician2.json index ab35baa11..5822dd01c 100644 --- a/test-app/src/main/ml-data/optic/test/musician2.json +++ b/test-app/src/main/ml-data/optic/test/musician2.json @@ -6,6 +6,7 @@ "instrument": [ "clarinet", "saxophone" - ] + ], + "point": "3 4" } -} \ No newline at end of file +} diff --git a/test-app/src/main/ml-data/optic/zipcodes/collections.properties b/test-app/src/main/ml-data/optic/zipcodes/collections.properties new file mode 100644 index 000000000..0b92404e2 --- /dev/null +++ b/test-app/src/main/ml-data/optic/zipcodes/collections.properties @@ -0,0 +1 @@ +*=zipcode diff --git a/test-app/src/main/ml-schemas/tde/musician.tdex b/test-app/src/main/ml-schemas/tde/musician.tdex deleted file mode 100644 index 206934219..000000000 --- a/test-app/src/main/ml-schemas/tde/musician.tdex +++ /dev/null @@ -1,26 +0,0 @@ - \ No newline at end of file diff --git a/test-app/src/main/ml-schemas/tde/musician.xml b/test-app/src/main/ml-schemas/tde/musician.xml new file mode 100644 index 000000000..7782cad3f --- /dev/null +++ b/test-app/src/main/ml-schemas/tde/musician.xml @@ -0,0 +1,38 @@ + diff --git a/test-app/src/main/ml-schemas/tde/zipcodes.tdex b/test-app/src/main/ml-schemas/tde/zipcodes.xml similarity index 87% rename from test-app/src/main/ml-schemas/tde/zipcodes.tdex rename to test-app/src/main/ml-schemas/tde/zipcodes.xml index d2fc4dbe2..8313afcbe 100644 --- a/test-app/src/main/ml-schemas/tde/zipcodes.tdex +++ b/test-app/src/main/ml-schemas/tde/zipcodes.xml @@ -1,5 +1,8 @@ \ No newline at end of file +