You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2018/07/13 13:24:20 UTC
[3/4] jena git commit: JENA-1573: Remove the jena-fuseki1
distribution binary
JENA-1573: Remove the jena-fuseki1 distribution binary
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5fdd2369
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5fdd2369
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5fdd2369
Branch: refs/heads/master
Commit: 5fdd2369faca3d1de646968ece084c441c5d5106
Parents: 84b6434
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Jul 3 18:55:21 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Jul 3 19:55:52 2018 +0100
----------------------------------------------------------------------
jena-fuseki1/DEPENDENCIES | 21 --
jena-fuseki1/assembly-dist.xml | 78 ----
jena-fuseki1/assembly-soh.xml | 41 ---
jena-fuseki1/dist/ABOUT | 1 -
jena-fuseki1/dist/LICENSE | 548 ---------------------------
jena-fuseki1/dist/NOTICE | 216 -----------
jena-fuseki1/dist/README | 48 ---
jena-fuseki1/pom.xml | 38 --
jena-fuseki1/s-delete | 713 ------------------------------------
jena-fuseki1/s-get | 713 ------------------------------------
jena-fuseki1/s-head | 713 ------------------------------------
jena-fuseki1/s-post | 713 ------------------------------------
jena-fuseki1/s-put | 713 ------------------------------------
jena-fuseki1/s-query | 713 ------------------------------------
jena-fuseki1/s-update | 713 ------------------------------------
jena-fuseki1/s-update-form | 713 ------------------------------------
16 files changed, 6695 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/DEPENDENCIES
----------------------------------------------------------------------
diff --git a/jena-fuseki1/DEPENDENCIES b/jena-fuseki1/DEPENDENCIES
deleted file mode 100644
index 7dece40..0000000
--- a/jena-fuseki1/DEPENDENCIES
+++ /dev/null
@@ -1,21 +0,0 @@
-This file lists the dependences for Apache Jena Fuseki.
- Version numbers are given in the POM file for a particular distribution.
-
-Apache Projects: Apache Software License
- Apache Jena, including the Jena IRI library
- Apache Xerces-J
- Apache log4j
- Apache HttpComponents (HTTP Client)
- Apache Commons Codec
- Apache Common FileUpload
-
-SLF4J : http://www.slf4j.org/
- Copyright (c) 2004-2008 QOS.ch
- MIT License
-
-JUnit : http://junit.org/
- Common Public License - v 1.0
-
-Jetty: http://www.eclipse.org/jetty/
- Apache License 2.0
- (also avilable under Eclipse Public License 1.0)
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/assembly-dist.xml
----------------------------------------------------------------------
diff --git a/jena-fuseki1/assembly-dist.xml b/jena-fuseki1/assembly-dist.xml
deleted file mode 100644
index 509d230..0000000
--- a/jena-fuseki1/assembly-dist.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- 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.
--->
-
-<!--
-The distribution.
-Assumes jar made and onejar has been assembled.
--->
-
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-
- <id>distribution</id>
-
- <formats>
- <format>zip</format>
- <format>tar.gz</format>
- </formats>
-
- <baseDirectory>${project.artifactId}-${project.version}</baseDirectory>
-
- <files>
- <file>
- <source>${project.build.directory}/${server.jar.name}.jar</source>
- <outputDirectory></outputDirectory>
- <destName>fuseki-server.jar</destName>
- </file>
- <!-- include sources in binary distribution?
- <file>
- <source>${project.artifactId}-${project.version}-sources.jar</source>
- <outputDirectory></outputDirectory>
- </file>
- -->
- <file>
- <source>dist/README</source>
- <destName>README</destName>
- </file>
- <file>
- <source>dist/LICENSE</source>
- <destName>LICENSE</destName>
- </file>
- <file>
- <source>dist/NOTICE</source>
- <destName>NOTICE</destName>
- </file>
- </files>
-
- <fileSets>
- <fileSet>
- <outputDirectory></outputDirectory>
- <includes>
- <include>log4j.properties</include>
- <include>fuseki</include>
- <include>fuseki-server</include>
- <include>fuseki-server.bat</include>
- <include>config*.ttl</include>
- <include>s-*</include>
- <include>pages/*</include>
- <include>Data/*</include>
- </includes>
- </fileSet>
- </fileSets>
-</assembly>
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/assembly-soh.xml
----------------------------------------------------------------------
diff --git a/jena-fuseki1/assembly-soh.xml b/jena-fuseki1/assembly-soh.xml
deleted file mode 100644
index 49317ab..0000000
--- a/jena-fuseki1/assembly-soh.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- 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.
--->
-<!--
-The SOH distribution.
--->
-
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-
- <id>soh</id>
-
- <formats>
- <format>zip</format>
- </formats>
-
- <baseDirectory>apache-${project.artifactId}-${project.version}</baseDirectory>
-
- <fileSets>
- <fileSet>
- <includes>
- <include>s-*</include>
- </includes>
- </fileSet>
- </fileSets>
-</assembly>
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/dist/ABOUT
----------------------------------------------------------------------
diff --git a/jena-fuseki1/dist/ABOUT b/jena-fuseki1/dist/ABOUT
deleted file mode 100644
index cee2ca2..0000000
--- a/jena-fuseki1/dist/ABOUT
+++ /dev/null
@@ -1 +0,0 @@
-This directory holds the material needed for inclusion in the Fuseki distribution.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/dist/LICENSE
----------------------------------------------------------------------
diff --git a/jena-fuseki1/dist/LICENSE b/jena-fuseki1/dist/LICENSE
deleted file mode 100644
index 45a6ca4..0000000
--- a/jena-fuseki1/dist/LICENSE
+++ /dev/null
@@ -1,548 +0,0 @@
-
- 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.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
- (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.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-http://www.slf4j.org/license.html
-
- Copyright (c) 2004-2011 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.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-==============================================================
- Jetty Web Container
- Copyright 1995-2012 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.
-
-The javax.servlet package used was sourced from the Apache
-Software Foundation and is distributed under the apache 2.0
-license.
-
-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.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-From Apache HttpComponents Client
-
-This project contains annotations derived from JCIP-ANNOTATIONS
-Copyright (c) 2005 Brian Goetz and Tim Peierls.
-See http://www.jcip.net and the Creative Commons Attribution License
-(http://creativecommons.org/licenses/by/2.5)
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-From Apache Lucene
-
-Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was
-derived from unicode conversion examples available at
-http://www.unicode.org/Public/PROGRAMS/CVTUTF. Here is the copyright
-from those sources:
-
-/*
- * Copyright 2001-2004 Unicode, Inc.
- *
- * Disclaimer
- *
- * This source code is provided as is by Unicode, Inc. No claims are
- * made as to fitness for any particular purpose. No warranties of any
- * kind are expressed or implied. The recipient agrees to determine
- * applicability of information provided. If this file has been
- * purchased on magnetic or optical media from Unicode, Inc., the
- * sole remedy for any claim will be exchange of defective media
- * within 90 days of receipt.
- *
- * Limitations on Rights to Redistribute This Code
- *
- * Unicode, Inc. hereby grants the right to freely use the information
- * supplied in this file in the creation of products supporting the
- * Unicode Standard, and to make copies of this file in any form
- * for internal or external distribution as long as this notice
- * remains attached.
- */
-
-
-Some code in core/src/java/org/apache/lucene/util/ArrayUtil.java was
-derived from Python 2.4.2 sources available at
-http://www.python.org. Full license is here:
-
- http://www.python.org/download/releases/2.4.2/license/
-
-Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was
-derived from Python 3.1.2 sources available at
-http://www.python.org. Full license is here:
-
- http://www.python.org/download/releases/3.1.2/license/
-
-Some code in core/src/java/org/apache/lucene/util/automaton was
-derived from Brics automaton sources available at
-www.brics.dk/automaton/. Here is the copyright from those sources:
-
-/*
- * Copyright (c) 2001-2009 Anders Moeller
- * 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.
- */
-
-The levenshtein automata tables in core/src/java/org/apache/lucene/util/automaton
-were automatically generated with the moman/finenight FSA package.
-Here is the copyright for those sources:
-
-# Copyright (c) 2010, Jean-Philippe Barrette-LaPierre, <jp...@rrette.com>
-#
-# 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.
-
-Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was
-derived from ICU (http://www.icu-project.org)
-The full license is available here:
- http://source.icu-project.org/repos/icu/icu/trunk/license.html
-
-/*
- * Copyright (C) 1999-2010, International Business Machines
- * Corporation and others. 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, and/or sell copies of the
- * Software, and to permit persons to whom the Software is furnished to do so,
- * provided that the above copyright notice(s) and this permission notice appear
- * in all copies of the Software and that both the above copyright notice(s) and
- * this permission notice appear in supporting documentation.
- *
- * 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 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 THIS 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 this Software without prior written authorization of the
- * copyright holder.
- */
-
-The following license applies to the Snowball stemmers:
-
-Copyright (c) 2001, Dr Martin Porter
-Copyright (c) 2002, Richard Boulton
-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 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 license applies to the KStemmer:
-
-Copyright © 2003,
-Center for Intelligent Information Retrieval,
-University of Massachusetts, Amherst.
-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 names "Center for Intelligent Information Retrieval" and
-"University of Massachusetts" must not be used to endorse or promote products
-derived from this software without prior written permission. To obtain
-permission, contact info@ciir.cs.umass.edu.
-
-THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER 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 HOLDERS 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 license applies to the Morfologik project:
-
-Copyright (c) 2006 Dawid Weiss
-Copyright (c) 2007-2011 Dawid Weiss, Marcin Miłkowski
-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 Morfologik 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.
-
----
-
-The dictionary comes from Morfologik project. Morfologik uses data from
-Polish ispell/myspell dictionary hosted at http://www.sjp.pl/slownik/en/ and
-is licenced on the terms of (inter alia) LGPL and Creative Commons
-ShareAlike. The part-of-speech tags were added in Morfologik project and
-are not found in the data from sjp.pl. The tagset is similar to IPI PAN
-tagset.
-
----
-
-The following license applies to the Morfeusz project,
-used by org.apache.lucene.analysis.morfologik.
-
-BSD-licensed dictionary of Polish (SGJP)
-http://sgjp.pl/morfeusz/
-
-Copyright © 2011 Zygmunt Saloni, Włodzimierz Gruszczyński,
- Marcin Woliński, Robert Wołosz
-
-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 COPYRIGHT HOLDERS “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 COPYRIGHT HOLDERS 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.
-
-
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/dist/NOTICE
----------------------------------------------------------------------
diff --git a/jena-fuseki1/dist/NOTICE b/jena-fuseki1/dist/NOTICE
deleted file mode 100644
index c59250f..0000000
--- a/jena-fuseki1/dist/NOTICE
+++ /dev/null
@@ -1,216 +0,0 @@
-Apache Jena - module Fuseki
-Copyright 2011-2018 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.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.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-slf4j:
- Copyright (c) 2004-2011 QOS.ch
- All rights reserved.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-(c) Copyright 2003, Plugged In Software
-This product includes software developed by
-PluggedIn Software under a BSD license.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
- Jetty Web Container
- Copyright 1995-2012 Mort Bay Consulting Pty Ltd.
-
-under the Apache 2.0 License.
-
-The Jetty Web Container includes:
-
-UnixCrypt.java
-Copyright 1996 Aki Yoshida,
-modified April 2001 by Iris Van den Broeke, Daniel Deville.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-From Apache HttpComponents Client:
-
-This project contains annotations derived from JCIP-ANNOTATIONS
-Copyright (c) 2005 Brian Goetz and Tim Peierls. See http://www.jcip.net
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
- Apache Xerces Java
- Copyright 1999-2013 The Apache Software Foundation
-
- This product includes software developed at
- The Apache Software Foundation (http://www.apache.org/).
-
- 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.
-
-- - - - - - - - - - - - - - - - - - - - - - -
-
-From Apache Lucene:
-
-ICU4J, (under analysis/icu) is licensed under an MIT styles license
-and Copyright (c) 1995-2008 International Business Machines Corporation and others
-
-Some data files (under analysis/icu/src/data) are derived from Unicode data such
-as the Unicode Character Database. See http://unicode.org/copyright.html for more
-details.
-
-Brics Automaton (under core/src/java/org/apache/lucene/util/automaton) is
-BSD-licensed, created by Anders Møller. See http://www.brics.dk/automaton/
-
-The levenshtein automata tables (under core/src/java/org/apache/lucene/util/automaton) were
-automatically generated with the moman/finenight FSA library, created by
-Jean-Philippe Barrette-LaPierre. This library is available under an MIT license,
-see http://sites.google.com/site/rrettesite/moman and
-http://bitbucket.org/jpbarrette/moman/overview/
-
-This product includes code (JaspellTernarySearchTrie) from Java Spelling
-Checking Package (jaspell): http://jaspell.sourceforge.net/
-License: The BSD License (http://www.opensource.org/licenses/bsd-license.php)
-
-The snowball stemmers in
- analysis/common/src/java/net/sf/snowball
-were developed by Martin Porter and Richard Boulton.
-The snowball stopword lists in
- analysis/common/src/resources/org/apache/lucene/analysis/snowball
-were developed by Martin Porter and Richard Boulton.
-The full snowball package is available from
- http://snowball.tartarus.org/
-
-The KStem stemmer in
- analysis/common/src/org/apache/lucene/analysis/en
-was developed by Bob Krovetz and Sergio Guzman-Lara (CIIR-UMass Amherst)
-under the BSD-license.
-
-The Arabic,Persian,Romanian,Bulgarian, and Hindi analyzers (common) come with a default
-stopword list that is BSD-licensed created by Jacques Savoy.
-See http://members.unine.ch/jacques.savoy/clef/index.html.
-
-The German,Spanish,Finnish,French,Hungarian,Italian,Portuguese,Russian and Swedish light stemmers
-(common) are based on BSD-licensed reference implementations created by Jacques Savoy and
-Ljiljana Dolamic.
-
-The Stempel analyzer (stempel) includes BSD-licensed software developed
-by the Egothor project http://egothor.sf.net/, created by Leo Galambos, Martin Kvapil,
-and Edmond Nolan.
-
-The Polish analyzer (stempel) comes with a default
-stopword list that is BSD-licensed created by the Carrot2 project. The file resides
-in stempel/src/resources/org/apache/lucene/analysis/pl/stopwords.txt.
-See http://project.carrot2.org/license.html.
-
-The SmartChineseAnalyzer source code (smartcn) was
-provided by Xiaoping Gao and copyright 2009 by www.imdict.net.
-
-WordBreakTestUnicode_*.java (under modules/analysis/common/src/test/)
-is derived from Unicode data such as the Unicode Character Database.
-See http://unicode.org/copyright.html for more details.
-
-The Morfologik analyzer (morfologik) includes BSD-licensed software
-developed by Dawid Weiss and Marcin Miłkowski (http://morfologik.blogspot.com/).
-
-Morfologik uses data from Polish ispell/myspell dictionary
-(http://www.sjp.pl/slownik/en/) licenced on the terms of (inter alia)
-LGPL and Creative Commons ShareAlike.
-
-Morfologic includes data from BSD-licensed dictionary of Polish (SGJP)
-(http://sgjp.pl/morfeusz/)
-
-Servlet-api.jar and javax.servlet-*.jar are under the CDDL license, the original
-source code for this can be found at http://www.eclipse.org/jetty/downloads.php
-
-===========================================================================
-Kuromoji Japanese Morphological Analyzer - Apache Lucene Integration
-===========================================================================
-
-This software includes a binary and/or source version of data from
-
- mecab-ipadic-2.7.0-20070801
-
-which can be obtained from
-
- http://atilika.com/releases/mecab-ipadic/mecab-ipadic-2.7.0-20070801.tar.gz
-
-or
-
- http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
-
-===========================================================================
-mecab-ipadic-2.7.0-20070801 Notice
-===========================================================================
-
-Nara Institute of Science and Technology (NAIST),
-the copyright holders, disclaims all warranties with regard to this
-software, including all implied warranties of merchantability and
-fitness, in no event shall NAIST 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 tortuous action, arising out
-of or in connection with the use or performance of this software.
-
-A large portion of the dictionary entries
-originate from ICOT Free Software. The following conditions for ICOT
-Free Software applies to the current dictionary as well.
-
-Each User may also freely distribute the Program, whether in its
-original form or modified, to any third party or parties, PROVIDED
-that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
-on, or be attached to, the Program, which is distributed substantially
-in the same form as set out herein and that such intended
-distribution, if actually made, will neither violate or otherwise
-contravene any of the laws and regulations of the countries having
-jurisdiction over the User or the intended distribution itself.
-
-NO WARRANTY
-
-The program was produced on an experimental basis in the course of the
-research and development conducted during the project and is provided
-to users as so produced on an experimental basis. Accordingly, the
-program is provided without any warranty whatsoever, whether express,
-implied, statutory or otherwise. The term "warranty" used herein
-includes, but is not limited to, any warranty of the quality,
-performance, merchantability and fitness for a particular purpose of
-the program and the nonexistence of any infringement or violation of
-any right of any third party.
-
-Each user of the program will agree and understand, and be deemed to
-have agreed and understood, that there is no warranty whatsoever for
-the program and, accordingly, the entire risk arising from or
-otherwise connected with the program is assumed by the user.
-
-Therefore, neither ICOT, the copyright holder, or any other
-organization that participated in or was otherwise related to the
-development of the program and their respective officials, directors,
-officers and other employees shall be held liable for any and all
-damages, including, without limitation, general, special, incidental
-and consequential damages, arising out of or otherwise in connection
-with the use or inability to use the program or any product, material
-or result produced or otherwise obtained by using the program,
-regardless of whether they have been advised of, or otherwise had
-knowledge of, the possibility of such damages at any time during the
-project or thereafter. Each user will be deemed to have agreed to the
-foregoing by his or her commencement of use of the program. The term
-"use" as used herein includes, but is not limited to, the use,
-modification, copying and distribution of the program and the
-production of secondary products from the program.
-
-In the case where the program, whether in its original form or
-modified, was distributed or delivered to or received by a user from
-any person, organization or entity other than ICOT, unless it makes or
-grants independently of ICOT any specific warranty to the user in
-writing, such person, organization or entity, will also be exempted
-from and not be held liable to the user for any such damages as noted
-above as far as the program is concerned.
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/dist/README
----------------------------------------------------------------------
diff --git a/jena-fuseki1/dist/README b/jena-fuseki1/dist/README
deleted file mode 100644
index daa410a..0000000
--- a/jena-fuseki1/dist/README
+++ /dev/null
@@ -1,48 +0,0 @@
-Apache Jena Fuseki1
-===================
-
-Apache Jena Fuseki1 is deprecated in favor of Apache Jena Fuseki2
-
-Documentation on Fuseki1:
- http://jena.apache.org/documentation/serving_data/
-
-Documentation on Fuseki2:
- http://jena.apache.org/documentation/fuseki2/
-
-
-Cryptographic Software Notice
------------------------------
-
-This distribution includes cryptographic software. The country in which
-you currently reside may have restrictions on the import, possession,
-use, and/or re-export to another country, of encryption software. BEFORE
-using any encryption software, please check your country's laws,
-regulations and policies concerning the import, possession, or use, and
-re-export of encryption software, to see if this is permitted.
-See <http://www.wassenaar.org/> for more information.
-
-The U.S. Government Department of Commerce, Bureau of Industry and
-Security (BIS), has classified this software as Export Commodity
-Control Number (ECCN) 5D002.C.1, which includes information security
-software using or performing cryptographic functions with asymmetric
-algorithms. The form and manner of this Apache Software Foundation
-distribution makes it eligible for export under the License Exception
-ENC Technology Software Unrestricted (TSU) exception (see the BIS
-Export Administration Regulations, Section 740.13) for both object
-code and source code.
-
-The following provides more details on the included software that
-may be subject to export controls on cryptographic software:
-
- Apache Jena Fuseki1 (distribution) includes
- Apache HttpComponents Client
- Apache HttpComponents Core
- which interfaces with the Java Secure Socket Extension (JSSE) API
- and also
- Eclipse Jetty
- to provide
-
- - HTTPS support
-
- Apache Jena Fuseki1 (distribution) does not include any
- implementation of JSSE.
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/pom.xml
----------------------------------------------------------------------
diff --git a/jena-fuseki1/pom.xml b/jena-fuseki1/pom.xml
index 0285de0..7245763 100644
--- a/jena-fuseki1/pom.xml
+++ b/jena-fuseki1/pom.xml
@@ -47,11 +47,6 @@
<properties>
<this.root>${project.artifactId}-${project.version}</this.root>
<server.jar.name>${this.root}-server</server.jar.name>
-
- <!--
- <assembly.soh.name>${this.root}</assembly.soh.name>
- -->
-
<ver.jetty>8.1.22.v20160922</ver.jetty>
<ver.velocity>1.7</ver.velocity>
@@ -323,39 +318,6 @@
</plugin>
<plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <!-- After shared jar - same phase -->
- <executions>
- <!--
- <execution>
- <id>create-soh-assembly</id>
- <phase>package</phase>
- <goals><goal>single</goal></goals>
- <configuration>
- <finalName>${assembly.soh.name}</finalName>
- <!- -<appendAssemblyId>false</appendAssemblyId> - ->
- <descriptors>
- <descriptor>assembly-soh.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- -->
-
- <execution>
- <id>create-zip-assembly</id>
- <phase>package</phase>
- <goals><goal>single</goal></goals>
- <configuration>
- <tarLongFileMode>posix</tarLongFileMode>
- <descriptors>
- <descriptor>assembly-dist.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/s-delete
----------------------------------------------------------------------
diff --git a/jena-fuseki1/s-delete b/jena-fuseki1/s-delete
deleted file mode 100755
index 4f6590d..0000000
--- a/jena-fuseki1/s-delete
+++ /dev/null
@@ -1,713 +0,0 @@
-#!/usr/bin/env ruby
-# -*- coding: utf-8 -*-
-
-# 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.
-
-# SPARQL HTTP Update, client.
-
-require 'optparse'
-require 'net/http'
-require 'uri'
-require 'cgi'
-require 'pp'
-require 'ostruct'
-
-# ToDo
-# Allow a choice of media type for GET
-# --accept "content-type" (and abbreviations)
-# --header "Add:this"
-# --user, --password
-# Basic authentication: request.basic_auth("username", "password")
-# Follow redirects => 301: puts response["location"] # All headers are lowercase?
-
-SOH_NAME="SOH"
-SOH_VERSION="0.0.0"
-
-$proxy = ENV['http_proxy'] ? URI.parse(ENV['http_proxy']) : OpenStruct.new
-
-# What about direct naming?
-
-# Names
-$mtTurtle = 'text/turtle;charset=utf-8'
-$mtRDF = 'application/rdf+xml'
-$mtText = 'text/plain'
-$mtNTriples = 'application/n-triples'
-$mtNQuads = 'application/n-quads'
-$mtJSONLD = 'application/ld+json'
-$mtTriG = 'application/trig'
-$mtSparqlResultsX = 'application/sparql-results+xml'
-$mtSparqlResultsJ = 'application/sparql-results+json'
-$mtAppJSON = 'application/json'
-$mtAppXML = 'application/xml'
-$mtSparqlResultsTSV = 'application/sparql-results+tsv'
-$mtSparqlResultsCSV = 'application/sparql-results+csv'
-$mtSparqlUpdate = 'application/sparql-update'
-$mtWWWForm = 'application/x-www-form-urlencoded'
-$mtSparqlQuery = "application/sparql-query" ;
-
-# Global media type table.
-$fileMediaTypes = {}
-$fileMediaTypes['ttl'] = $mtTurtle
-$fileMediaTypes['n3'] = 'text/n3; charset=utf-8'
-$fileMediaTypes['nt'] = $mtText
-$fileMediaTypes['rdf'] = $mtRDF
-$fileMediaTypes['owl'] = $mtRDF
-$fileMediaTypes['nq'] = $mtNQuads
-$fileMediaTypes['trig'] = $mtTriG
-$fileMediaTypes['json-ld'] = $mtJSONLD
-$fileMediaTypes['jsonld'] = $mtJSONLD
-
-# Global charset : no entry means "don't set"
-$charsetUTF8 = 'utf-8'
-$charset = {}
-$charset[$mtTurtle] = 'utf-8'
-$charset[$mtText] = 'ascii'
-$charset[$mtTriG] = 'utf-8'
-$charset[$mtNQuads] = 'utf-8'
-
-# Headers
-
-$hContentType = 'Content-Type'
-# $hContentEncoding = 'Content-Encoding'
-$hContentLength = 'Content-Length'
-# $hContentLocation = 'Content-Location'
-# $hContentRange = 'Content-Range'
-
-$hAccept = 'Accept'
-$hAcceptCharset = 'Accept-Charset'
-$hAcceptEncoding = 'Accept-Encoding'
-$hAcceptRanges = 'Accept-Ranges'
-
-$headers = { "User-Agent" => "#{SOH_NAME}/Fuseki #{SOH_VERSION}"}
-$print_http = false
-
-# Default for GET
-# At least allow anything (and hope!)
-$accept_rdf="#{$mtTurtle} , #{$mtNTriples};q=0.9 , #{$mtRDF};q=0.8 , #{$mtJSONLD};q=0.5"
-# Datasets
-$accept_ds="#{$mtTrig} , #{$mtNQuads};q=0.9 , #{$mtJSONLD};q=0.5"
-# For SPARQL query
-$accept_results="#{$mtSparqlResultsJ} , #{$mtSparqlResultsX};q=0.9 , #{$accept_rdf}"
-
-# Accept any in case of trouble.
-$accept_rdf="#{$accept_rdf} , */*;q=0.1"
-$accept_results="#{$accept_results} , */*;q=0.1"
-
-# The media type usually forces the charset.
-$accept_charset=nil
-
-## Who we are.
-## Two styles:
-## s-query .....
-## soh query .....
-
-$cmd = File.basename($0)
-if $cmd == 'soh'
-then
- $cmd = (ARGV.size == 0) ? 'soh' : ARGV.shift
-end
-
-if ! $cmd.start_with?('s-') && $cmd != 'soh'
- $cmd = 's-'+$cmd
-end
-
-## --------
-
-def GET(dataset, graph)
- print "GET #{dataset} #{graph}\n" if $verbose
- requestURI = target(dataset, graph)
- headers = {}
- headers.merge!($headers)
- headers[$hAccept] = $accept_rdf
- headers[$hAcceptCharset] = $accept_charset unless $accept_charset.nil?
- get_worker(requestURI, headers)
-end
-
-def get_worker(requestURI, headers)
- uri = URI.parse(requestURI)
- request = Net::HTTP::Get.new(uri.request_uri)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- response_print_body(uri, request)
-end
-
-def HEAD(dataset, graph)
- print "HEAD #{dataset} #{graph}\n" if $verbose
- requestURI = target(dataset, graph)
- headers = {}
- headers.merge!($headers)
- headers[$hAccept] = $accept_rdf
- headers[$hAcceptCharset] = $accept_charset unless $accept_charset.nil?
- uri = URI.parse(requestURI)
- request = Net::HTTP::Head.new(uri.request_uri)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def PUT(dataset, graph, file)
- print "PUT #{dataset} #{graph} #{file}\n" if $verbose
- send_body(dataset, graph, file, Net::HTTP::Put)
-end
-
-def POST(dataset, graph, file)
- print "POST #{dataset} #{graph} #{file}\n" if $verbose
- send_body(dataset, graph, file, Net::HTTP::Post)
-end
-
-def DELETE(dataset, graph)
- print "DELETE #{dataset} #{graph}\n" if $verbose
- requestURI = target(dataset, graph)
- uri = URI.parse(requestURI)
- request = Net::HTTP::Delete.new(uri.request_uri)
- headers = {}
- headers.merge!($headers)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def uri_escape(string)
- CGI.escape(string)
-end
-
-def target(dataset, graph)
- return dataset+"?default" if graph == "default"
- return dataset+"?graph="+uri_escape(graph)
-end
-
-def send_body(dataset, graph, file, method)
- mt = content_type(file)
- headers = {}
- headers.merge!($headers)
- headers[$hContentType] = mt
- headers[$hContentLength] = File.size(file).to_s
- ## p headers
-
- requestURI = target(dataset, graph)
- uri = URI.parse(requestURI)
-
- request = method.new(uri.request_uri)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- request.body_stream = File.open(file)
- response_no_body(uri, request)
-end
-
-def response_no_body(uri, request)
- http = Net::HTTP::Proxy($proxy.host,$proxy.port).new(uri.host, uri.port)
- http.read_timeout = nil
- # check we can connect.
- begin http.start
- rescue Exception => e
- # puts e.message
- #puts e.backtrace.inspect
- warn_exit "Failed to connect: #{uri.host}:#{uri.port}: #{e.message}", 3
- end
- response = http.request(request)
- print_http_response(response)
- case response
- when Net::HTTPSuccess, Net::HTTPRedirection
- # OK
- when Net::HTTPNotFound
- warn_exit "404 Not found: #{uri}", 9
- #print response.body
- else
- warn_exit "#{response.code} #{response.message} #{uri}", 9
- # Unreachable
- response.error!
- end
- # NO BODY IN RESPONSE
-end
-
-def response_print_body(uri, request)
- http = Net::HTTP::Proxy($proxy.host,$proxy.port).new(uri.host, uri.port)
- http.read_timeout = nil
- # check we can connect.
- begin http.start
- rescue => e
- #puts e.backtrace.inspect
- #print e.class
- warn_exit "Failed to connect: #{uri.host}:#{uri.port}: #{e.message}", 3
- end
-
- # Add a blank line if headers were output.
- print "\n" if $http_print ;
-
- begin
- response = http.request(request) { |res|
- print_http_response(res)
- #puts res.code
- res.read_body do |segment|
- print segment
- end
- }
- case response
- when Net::HTTPSuccess, Net::HTTPRedirection
- # OK
- when Net::HTTPNotFound
- warn_exit "404 Not found: #{uri}", 9
- #print response.body
- else
- warn_exit "#{response.code}: #{uri}", 9
- # Unreachable
- response.error!
- end
- rescue EOFError => e
- warn_exit "IO Error: "+e.message, 3
- end
-end
-
-def print_http_request(uri, request)
- return unless $print_http
- #print "Request\n"
- print request.method," ",uri, "\n"
- print_headers(" ",request)
-end
-
-def print_http_response(response)
- return unless $print_http
- #print "Response\n"
- print response.code, " ", response.message, "\n"
- print_headers(" ",response)
-end
-
-def print_headers(marker, headers)
- headers.each do |k,v|
- k = k.split('-').map{|w| w.capitalize}.join('-')+':'
- printf "%s%-20s %s\n",marker,k,v
- end
-end
-
-def content_type(file)
- file =~ /\.([^.]*)$/
- ext = $1
- mt = $fileMediaTypes[ext]
- cs = $charset[mt]
- mt = mt+';charset='+cs if ! cs.nil?
- return mt
-end
-
-def charset(content_type)
- return $charset[content_type]
-end
-
-def warn_exit(msg, rc)
- warn msg
- exit rc ;
-end
-
-def parseURI(uri_string)
- begin
- return URI.parse(uri_string).to_s
- rescue URI::InvalidURIError => err
- warn_exit "Bad URI: <#{uri_string}>", 2
- end
-end
-
-## ---- Command
-
-def cmd_soh(command=nil)
- ## Command line
- options = {}
- optparse = OptionParser.new do |opts|
- # Set a banner, displayed at the top
- # of the help screen.
- case $cmd
- when "s-http", "sparql-http", "soh"
- banner="$cmd [get|post|put|delete] datasetURI graph [file]"
- when "s-get", "s-head", "s-delete"
- banner="$cmd datasetURI graph"
- end
-
- opts.banner = $banner
- # Define the options, and what they do
-
- options[:verbose] = false
- opts.on( '-v', '--verbose', 'Verbose' ) do
- options[:verbose] = true
- end
-
- options[:version] = false
- opts.on( '--version', 'Print version and exit' ) do
- print "#{SOH_NAME} #{SOH_VERSION}\n"
- exit
- end
-
- # This displays the help screen, all programs are
- # assumed to have this option.
- opts.on( '-h', '--help', 'Display this screen and exit' ) do
- puts opts
- exit
- end
- end
-
- begin optparse.parse!
- rescue OptionParser::InvalidArgument => e
- warn e
- exit
- end
-
- $verbose = options[:verbose]
- $print_http = $verbose
-
- if command.nil?
- if ARGV.size == 0
- warn "No command given: expected one of 'get', 'put', 'post', 'delete', 'query' or 'update'"
- exit 1
- end
- cmdPrint=ARGV.shift
- command=cmdPrint.upcase
- else
- cmdPrint=command
- end
-
- case command
- when "HEAD", "GET", "DELETE"
- requiredFile=false
- when "PUT", "POST"
- requiredFile=true
- when "QUERY"
- cmd_sparql_query
- when "UPDATE"
- cmd_sparql_update
- else
- warn_exit "Unknown command: #{command}", 2
- end
-
- if requiredFile
- then
- if ARGV.size != 3
- warn_exit "Required: dataset URI, graph URI (or 'default') and file", 1
- end
- else
- if ARGV.size != 2
- warn_exit "Required: dataset URI and graph URI (or 'default')", 1
- end
- end
-
- dataset=parseURI(ARGV.shift)
- # Relative URI?
- graph=parseURI(ARGV.shift)
- file=""
- if requiredFile
- then
- file = ARGV.shift if requiredFile
- if ! File.exist?(file)
- warn_exit "No such file: "+file, 3
- end
- if File.directory?(file)
- warn_exit "File is a directory: "+file, 3
- end
- end
-
- case command
- when "GET"
- GET(dataset, graph)
- when "HEAD"
- HEAD(dataset, graph)
- when "PUT"
- PUT(dataset, graph, file)
- when "DELETE"
- DELETE(dataset, graph)
- when "POST"
- POST(dataset, graph, file)
- else
- warn_exit "Internal error: Unknown command: #{cmd}", 2
- end
- exit 0
-end
-
-## --------
-def string_or_file(arg)
- return arg if ! arg.match(/^@/)
- a=(arg[1..-1])
- open(a, 'rb'){|f| f.read}
-end
-
-## -------- SPARQL Query
-
-## Choose method
-def SPARQL_query(service, query, query_file, forcePOST=false, args2={})
- if ! query_file.nil?
- query = open(query_file, 'rb'){|f| f.read}
- end
- if forcePOST || query.length >= 2*1024
- SPARQL_query_POST(service, query, args2)
- else
- SPARQL_query_GET(service, query, args2)
- end
-end
-
-## By GET
-
-def SPARQL_query_GET(service, query, args2)
- args = { "query" => query }
- args.merge!(args2)
- qs=args.collect { |k,v| "#{k}=#{uri_escape(v)}" }.join('&')
- action="#{service}?#{qs}"
- headers={}
- headers.merge!($headers)
- headers[$hAccept]=$accept_results
- get_worker(action, headers)
-end
-
-## By POST
-
-def SPARQL_query_POST(service, query, args2)
- # DRY - body/no body for each of request and response.
- post_params={ "query" => query }
- post_params.merge!(args2)
- uri = URI.parse(service)
- headers={}
- headers.merge!($headers)
- headers[$hAccept]=$accept_results
- execute_post_form_body(uri, headers, post_params)
-end
-
-def execute_post_form_body(uri, headers, post_params)
- request = Net::HTTP::Post.new(uri.request_uri)
- qs=post_params.collect { |k,v| "#{k}=#{uri_escape(v)}" }.join('&')
- headers[$hContentType] = $mtWWWForm
- headers[$hContentLength] = qs.length.to_s
- request.initialize_http_header(headers)
- request.body = qs
- print_http_request(uri, request)
- response_print_body(uri, request)
-end
-
-# Usage: -v --help --file= --query=
-def cmd_sparql_query
- options={}
- optparse = OptionParser.new do |opts|
- opts.banner = "Usage: #{$cmd} [--query QUERY] [--service URI] [--post] 'query' | @file"
- opts.on('--service=URI', '--server=URI', 'SPARQL endpoint') do |uri|
- options[:service]=uri
- end
- opts.on('--query=FILE','--file=FILE', 'Take query from a file') do |file|
- options[:file]=file
- end
- opts.on('--output=TYPE', [:json,:xml,:text,:csv,:tsv],
- 'Set the output argument') do |type|
- options[:output]=type
- end
- opts.on('--accept=TYPE', [:json,:xml,:text,:csv,:tsv],
- 'Set the accept header type') do |type|
- options[:accept]=type
- end
- options[:verbose] = false
- opts.on( '--post', 'Force use of POST' ) do
- options[:post] = true
- end
- opts.on( '-v', '--verbose', 'Verbose' ) do
- options[:verbose] = true
- end
- opts.on( '--version', 'Print version and exit' ) do
- print "#{SOH_NAME} #{SOH_VERSION}\n"
- exit
- end
- opts.on( '-h', '--help', 'Display this screen and exit' ) do
- puts opts
- exit
- end
- end
-
- begin optparse.parse!
- rescue OptionParser::InvalidArgument, OptionParser::InvalidOption => e
- warn e
- exit 1
- end
-
- $verbose = options[:verbose]
- $print_http = $verbose
- usePOST = options[:post]
-
- service = options[:service]
- warn_exit 'No service specified. Required --service=URI',1 if service.nil?
-
- # Query
- query=nil
- query_file=options[:file]
- if query_file.nil? && ARGV.size == 0
- then
- warn_exit 'No query specified.',1
- end
- if query_file.nil?
- query = ARGV.shift
- if query.match(/^@/)
- query_file = query[1..-1]
- query = nil
- end
- end
-
- # --output ==> output= (non-standard)
- args={}
- case options[:output]
- when nil
- when "json","xml","text","csv","tsv"
- args['output'] = options[:output]
- when :json,:xml,:text,:csv,:tsv
- args['output'] = options[:output].to_s
- else
- warn_exit "Unrecognized output type: "+options[:output],2
- end
-
- # --accept
- # options[:accept]
-
- print "SPARQL #{service}\n" if $verbose
- #args={"output"=>"text"}
- SPARQL_query(service, query, query_file, usePOST, args)
- exit(0)
-end
-
-## -------- SPARQL Update
-
-# Update sent as a WWW form.
-def SPARQL_update_by_form(service, update, args2={})
- args = {}
- args.merge!(args2)
- headers={}
- headers.merge!($headers)
- # args? encode?
- body="update="+uri_escape(update)
- headers[$hContentType] = $mtWWWForm
- headers[$hContentLength] = body.length.to_s
- uri = URI.parse(service)
- execute_post_form(uri, headers, body)
-end
-
-# DRY - query form.
-def execute_post_form(uri, headers, body)
- request = Net::HTTP::Post.new(uri.request_uri)
- request.initialize_http_header(headers)
- request.body = body
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def SPARQL_update(service, update, args2={})
- args = {}
- args.merge!(args2)
- headers={}
- headers.merge!($headers)
- headers[$hContentType] = $mtSparqlUpdate
- uri = URI.parse(service)
- request = Net::HTTP::Post.new(uri.request_uri)
- request.initialize_http_header(headers)
- request.body = update
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def cmd_sparql_update(by_raw_post=true)
- # Share with cmd_sparql_query
- options={}
- optparse = OptionParser.new do |opts|
- opts.banner = "Usage: #{$cmd} [--file REQUEST] [--service URI] 'request' | @file"
- opts.on('--service=URI', '--server=URI', 'SPARQL endpoint') do |uri|
- options[:service]=uri
- end
- opts.on('--update=FILE', '--file=FILE', 'Take update from a file') do |file|
- options[:file]=file
- end
- options[:verbose] = false
- opts.on( '-v', '--verbose', 'Verbose' ) do
- options[:verbose] = true
- end
- opts.on( '--version', 'Print version and exit' ) do
- print "#{SOH_NAME} #{SOH_VERSION}\n"
- exit
- end
- opts.on( '-h', '--help', 'Display this screen and exit' ) do
- puts opts
- exit
- end
- end
-
- begin optparse.parse!
- rescue OptionParser::InvalidArgument => e
- warn e
- exit
- end
-
- $verbose = options[:verbose]
- $print_http = $verbose
-
- service = options[:service]
- warn_exit 'No service specified. Required --service=URI',1 if service.nil?
-
- update=nil
- update_file=options[:file]
-
- if update_file.nil? && ARGV.size == 0
- then
- warn_exit 'No update specified.',1
- end
- if update_file.nil?
- update = ARGV.shift
- if update.match(/^@/)
- update_file = update[1..-1]
- update = nil
- end
- end
-
- print "SPARQL-Update #{service}\n" if $verbose
- args={}
-
- # Reads in the file :-(
- if update.nil?
- then
- update = open(update_file, 'rb'){|f| f.read}
- else
- update = string_or_file(update)
- end
-
- if by_raw_post
- SPARQL_update(service, update, args)
- else
- SPARQL_update_by_form(service, update, args)
- end
- exit(0)
-end
-
-## -------
-
-case $cmd
-when "s-http", "sparql-http", "soh"
- $banner="#{$cmd} [get|post|put|delete] datasetURI graph [file]"
- cmd_soh
-when "s-get", "s-head", "s-put", "s-delete", "s-post"
-
- case $cmd
- when "s-get", "s-head", "s-delete"
- $banner="#{$cmd} datasetURI graph"
- when "s-put", "s-post"
- $banner="#{$cmd} datasetURI graph file"
- end
- cmd2 = $cmd.sub(/^s-/, '').upcase
- cmd_soh cmd2
-
-when "s-query", "sparql-query"
- cmd_sparql_query
-when "s-update", "sparql-update"
- cmd_sparql_update true
-when "s-update-form", "sparql-update-form"
- cmd_sparql_update false
-else
- warn_exit "Unknown: "+$cmd, 1
-end
http://git-wip-us.apache.org/repos/asf/jena/blob/5fdd2369/jena-fuseki1/s-get
----------------------------------------------------------------------
diff --git a/jena-fuseki1/s-get b/jena-fuseki1/s-get
deleted file mode 100755
index 4f6590d..0000000
--- a/jena-fuseki1/s-get
+++ /dev/null
@@ -1,713 +0,0 @@
-#!/usr/bin/env ruby
-# -*- coding: utf-8 -*-
-
-# 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.
-
-# SPARQL HTTP Update, client.
-
-require 'optparse'
-require 'net/http'
-require 'uri'
-require 'cgi'
-require 'pp'
-require 'ostruct'
-
-# ToDo
-# Allow a choice of media type for GET
-# --accept "content-type" (and abbreviations)
-# --header "Add:this"
-# --user, --password
-# Basic authentication: request.basic_auth("username", "password")
-# Follow redirects => 301: puts response["location"] # All headers are lowercase?
-
-SOH_NAME="SOH"
-SOH_VERSION="0.0.0"
-
-$proxy = ENV['http_proxy'] ? URI.parse(ENV['http_proxy']) : OpenStruct.new
-
-# What about direct naming?
-
-# Names
-$mtTurtle = 'text/turtle;charset=utf-8'
-$mtRDF = 'application/rdf+xml'
-$mtText = 'text/plain'
-$mtNTriples = 'application/n-triples'
-$mtNQuads = 'application/n-quads'
-$mtJSONLD = 'application/ld+json'
-$mtTriG = 'application/trig'
-$mtSparqlResultsX = 'application/sparql-results+xml'
-$mtSparqlResultsJ = 'application/sparql-results+json'
-$mtAppJSON = 'application/json'
-$mtAppXML = 'application/xml'
-$mtSparqlResultsTSV = 'application/sparql-results+tsv'
-$mtSparqlResultsCSV = 'application/sparql-results+csv'
-$mtSparqlUpdate = 'application/sparql-update'
-$mtWWWForm = 'application/x-www-form-urlencoded'
-$mtSparqlQuery = "application/sparql-query" ;
-
-# Global media type table.
-$fileMediaTypes = {}
-$fileMediaTypes['ttl'] = $mtTurtle
-$fileMediaTypes['n3'] = 'text/n3; charset=utf-8'
-$fileMediaTypes['nt'] = $mtText
-$fileMediaTypes['rdf'] = $mtRDF
-$fileMediaTypes['owl'] = $mtRDF
-$fileMediaTypes['nq'] = $mtNQuads
-$fileMediaTypes['trig'] = $mtTriG
-$fileMediaTypes['json-ld'] = $mtJSONLD
-$fileMediaTypes['jsonld'] = $mtJSONLD
-
-# Global charset : no entry means "don't set"
-$charsetUTF8 = 'utf-8'
-$charset = {}
-$charset[$mtTurtle] = 'utf-8'
-$charset[$mtText] = 'ascii'
-$charset[$mtTriG] = 'utf-8'
-$charset[$mtNQuads] = 'utf-8'
-
-# Headers
-
-$hContentType = 'Content-Type'
-# $hContentEncoding = 'Content-Encoding'
-$hContentLength = 'Content-Length'
-# $hContentLocation = 'Content-Location'
-# $hContentRange = 'Content-Range'
-
-$hAccept = 'Accept'
-$hAcceptCharset = 'Accept-Charset'
-$hAcceptEncoding = 'Accept-Encoding'
-$hAcceptRanges = 'Accept-Ranges'
-
-$headers = { "User-Agent" => "#{SOH_NAME}/Fuseki #{SOH_VERSION}"}
-$print_http = false
-
-# Default for GET
-# At least allow anything (and hope!)
-$accept_rdf="#{$mtTurtle} , #{$mtNTriples};q=0.9 , #{$mtRDF};q=0.8 , #{$mtJSONLD};q=0.5"
-# Datasets
-$accept_ds="#{$mtTrig} , #{$mtNQuads};q=0.9 , #{$mtJSONLD};q=0.5"
-# For SPARQL query
-$accept_results="#{$mtSparqlResultsJ} , #{$mtSparqlResultsX};q=0.9 , #{$accept_rdf}"
-
-# Accept any in case of trouble.
-$accept_rdf="#{$accept_rdf} , */*;q=0.1"
-$accept_results="#{$accept_results} , */*;q=0.1"
-
-# The media type usually forces the charset.
-$accept_charset=nil
-
-## Who we are.
-## Two styles:
-## s-query .....
-## soh query .....
-
-$cmd = File.basename($0)
-if $cmd == 'soh'
-then
- $cmd = (ARGV.size == 0) ? 'soh' : ARGV.shift
-end
-
-if ! $cmd.start_with?('s-') && $cmd != 'soh'
- $cmd = 's-'+$cmd
-end
-
-## --------
-
-def GET(dataset, graph)
- print "GET #{dataset} #{graph}\n" if $verbose
- requestURI = target(dataset, graph)
- headers = {}
- headers.merge!($headers)
- headers[$hAccept] = $accept_rdf
- headers[$hAcceptCharset] = $accept_charset unless $accept_charset.nil?
- get_worker(requestURI, headers)
-end
-
-def get_worker(requestURI, headers)
- uri = URI.parse(requestURI)
- request = Net::HTTP::Get.new(uri.request_uri)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- response_print_body(uri, request)
-end
-
-def HEAD(dataset, graph)
- print "HEAD #{dataset} #{graph}\n" if $verbose
- requestURI = target(dataset, graph)
- headers = {}
- headers.merge!($headers)
- headers[$hAccept] = $accept_rdf
- headers[$hAcceptCharset] = $accept_charset unless $accept_charset.nil?
- uri = URI.parse(requestURI)
- request = Net::HTTP::Head.new(uri.request_uri)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def PUT(dataset, graph, file)
- print "PUT #{dataset} #{graph} #{file}\n" if $verbose
- send_body(dataset, graph, file, Net::HTTP::Put)
-end
-
-def POST(dataset, graph, file)
- print "POST #{dataset} #{graph} #{file}\n" if $verbose
- send_body(dataset, graph, file, Net::HTTP::Post)
-end
-
-def DELETE(dataset, graph)
- print "DELETE #{dataset} #{graph}\n" if $verbose
- requestURI = target(dataset, graph)
- uri = URI.parse(requestURI)
- request = Net::HTTP::Delete.new(uri.request_uri)
- headers = {}
- headers.merge!($headers)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def uri_escape(string)
- CGI.escape(string)
-end
-
-def target(dataset, graph)
- return dataset+"?default" if graph == "default"
- return dataset+"?graph="+uri_escape(graph)
-end
-
-def send_body(dataset, graph, file, method)
- mt = content_type(file)
- headers = {}
- headers.merge!($headers)
- headers[$hContentType] = mt
- headers[$hContentLength] = File.size(file).to_s
- ## p headers
-
- requestURI = target(dataset, graph)
- uri = URI.parse(requestURI)
-
- request = method.new(uri.request_uri)
- request.initialize_http_header(headers)
- print_http_request(uri, request)
- request.body_stream = File.open(file)
- response_no_body(uri, request)
-end
-
-def response_no_body(uri, request)
- http = Net::HTTP::Proxy($proxy.host,$proxy.port).new(uri.host, uri.port)
- http.read_timeout = nil
- # check we can connect.
- begin http.start
- rescue Exception => e
- # puts e.message
- #puts e.backtrace.inspect
- warn_exit "Failed to connect: #{uri.host}:#{uri.port}: #{e.message}", 3
- end
- response = http.request(request)
- print_http_response(response)
- case response
- when Net::HTTPSuccess, Net::HTTPRedirection
- # OK
- when Net::HTTPNotFound
- warn_exit "404 Not found: #{uri}", 9
- #print response.body
- else
- warn_exit "#{response.code} #{response.message} #{uri}", 9
- # Unreachable
- response.error!
- end
- # NO BODY IN RESPONSE
-end
-
-def response_print_body(uri, request)
- http = Net::HTTP::Proxy($proxy.host,$proxy.port).new(uri.host, uri.port)
- http.read_timeout = nil
- # check we can connect.
- begin http.start
- rescue => e
- #puts e.backtrace.inspect
- #print e.class
- warn_exit "Failed to connect: #{uri.host}:#{uri.port}: #{e.message}", 3
- end
-
- # Add a blank line if headers were output.
- print "\n" if $http_print ;
-
- begin
- response = http.request(request) { |res|
- print_http_response(res)
- #puts res.code
- res.read_body do |segment|
- print segment
- end
- }
- case response
- when Net::HTTPSuccess, Net::HTTPRedirection
- # OK
- when Net::HTTPNotFound
- warn_exit "404 Not found: #{uri}", 9
- #print response.body
- else
- warn_exit "#{response.code}: #{uri}", 9
- # Unreachable
- response.error!
- end
- rescue EOFError => e
- warn_exit "IO Error: "+e.message, 3
- end
-end
-
-def print_http_request(uri, request)
- return unless $print_http
- #print "Request\n"
- print request.method," ",uri, "\n"
- print_headers(" ",request)
-end
-
-def print_http_response(response)
- return unless $print_http
- #print "Response\n"
- print response.code, " ", response.message, "\n"
- print_headers(" ",response)
-end
-
-def print_headers(marker, headers)
- headers.each do |k,v|
- k = k.split('-').map{|w| w.capitalize}.join('-')+':'
- printf "%s%-20s %s\n",marker,k,v
- end
-end
-
-def content_type(file)
- file =~ /\.([^.]*)$/
- ext = $1
- mt = $fileMediaTypes[ext]
- cs = $charset[mt]
- mt = mt+';charset='+cs if ! cs.nil?
- return mt
-end
-
-def charset(content_type)
- return $charset[content_type]
-end
-
-def warn_exit(msg, rc)
- warn msg
- exit rc ;
-end
-
-def parseURI(uri_string)
- begin
- return URI.parse(uri_string).to_s
- rescue URI::InvalidURIError => err
- warn_exit "Bad URI: <#{uri_string}>", 2
- end
-end
-
-## ---- Command
-
-def cmd_soh(command=nil)
- ## Command line
- options = {}
- optparse = OptionParser.new do |opts|
- # Set a banner, displayed at the top
- # of the help screen.
- case $cmd
- when "s-http", "sparql-http", "soh"
- banner="$cmd [get|post|put|delete] datasetURI graph [file]"
- when "s-get", "s-head", "s-delete"
- banner="$cmd datasetURI graph"
- end
-
- opts.banner = $banner
- # Define the options, and what they do
-
- options[:verbose] = false
- opts.on( '-v', '--verbose', 'Verbose' ) do
- options[:verbose] = true
- end
-
- options[:version] = false
- opts.on( '--version', 'Print version and exit' ) do
- print "#{SOH_NAME} #{SOH_VERSION}\n"
- exit
- end
-
- # This displays the help screen, all programs are
- # assumed to have this option.
- opts.on( '-h', '--help', 'Display this screen and exit' ) do
- puts opts
- exit
- end
- end
-
- begin optparse.parse!
- rescue OptionParser::InvalidArgument => e
- warn e
- exit
- end
-
- $verbose = options[:verbose]
- $print_http = $verbose
-
- if command.nil?
- if ARGV.size == 0
- warn "No command given: expected one of 'get', 'put', 'post', 'delete', 'query' or 'update'"
- exit 1
- end
- cmdPrint=ARGV.shift
- command=cmdPrint.upcase
- else
- cmdPrint=command
- end
-
- case command
- when "HEAD", "GET", "DELETE"
- requiredFile=false
- when "PUT", "POST"
- requiredFile=true
- when "QUERY"
- cmd_sparql_query
- when "UPDATE"
- cmd_sparql_update
- else
- warn_exit "Unknown command: #{command}", 2
- end
-
- if requiredFile
- then
- if ARGV.size != 3
- warn_exit "Required: dataset URI, graph URI (or 'default') and file", 1
- end
- else
- if ARGV.size != 2
- warn_exit "Required: dataset URI and graph URI (or 'default')", 1
- end
- end
-
- dataset=parseURI(ARGV.shift)
- # Relative URI?
- graph=parseURI(ARGV.shift)
- file=""
- if requiredFile
- then
- file = ARGV.shift if requiredFile
- if ! File.exist?(file)
- warn_exit "No such file: "+file, 3
- end
- if File.directory?(file)
- warn_exit "File is a directory: "+file, 3
- end
- end
-
- case command
- when "GET"
- GET(dataset, graph)
- when "HEAD"
- HEAD(dataset, graph)
- when "PUT"
- PUT(dataset, graph, file)
- when "DELETE"
- DELETE(dataset, graph)
- when "POST"
- POST(dataset, graph, file)
- else
- warn_exit "Internal error: Unknown command: #{cmd}", 2
- end
- exit 0
-end
-
-## --------
-def string_or_file(arg)
- return arg if ! arg.match(/^@/)
- a=(arg[1..-1])
- open(a, 'rb'){|f| f.read}
-end
-
-## -------- SPARQL Query
-
-## Choose method
-def SPARQL_query(service, query, query_file, forcePOST=false, args2={})
- if ! query_file.nil?
- query = open(query_file, 'rb'){|f| f.read}
- end
- if forcePOST || query.length >= 2*1024
- SPARQL_query_POST(service, query, args2)
- else
- SPARQL_query_GET(service, query, args2)
- end
-end
-
-## By GET
-
-def SPARQL_query_GET(service, query, args2)
- args = { "query" => query }
- args.merge!(args2)
- qs=args.collect { |k,v| "#{k}=#{uri_escape(v)}" }.join('&')
- action="#{service}?#{qs}"
- headers={}
- headers.merge!($headers)
- headers[$hAccept]=$accept_results
- get_worker(action, headers)
-end
-
-## By POST
-
-def SPARQL_query_POST(service, query, args2)
- # DRY - body/no body for each of request and response.
- post_params={ "query" => query }
- post_params.merge!(args2)
- uri = URI.parse(service)
- headers={}
- headers.merge!($headers)
- headers[$hAccept]=$accept_results
- execute_post_form_body(uri, headers, post_params)
-end
-
-def execute_post_form_body(uri, headers, post_params)
- request = Net::HTTP::Post.new(uri.request_uri)
- qs=post_params.collect { |k,v| "#{k}=#{uri_escape(v)}" }.join('&')
- headers[$hContentType] = $mtWWWForm
- headers[$hContentLength] = qs.length.to_s
- request.initialize_http_header(headers)
- request.body = qs
- print_http_request(uri, request)
- response_print_body(uri, request)
-end
-
-# Usage: -v --help --file= --query=
-def cmd_sparql_query
- options={}
- optparse = OptionParser.new do |opts|
- opts.banner = "Usage: #{$cmd} [--query QUERY] [--service URI] [--post] 'query' | @file"
- opts.on('--service=URI', '--server=URI', 'SPARQL endpoint') do |uri|
- options[:service]=uri
- end
- opts.on('--query=FILE','--file=FILE', 'Take query from a file') do |file|
- options[:file]=file
- end
- opts.on('--output=TYPE', [:json,:xml,:text,:csv,:tsv],
- 'Set the output argument') do |type|
- options[:output]=type
- end
- opts.on('--accept=TYPE', [:json,:xml,:text,:csv,:tsv],
- 'Set the accept header type') do |type|
- options[:accept]=type
- end
- options[:verbose] = false
- opts.on( '--post', 'Force use of POST' ) do
- options[:post] = true
- end
- opts.on( '-v', '--verbose', 'Verbose' ) do
- options[:verbose] = true
- end
- opts.on( '--version', 'Print version and exit' ) do
- print "#{SOH_NAME} #{SOH_VERSION}\n"
- exit
- end
- opts.on( '-h', '--help', 'Display this screen and exit' ) do
- puts opts
- exit
- end
- end
-
- begin optparse.parse!
- rescue OptionParser::InvalidArgument, OptionParser::InvalidOption => e
- warn e
- exit 1
- end
-
- $verbose = options[:verbose]
- $print_http = $verbose
- usePOST = options[:post]
-
- service = options[:service]
- warn_exit 'No service specified. Required --service=URI',1 if service.nil?
-
- # Query
- query=nil
- query_file=options[:file]
- if query_file.nil? && ARGV.size == 0
- then
- warn_exit 'No query specified.',1
- end
- if query_file.nil?
- query = ARGV.shift
- if query.match(/^@/)
- query_file = query[1..-1]
- query = nil
- end
- end
-
- # --output ==> output= (non-standard)
- args={}
- case options[:output]
- when nil
- when "json","xml","text","csv","tsv"
- args['output'] = options[:output]
- when :json,:xml,:text,:csv,:tsv
- args['output'] = options[:output].to_s
- else
- warn_exit "Unrecognized output type: "+options[:output],2
- end
-
- # --accept
- # options[:accept]
-
- print "SPARQL #{service}\n" if $verbose
- #args={"output"=>"text"}
- SPARQL_query(service, query, query_file, usePOST, args)
- exit(0)
-end
-
-## -------- SPARQL Update
-
-# Update sent as a WWW form.
-def SPARQL_update_by_form(service, update, args2={})
- args = {}
- args.merge!(args2)
- headers={}
- headers.merge!($headers)
- # args? encode?
- body="update="+uri_escape(update)
- headers[$hContentType] = $mtWWWForm
- headers[$hContentLength] = body.length.to_s
- uri = URI.parse(service)
- execute_post_form(uri, headers, body)
-end
-
-# DRY - query form.
-def execute_post_form(uri, headers, body)
- request = Net::HTTP::Post.new(uri.request_uri)
- request.initialize_http_header(headers)
- request.body = body
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def SPARQL_update(service, update, args2={})
- args = {}
- args.merge!(args2)
- headers={}
- headers.merge!($headers)
- headers[$hContentType] = $mtSparqlUpdate
- uri = URI.parse(service)
- request = Net::HTTP::Post.new(uri.request_uri)
- request.initialize_http_header(headers)
- request.body = update
- print_http_request(uri, request)
- response_no_body(uri, request)
-end
-
-def cmd_sparql_update(by_raw_post=true)
- # Share with cmd_sparql_query
- options={}
- optparse = OptionParser.new do |opts|
- opts.banner = "Usage: #{$cmd} [--file REQUEST] [--service URI] 'request' | @file"
- opts.on('--service=URI', '--server=URI', 'SPARQL endpoint') do |uri|
- options[:service]=uri
- end
- opts.on('--update=FILE', '--file=FILE', 'Take update from a file') do |file|
- options[:file]=file
- end
- options[:verbose] = false
- opts.on( '-v', '--verbose', 'Verbose' ) do
- options[:verbose] = true
- end
- opts.on( '--version', 'Print version and exit' ) do
- print "#{SOH_NAME} #{SOH_VERSION}\n"
- exit
- end
- opts.on( '-h', '--help', 'Display this screen and exit' ) do
- puts opts
- exit
- end
- end
-
- begin optparse.parse!
- rescue OptionParser::InvalidArgument => e
- warn e
- exit
- end
-
- $verbose = options[:verbose]
- $print_http = $verbose
-
- service = options[:service]
- warn_exit 'No service specified. Required --service=URI',1 if service.nil?
-
- update=nil
- update_file=options[:file]
-
- if update_file.nil? && ARGV.size == 0
- then
- warn_exit 'No update specified.',1
- end
- if update_file.nil?
- update = ARGV.shift
- if update.match(/^@/)
- update_file = update[1..-1]
- update = nil
- end
- end
-
- print "SPARQL-Update #{service}\n" if $verbose
- args={}
-
- # Reads in the file :-(
- if update.nil?
- then
- update = open(update_file, 'rb'){|f| f.read}
- else
- update = string_or_file(update)
- end
-
- if by_raw_post
- SPARQL_update(service, update, args)
- else
- SPARQL_update_by_form(service, update, args)
- end
- exit(0)
-end
-
-## -------
-
-case $cmd
-when "s-http", "sparql-http", "soh"
- $banner="#{$cmd} [get|post|put|delete] datasetURI graph [file]"
- cmd_soh
-when "s-get", "s-head", "s-put", "s-delete", "s-post"
-
- case $cmd
- when "s-get", "s-head", "s-delete"
- $banner="#{$cmd} datasetURI graph"
- when "s-put", "s-post"
- $banner="#{$cmd} datasetURI graph file"
- end
- cmd2 = $cmd.sub(/^s-/, '').upcase
- cmd_soh cmd2
-
-when "s-query", "sparql-query"
- cmd_sparql_query
-when "s-update", "sparql-update"
- cmd_sparql_update true
-when "s-update-form", "sparql-update-form"
- cmd_sparql_update false
-else
- warn_exit "Unknown: "+$cmd, 1
-end