You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2013/07/09 11:50:45 UTC

[04/41] - moved SNORQL to WebJar - moved CodeMirror to WebJar - moved Sgvizler to WebJar - cleaned up uses of non-webjar jquery and jquery-ui - configured YUI compressor for the above packages in build

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/admin/snorql/snorql.js
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/snorql.js b/platform/marmotta-sparql/src/main/resources/web/admin/snorql/snorql.js
deleted file mode 100755
index 620fa1e..0000000
--- a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/snorql.js
+++ /dev/null
@@ -1,591 +0,0 @@
-/*
- * 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.
- */
-var snorql = new Snorql();
-
-String.prototype.trim = function () {
-    return this.replace(/^\s*/, "").replace(/\s*$/, "");
-}
-
-String.prototype.startsWith = function(str) {
-	return (this.match("^"+str) == str);
-}
-
-function Snorql() {
-    // modify this._endpoint to point to your SPARQL endpoint
-    this._endpoint = _BASIC_URL + 'sparql/select';
-    // modify these to your liking
-    this._poweredByLink = 'http://marmotta.incubator.apache.org';
-    this._poweredByLabel = 'Snorql & Apache Marmotta';
-    this._enableNamedGraphs = false;
-
-    this._browserBase = null;
-    this._namespaces = {};
-    this._graph = null;
-    this._xsltDOM = null;
-
-    this.start = function() {
-        // TODO: Extract a QueryType class
-        this.setBrowserBase(document.location.href.replace(/\?.*/, ''));
-        this._displayEndpointURL();
-        //this._displayPoweredBy();
-        this.updateOutputMode();
-        var match = document.location.href.match(/\?(.*)/);
-        var queryString = match ? match[1] : '';
-        if (!queryString) {
-            document.getElementById('querytext').value = 'SELECT * WHERE {\n  ?s ?p ?o\n}\nLIMIT 10';
-            this._updateGraph(null, false);
-            return;
-        }
-        
-        var graph = queryString.match(/graph=([^&]*)/);
-        graph = graph ? decodeURIComponent(graph[1]) : null;
-        this._updateGraph(graph, false);
-        
-        var browse = queryString.match(/browse=([^&]*)/);
-        if (browse) {
-	        if (browse[1] == 'classes') {
-	            var resultTitle = 'List of all classes:';
-	            var query = 'SELECT DISTINCT ?class\n' +
-	                    'WHERE { [] a ?class }\n' +
-	                    'ORDER BY ?class';
-	        } else if (browse[1] == 'properties') {
-	            var resultTitle = 'List of all properties:';
-	            var query = 'SELECT DISTINCT ?property\n' +
-	                    'WHERE { [] ?property [] }\n' +
-	                    'ORDER BY ?property';
-	        } else if (browse[1] == 'graphs') {
-	            var resultTitle = 'List of all named graphs:';
-	            var query = 'SELECT DISTINCT ?namedgraph ?label\n' +
-	                    'WHERE {\n' +
-	                    '  GRAPH ?namedgraph { ?s ?p ?o }\n' +
-	                    '  OPTIONAL { ?namedgraph rdfs:label ?label }\n' +
-	                    '}\n' +
-	                    'ORDER BY ?namedgraph';
-	        }
-        }
-        
-        var properties = queryString.match(/property=([^&]*)/);
-        if (properties) {
-            var resultTitle = 'All uses of property ' + decodeURIComponent(properties[1]) + ':';
-            var query = 'SELECT DISTINCT ?resource ?value\n' +
-                    'WHERE { ?resource <' + decodeURIComponent(properties[1]) + '> ?value }\n' +
-                    'ORDER BY ?resource ?value';
-        }
-        
-        var classes = queryString.match(/class=([^&]*)/);
-        if (classes) {
-            var resultTitle = 'All instances of class ' + decodeURIComponent(classes[1]) + ':';
-            var query = 'SELECT DISTINCT ?instance\n' +
-                    'WHERE { ?instance a <' + decodeURIComponent(classes[1]) + '> }\n' +
-                    'ORDER BY ?instance';
-        }
-        
-        var describe = queryString.match(/describe=([^&]*)/);
-        if (describe) {
-            var resultTitle = 'Description of ' + decodeURIComponent(describe[1]) + ':';
-            var query = 'SELECT DISTINCT ?property ?hasValue ?isValueOf\n' +
-                    'WHERE {\n' +
-                    '  { <' + decodeURIComponent(describe[1]) + '> ?property ?hasValue }\n' +
-                    '  UNION\n' +
-                    '  { ?isValueOf ?property <' + decodeURIComponent(describe[1]) + '> }\n' +
-                    '}\n' +
-                    'ORDER BY (!BOUND(?hasValue)) ?property ?hasValue ?isValueOf';
-        }
-        
-        var queryMatch = queryString.match(/query=([^&]*)/);
-        if (queryMatch) {
-        	var resultTitle = 'SPARQL results:';
-        	var query = this._betterUnescape(queryMatch[1]);
-        
-        }
-        
-        var prefixes = this._getPrefixes();
-        if (queryString.match(/prefixes=/)) {
-        	prefixes = this._betterUnescape(queryString.match(/prefixes=([^&]*)/)[1]);
-        }
-        
-        var querytext = prefixes + " " + query;
-        document.getElementById('querytext').value = query;
-        this.displayBusyMessage();
-        var service = new SPARQL.Service(this._endpoint);
-        if (this._graph) {
-            service.addDefaultGraph(this._graph);
-        }
-
-        // AndyL changed MIME type and success callback depending on query form...
-        var dummy = this;
-
-   	    var exp = /^\s*(?:PREFIX\s+\w*:\s+<[^>]*>\s*)*(\w+)\s*.*/i;
-   	    var match = exp.exec(query);
-   	    if (match) {
-	        if (match[1].toUpperCase() == 'ASK') {
-	        	service.setOutput('boolean');
-	        	var successFunc = function(value) {
-	                dummy.displayBooleanResult(value, resultTitle);
-	            };
-	        } else if (match[1].toUpperCase() == 'CONSTRUCT' || match[1].toUpperCase() == 'DESCRIBE'){ // construct describe
-	    		service.setOutput('rdf'); // !json
-	    		var successFunc = function(model) {
-	                dummy.displayRDFResult(model, resultTitle);
-	            };
-	        } else {
-	        	service.setRequestHeader('Accept', 'application/sparql-results+json,*/*');
-	        	service.setOutput('json');
-	        	var successFunc = function(json) {
-	        		dummy.displayJSONResult(json, resultTitle);
-	        	};
-	        }
-   	    }
-
-        service.query(querytext, {
-            success: successFunc,
-            failure: function(report) {
-                var message = report.responseText.match(/<pre>([\s\S]*)<\/pre>/);
-                if (message) {
-                    dummy.displayErrorMessage(message[1]);
-                } else {
-                    dummy.displayErrorMessage(report.responseText);
-                }
-            }
-        });
-    }
-
-    this.setBrowserBase = function(url) {
-        this._browserBase = url;
-    }
-
-    this._displayEndpointURL = function() {
-    	var title = document.createElement("span");
-    	title.innerHTML = 'Querying <a href="' + this._endpoint + '">' + this._endpoint + '</a>';
-        this._display(title, 'title');
-        document.title = "Querying " + this._endpoint;
-    }
-
-    this._displayPoweredBy = function() {
-        $('poweredby').href = this._poweredByLink;
-        $('poweredby').update(this._poweredByLabel);
-    }
-
-    this.setNamespaces = function(namespaces) {
-        this._namespaces = namespaces;
-        var prefixes = this._getPrefixes();
-        document.getElementById('prefixes').value = prefixes;
-        this._display(document.createTextNode(prefixes), 'prefixestext');
-    }
-
-    this.switchToGraph = function(uri) {
-        this._updateGraph(uri, true);
-    }
-
-    this.switchToDefaultGraph = function() {
-        this._updateGraph(null, true);
-    }
-
-    this._updateGraph = function(uri, effect) {
-        if (!this._enableNamedGraphs) {
-            $('default-graph-section').hide();
-            $('named-graph-section').hide();
-            $('browse-named-graphs-link').hide();
-            return;
-        }
-        var changed = (uri != this._graph);
-        this._graph = uri;
-        var el = document.getElementById('graph-uri');
-        el.disabled = (this._graph == null);
-        el.value = this._graph;
-        if (this._graph == null) {
-            var show = 'default-graph-section';
-            var hide = 'named-graph-section';
-            $$('a.graph-link').each(function(link) {
-                match = link.href.match(/^(.*)[&?]graph=/);
-                if (match) link.href = match[1];
-            });
-        } else {
-            var show = 'named-graph-section';
-            var hide = 'default-graph-section';
-            $('selected-named-graph').update(this._graph);
-            var uri = this._graph;
-            $$('a.graph-link').each(function(link) {
-                match = link.href.match(/^(.*)[&?]graph=/);
-                if (!match) link.href = link.href + '&graph=' + uri;
-            });
-        }
-        $(hide).hide();
-        $(show).show();
-        if (effect && changed) {
-            new Effect.Highlight(show,
-                {startcolor: '#ffff00', endcolor: '#ccccff', resotrecolor: '#ccccff'});
-        }
-        $('graph-uri').disabled = (this._graph == null);
-        $('graph-uri').value = this._graph;
-    }
-
-    this.updateOutputMode = function() {
-        if (this._xsltDOM == null) {
-            this._xsltDOM = document.getElementById('xsltinput');
-        }
-        var el = document.getElementById('xsltcontainer');
-        while (el.childNodes.length > 0) {
-            el.removeChild(el.firstChild);
-        }
-        if (this._selectedOutputMode() == 'xslt') {
-            el.appendChild(this._xsltDOM);
-        }
-    }
-
-    this.resetQuery = function() {
-        document.location = this._browserBase;
-    }
-
-    this.submitQuery = function() {
-        var mode = this._selectedOutputMode();
-        if (mode == 'browse') {
-            document.getElementById('queryform').action = this._browserBase;
-        } else {
-            document.getElementById('queryform').action = this._endpoint;
-        }
-        document.getElementById('query').value = document.getElementById('querytext').value;
-        document.getElementById('jsonoutput').disabled = (mode != 'json');
-        if(mode == 'html') {
-           document.getElementById('jsonoutput').disabled = false;
-           document.getElementById('jsonoutput').value = 'html';
-        } else if(mode == 'csv') {
-            document.getElementById('jsonoutput').disabled = false;
-            document.getElementById('jsonoutput').value = 'csv';
-        } else if(mode == 'xml') {
-            document.getElementById('jsonoutput').disabled = false;
-            document.getElementById('jsonoutput').value = 'xml';
-        } else {
-           document.getElementById('jsonoutput').value = 'json';
-        }
-        document.getElementById('stylesheet').disabled = (mode != 'xslt' || !document.getElementById('xsltstylesheet').value);
-        if (mode == 'xslt') {
-            document.getElementById('stylesheet').value = document.getElementById('xsltstylesheet').value;
-        }
-        document.getElementById('queryform').submit();
-    }
-
-    this.displayBusyMessage = function() {
-        var busy = document.createElement('div');
-        busy.className = 'busy';
-        busy.appendChild(document.createTextNode('Executing query ...'));
-        this._display(busy, 'result');
-    }
-
-    this.displayErrorMessage = function(message) {
-        var pre = document.createElement('pre');
-        pre.innerHTML = message;
-        this._display(pre, 'result');
-    }
-
-    this.displayBooleanResult = function(value, resultTitle) {
-        var div = document.createElement('div');
-        var title = document.createElement('h2');
-        title.appendChild(document.createTextNode(resultTitle));
-        div.appendChild(title);
-        if (value)
-        	div.appendChild(document.createTextNode("TRUE"));
-        else
-        	div.appendChild(document.createTextNode("FALSE"));
-        this._display(div, 'result');
-        this._updateGraph(this._graph); // refresh links in new result
-    }
-    
-    this.displayRDFResult = function(model, resultTitle) {
-        var div = document.createElement('div');
-        var title = document.createElement('h2');
-        title.appendChild(document.createTextNode(resultTitle));
-        div.appendChild(title);
-        div.appendChild(new RDFXMLFormatter(model));
-        this._display(div, 'result');
-        this._updateGraph(this._graph); // refresh links in new result - necessary for boolean?
-    }
-
-    this.displayCSVResult = function(model, resultTitle) {
-        var div = document.createElement('div');
-        var title = document.createElement('h2');
-        title.appendChild(document.createTextNode(resultTitle));
-        div.appendChild(title);
-        div.appendChild(new RDFCSVFormatter(model));
-        this._display(div, 'result');
-        this._updateGraph(this._graph); // refresh links in new result - necessary for boolean?
-    }
-
-    this.displayJSONResult = function(json, resultTitle) {
-        var div = document.createElement('div');
-        var title = document.createElement('h2');
-        title.appendChild(document.createTextNode(resultTitle));
-        div.appendChild(title);
-        if (json.results.bindings.length == 0) {
-            var p = document.createElement('p');
-            p.className = 'empty';
-            p.appendChild(document.createTextNode('[no results]'));
-            div.appendChild(p);
-        } else {
-            div.appendChild(new SPARQLResultFormatter(json, this._namespaces).toDOM());
-        }
-        this._display(div, 'result');
-        this._updateGraph(this._graph); // refresh links in new result
-    }
-
-    this._display = function(node, whereID) {
-        var where = document.getElementById(whereID);
-        if(whereID=='result')where.style.display='block';
-        if (!where) {
-            alert('ID not found: ' + whereID);
-            return;
-        }
-        while (where.firstChild) {
-            where.removeChild(where.firstChild);
-        }
-        if (node == null) return;
-        where.appendChild(node);
-    }
-
-    this._selectedOutputMode = function() {
-        return document.getElementById('selectoutput').value;
-    }
-
-    this._getPrefixes = function() {
-        prefixes = '';
-        for (prefix in this._namespaces) {
-            var uri = this._namespaces[prefix];
-            prefixes = prefixes + 'PREFIX ' + prefix + ': <' + uri + '>\n';
-        }
-        return prefixes;
-    }
-
-    this._betterUnescape = function(s) {
-        return unescape(s.replace(/\+/g, ' '));
-    }
-}
-
-/*
- * RDFXMLFormatter
- * 
- * maybe improve...
- */
-function RDFXMLFormatter(string) {
-	var pre = document.createElement('pre');
-	pre.appendChild(document.createTextNode(string));
-	return pre;
-}
-
-function RDFCSVFormatter(string) {
-    var pre = document.createElement('pre');
-    pre.appendChild(document.createTextNode(string));
-    return pre;
-}
-
-
-/*
-===========================================================================
-SPARQLResultFormatter: Renders a SPARQL/JSON result set into an HTML table.
-
-var namespaces = { 'xsd': '', 'foaf': 'http://xmlns.com/foaf/0.1' };
-var formatter = new SPARQLResultFormatter(json, namespaces);
-var tableObject = formatter.toDOM();
-*/
-function SPARQLResultFormatter(json, namespaces) {
-    this._json = json;
-    this._variables = this._json.head.vars;
-    this._results = this._json.results.bindings;
-    this._namespaces = namespaces;
-
-    this.toDOM = function() {
-        var table = document.createElement('table');
-        table.className = 'queryresults';
-        table.appendChild(this._createTableHeader());
-        for (var i = 0; i < this._results.length; i++) {
-            table.appendChild(this._createTableRow(this._results[i], i));
-        }
-        return table;
-    }
-
-    // TODO: Refactor; non-standard link makers should be passed into the class by the caller
-    this._getLinkMaker = function(varName) {
-        if (varName == 'property') {
-            return function(uri) { return '?property=' + encodeURIComponent(uri); };
-        } else if (varName == 'class') {
-            return function(uri) { return '?class=' + encodeURIComponent(uri); };
-        } else {
-            return function(uri) { return '?describe=' + encodeURIComponent(uri); };
-        }
-    }
-
-    this._createTableHeader = function() {
-        var tr = document.createElement('tr');
-        var hasNamedGraph = false;
-        for (var i = 0; i < this._variables.length; i++) {
-            var th = document.createElement('th');
-            th.appendChild(document.createTextNode(this._variables[i]));
-            tr.appendChild(th);
-            if (this._variables[i] == 'namedgraph') {
-                hasNamedGraph = true;
-            }
-        }
-        if (hasNamedGraph) {
-            var th = document.createElement('th');
-            th.appendChild(document.createTextNode(' '));
-            tr.insertBefore(th, tr.firstChild);
-        }
-        return tr;
-    }
-
-    this._createTableRow = function(binding, rowNumber) {
-        var tr = document.createElement('tr');
-        if (rowNumber % 2) {
-            tr.className = 'odd';
-        } else {
-            tr.className = 'even';
-        }
-        var namedGraph = null;
-        for (var i = 0; i < this._variables.length; i++) {
-            var varName = this._variables[i];
-            td = document.createElement('td');
-            td.appendChild(this._formatNode(binding[varName], varName));
-            tr.appendChild(td);
-            if (this._variables[i] == 'namedgraph') {
-                namedGraph = binding[varName];
-            }
-        }
-        if (namedGraph) {
-            var link = document.createElement('a');
-            link.href = 'javascript:snorql.switchToGraph(\'' + namedGraph.value + '\')';
-            link.appendChild(document.createTextNode('Switch'));
-            var td = document.createElement('td');
-            td.appendChild(link);
-            tr.insertBefore(td, tr.firstChild);
-        }
-        return tr;
-    }
-
-    this._formatNode = function(node, varName) {
-        if (!node) {
-            return this._formatUnbound(node, varName);
-        }
-        if (node.type == 'uri') {
-            return this._formatURI(node, varName);
-        }
-        if (node.type == 'bnode') {
-            return this._formatBlankNode(node, varName);
-        }
-        if (node.type == 'literal') {
-            return this._formatPlainLiteral(node, varName);
-        }
-        if (node.type == 'typed-literal') {
-            return this._formatTypedLiteral(node, varName);
-        }
-        return document.createTextNode('???');
-    }
-
-    this._formatURI = function(node, varName) {
-        var span = document.createElement('span');
-        span.className = 'uri';
-        var a = document.createElement('a');
-        a.href = this._getLinkMaker(varName)(node.value);
-        a.title = '<' + node.value + '>';
-        a.className = 'graph-link';
-        var qname = this._toQName(node.value);
-        if (qname) {
-            a.appendChild(document.createTextNode(qname));
-            span.appendChild(a);
-        } else {
-            a.appendChild(document.createTextNode(node.value));
-            span.appendChild(document.createTextNode('<'));
-            span.appendChild(a);
-            span.appendChild(document.createTextNode('>'));
-        }
-        match = node.value.match(/^(https?|ftp|mailto|irc|gopher|news):/);
-        if (match) {
-            span.appendChild(document.createTextNode(' '));
-            var externalLink = document.createElement('a');
-            externalLink.href = node.value;
-            img = document.createElement('img');
-            img.src = 'link.png';
-            img.alt = '[' + match[1] + ']';
-            img.title = 'Go to URI directly';
-            externalLink.appendChild(img);
-            span.appendChild(externalLink);
-        }
-        return span;
-    }
-
-    this._formatPlainLiteral = function(node, varName) {
-        var text = '"' + node.value + '"';
-        if (node['xml:lang']) {
-            text += '@' + node['xml:lang'];
-        }
-        return document.createTextNode(text);
-    }
-
-    this._formatTypedLiteral = function(node, varName) {
-        var text = '"' + node.value + '"';
-        if (node.datatype) {
-            text += '^^' + this._toQNameOrURI(node.datatype);
-        }
-        if (this._isNumericXSDType(node.datatype)) {
-            var span = document.createElement('span');
-            span.title = text;
-            span.appendChild(document.createTextNode(node.value));
-            return span;
-        }
-        return document.createTextNode(text);
-    }
-
-    this._formatBlankNode = function(node, varName) {
-        return document.createTextNode('_:' + node.value);
-    }
-
-    this._formatUnbound = function(node, varName) {
-        var span = document.createElement('span');
-        span.className = 'unbound';
-        span.title = 'Unbound'
-        span.appendChild(document.createTextNode('-'));
-        return span;
-    }
-
-    this._toQName = function(uri) {
-        for (prefix in this._namespaces) {
-            var nsURI = this._namespaces[prefix];
-            if (uri.indexOf(nsURI) == 0) {
-                return prefix + ':' + uri.substring(nsURI.length);
-            }
-        }
-        return null;
-    }
-
-    this._toQNameOrURI = function(uri) {
-        var qName = this._toQName(uri);
-        return (qName == null) ? '<' + uri + '>' : qName;
-    }
-
-    this._isNumericXSDType = function(datatypeURI) {
-        for (i = 0; i < this._numericXSDTypes.length; i++) {
-            if (datatypeURI == this._xsdNamespace + this._numericXSDTypes[i]) {
-                return true;
-            }
-        }
-        return false;
-    }
-    this._xsdNamespace = 'http://www.w3.org/2001/XMLSchema#';
-    this._numericXSDTypes = ['long', 'decimal', 'float', 'double', 'int',
-        'short', 'byte', 'integer', 'nonPositiveInteger', 'negativeInteger',
-        'nonNegativeInteger', 'positiveInteger', 'unsignedLong',
-        'unsignedInt', 'unsignedShort', 'unsignedByte'];
-}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/admin/snorql/sparql.js
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/sparql.js b/platform/marmotta-sparql/src/main/resources/web/admin/snorql/sparql.js
deleted file mode 100755
index 2b34538..0000000
--- a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/sparql.js
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- * 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.
- */
-/**********************************************************
-  Copyright (c) 2006, 2007
-    Lee Feigenbaum ( lee AT thefigtrees DOT net )
-	Elias Torres   ( elias AT torrez DOT us )
-    Wing Yung      ( wingerz AT gmail DOT com )
-  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.
-**********************************************************/
-
-/**
- * Example client interactions
- *
- 
- 	var sparqler = new SPARQL.Service("http://sparql.org/sparql");
-	sparqler.addDefaultGraph("http://thefigtrees.net/lee/ldf-card"); // inherited by all (future) queries
-	sparqler.addNamedGraph("http://torrez.us/elias/foaf.rdf");
-	sparqler.setPrefix("foaf", "http://xmlns.com/foaf/0.1/"); // inherited by all (future) queries
-	sparqler.setPrefix("rdf", "http://xmlns.com/foaf/0.1/");
-	
-	sparqler.setRequestHeader("Authentication", "Basic: " + basicAuthString);
-	
-	//sparqler.wantOutputAs("application/json"); // for now we only do JSON
-
-	var query = sparqler.createQuery();
-	query.addDefualtGraph(...) query.addNamedGraph(...) query.setPrefix(...) query.setRequestHeader(...) // this query only
-
-	// query forms:
-
-	// passes standard JSON results object to success callback
-	query.setPrefix("ldf", "http://thefigtrees.net/lee/ldf-card#");
-	query.query("SELECT ?who ?mbox WHERE { ldf:LDF foaf:knows ?who . ?who foaf:mbox ?mbox }",
-		{failure: onFailure, success: function(json) { for (var x in json.head.vars) { ... } ...}}
-	);
-
-	// passes boolean value to success callback
-	query.ask("ASK ?person WHERE { ?person foaf:knows [ foaf:name "Dan Connolly" ] }",
-		{failure: onFailure, success: function(bool) { if (bool) ... }}
-	); 
-
-	// passes a single vector (array) of values representing a single column of results to success callback
-	query.setPrefix("ldf", "http://thefigtrees.net/lee/ldf-card#");
-	var addresses = query.selectValues("SELECT ?mbox WHERE { _:someone foaf:mbox ?mbox }",
-		{failure: onFailure, success: function(values) { for (var i = 0; i < values.length; i++) { ... values[i] ...} } }
-	); 
-
-	// passes a single value representing a single row of a single column (variable) to success callback
-	query.setPrefix("ldf", "http://thefigtrees.net/lee/ldf-card#");
-	var myAddress = query.selectSingleValue("SELECT ?mbox WHERE {ldf:LDF foaf:mbox ?mbox }",
-		{failure: onFailure, success: function(value) { alert("value is: " + value); } }
-	); 
-	
-	// shortcuts for all of the above (w/o ability to set any query-specific graphs or prefixes)
-	sparqler.query(...) sparqler.ask(...) sparqler.selectValues(...) sparqler.selectSingleValue(...)
- 
-
- */
-
-var SPARQL  = {}; // SPARQL namespace
-
-
-/**
- * Both SPARQL service objects and SPARQL query objects receive one query utility method
- * per entry in this dictionary. The key is the name of the method, and the value is a function
- * that transforms the standard JSON output into a more useful form. The return value of a
- * transformation function is passed into any 'success' callback function provided when the query
- * is issued. The following transformations are included:
- *   + query -- identity transform; returns the JSON structure unchanged
- *   + ask -- for ASK queries; returns a boolean value indicating the answer to the query
- *   + selectValues -- for SELECT queries with a single variable; returns an array containing
- *       the answers to the query
- *   + selectSingleValue -- for SELECT queries returning one column with one row; returns the
- *       value in the first (and presumably, only) cell in the resultset
- *   + selectValueArrays -- for SELECT queries returning independent columns; returns a hash
- *       keyed on variable name with values as arrays of answers for that variable. Useful
- *       for UNION queries.
- *   Note that all of the transformations that return values directly lose any type information
- *   and the ability to distinguish between URIs, blank nodes, and literals.
- */
-SPARQL._query_transformations = {
-	query: function (o) { return o; },
-	ask: function (o) { return o["boolean"]; },
-	selectValues: function (o) {
-		var v = o.head.vars[0]; // assume one variable
-		var values = [];
-		for (var i = 0; i < o.results.bindings.length; i++)
-			values.push(o.results.bindings[i][v].value);
-		return values;
-	},
-	selectSingleValue: function(o) { return o.results.bindings[0][o.head.vars[0]].value; },
-	selectValueArrays: function(o) {
-		// factor by value (useful for UNION queries)
-		var ret = {};
-		for (var i = 0; i < o.head.vars.length; i++)
-			ret[o.head.vars[i]] = [];
-		for (var i = 0; i < o.results.bindings.length; i++)
-			for (var v in o.results.bindings[i])
-				if (ret[v] instanceof Array) ret[v].push(o.results.bindings[i][v].value);
-		return ret;
-	},
-    selectValueHashes: function(o) {
-        var hashes = [];
-        for (var i = 0; i < o.results.bindings.length; i++) {
-            var hash = {};
-            for (var v in o.results.bindings[i])
-                hash[v] = o.results.bindings[i][v].value;
-            hashes.push(hash);
-        }
-        return hashes;
-    }
-};
-
-SPARQL.statistics = {
-	queries_sent : 0,
-	successes    : 0,
-	failures     : 0
-};
-
-// A SPARQL service represents a single endpoint which implements the HTTP (GET or POST) 
-// bindings of the SPARQL Protocol. It provides convenience methods to set dataset and
-// prefix options for all queries created for this endpoint.
-SPARQL.Service = function(endpoint) {
-	//---------------
-	// private fields
-	var _endpoint = endpoint;
-	var _default_graphs = [];
-	var _named_graphs = [];
-	var _prefix_map = {};
-    var _method = 'POST';
-	var _output = 'json';
-	var _max_simultaneous = 0;
-	var _request_headers = {};
-
-	//----------
-	// accessors
-	this.endpoint = function() { return _endpoint; };
-	this.defaultGraphs = function() { return _default_graphs; };
-	this.namedGraphs = function() { return _named_graphs; };
-	this.prefixes = function() { return _prefix_map; };
-    this.method = function() { return _method; };
-    this.output = function() { return _output; };
-	this.maxSimultaneousQueries = function() { return _max_simultaneous; };
-	this.requestHeaders = function() { return _request_headers; };
-	
-	//---------
-	// mutators
-	function _add_graphs(toAdd, arr) {
-		if (toAdd instanceof Array)
-			for (var i = 0; i < toAdd.length; i++) arr.push(toAdd[i]);
-		else
-			arr.push(toAdd);
-	}
-	this.addDefaultGraph = function(g) { _add_graphs(g, this.defaultGraphs()); };
-	this.addNamedGraph = function(g) { _add_graphs(g, this.namedGraphs()); };
-	this.setPrefix = function(p, u) { this.prefixes()[p] = u; };
-	this.createQuery = function(p) { return new SPARQL.Query(this, p); };
-    this.setMethod = function(m) {
-        if (m != 'GET' && m != 'POST') throw("HTTP methods other than GET and POST are not supported.");
-        _method = m;
-    };
-	this.setOutput = function(o) { _output = o; };
-	this.setMaxSimultaneousQueries = function(m) { _max_simultaneous = m; };
-	this.setRequestHeader = function(h, v) { _request_headers[h] = v; };
-	
-	//---------------
-	// protected methods (should only be called within this module
-	this._active_queries = 0;
-	this._queued_queries = [];
-	this._next_in_queue  = 0;
-	this._canRun = function() { return this.maxSimultaneousQueries() <= 0 || this._active_queries < this.maxSimultaneousQueries();};
-	this._queue  = function(q,f, p) { 
-		if (!p) p = 0; 
-		if (p > 0) {
-			for (var i = 0; i < this._queued_queries.length; i++) {
-				if (this._queued_queries[i] != null && this._queued_queries[i][2] < p) {
-					this._queued_queries.splice(i, 0, [q, f, p]);
-					return;
-				}
-			}
-		}
-		this._queued_queries.push([q,f,p]); 
-	};
-	this._markRunning = function(q) { this._active_queries++; };
-	this._markDone    = function(q) { 
-		this._active_queries--; 
-		//document.getElementById('log').innerHTML+="query done. " + this._active_queries + " queries still active.<br>";
-		if (this._queued_queries[this._next_in_queue] != null && this._canRun()) {
-			var a = this._queued_queries[this._next_in_queue];
-			this._queued_queries[this._next_in_queue++] = null;
-			// a[0] is query object, a[1] is function to run query
-			//document.getElementById('log').innerHTML += "running query from Q<br>";
-			a[1]();
-		}
-	};
-
-	//---------------
-	// public methods
-
-	// use our varied transformations to create the various shortcut methods of actually 
-	// issuing queries without explicitly creating a query object
-	for (var query_form in SPARQL._query_transformations) {
-		// need the extra function to properly scope query_form (qf)
-		this[query_form] = (function(qf) {
-			return function(queryString, callback) {
-				var q = this.createQuery();
-				q._doQuery(queryString, callback, SPARQL._query_transformations[qf]);
-			};
-		})(query_form);
-	}
-	
-	//------------
-	// constructor
-    
-	if (!_endpoint)
-		return null;
-	
-	return this;
-}
-
-/**
- * A SPARQL query object should be created using the createQuery method of a SPARQL
- * service object. It allows prefixes and datasets to be defined specifically for
- * a single query, and provides introspective methods to see the query string and the
- * full (HTTP GET) URL of the query.
- */
-SPARQL.Query = function(service, priority) {
-	//---------------
-	// private fields
-	var _conn = null;
-	var _service = service;
-	var _default_graphs = clone_obj(service.defaultGraphs()); // prevent future updates from affecting us
-	var _named_graphs = clone_obj(service.namedGraphs());
-	var _prefix_map = clone_obj(service.prefixes());
-	var _user_query = ''; // doesn't include auto-generated prefix declarations
-    var _method = service.method();
-	var _output = service.output();
-	var _priority = priority || 0;
-	var _request_headers = clone_obj(service.requestHeaders());
-
-	//------------------
-	// private functions
-	function _create_json(text) {
-		if (!text)
-			return null;
-		// make sure this is safe JSON
-		// see: http://www.ietf.org/internet-drafts/draft-crockford-jsonorg-json-03.txt
-
-		// (1) strip out quoted strings
-		var no_strings = text.replace(/"(\\.|[^"\\])*"/g, '');
-		// (2) make sure that all the characters are explicitly part of the JSON grammar
-		// (in particular, note as discussed in the IETF submission, there are no assignments
-		//  or function invocations allowed by this reg. exp.)
-		var hasBadCharacter = /[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(no_strings);
-		// (3) evaluate the JSON string, returning its contents
-		if (!hasBadCharacter) {
-			try {
-				return eval('(' + text + ')');
-			} catch (e) {
-				return null;
-			}
-		}
-		return null;
-	}
-
-	function clone_obj(o) {
-		var o2 = o instanceof Array ? [] : {};
-		for(var x in o) {o2[x] = o[x];}
-		return o2;
-	}
-
-	//----------------
-	// private methods
-	this._doCallback = function(cb, which, arg) {
-		//document.getElementById('log').innerHTML += "_doCallback ... <br>";
-		var user_data = "argument" in cb ? cb.argument : null;
-		if (which in cb) {
-			if (cb.scope) {
-                cb[which].apply(cb.scope, [arg, user_data]);
-			} else {
-				cb[which](arg, user_data);
-			}
-		}
-	}
-
-	this._queryFailure = function(xhr, arg) {
-		SPARQL.statistics.failures++;
-		_service._markDone(this);
-		this._doCallback(arg.callback, 'failure', xhr /* just pass through the connection response object */);
-	};
-	this._querySuccess = function(xhr, arg) {
-        //alert(xhr.responseText);
-		SPARQL.statistics.successes++;
-		_service._markDone(this);
-		this._doCallback(arg.callback, 'success', arg.transformer(
-			_output == 'json' ? _create_json(xhr.responseText) : xhr.responseText
-		));
-	};
-
-	function getXmlHttpRequest(url) {
-		// right now, this only does Firefox (Opera? Safari?)
-		return new XMLHttpRequest();
-	}
-
-	this._doQuery = function(queryString, callback, transformer) {
-		_user_query = queryString;
-		if (_service._canRun()) {
-			try {
-				if (_method != 'POST' && _method != 'GET')
-					throw("HTTP methods other than GET and POST are not supported.");
-
-				var url = _method == 'GET' ? this.queryUrl() : this.service().endpoint();
-				var xhr = getXmlHttpRequest(url);
-				var content = null;
-
-				try {
-                    if (!document.domain || ((url.match(/^http:\/\//) && url.slice(7, document.domain.length + 7) != document.domain || url.match(/^https:\/\//) && url.slice(8, document.domain.length + 8) != document.domain) && window.netscape && netscape.security && netscape.security.PrivilegeManager)) {
-						netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead");
-						netscape.security.PrivilegeManager.enablePrivilege( "UniversalXPConnect");
-					}
-				} catch(e) {
-					alert("Cross-site requests prohibited. You will only be able to SPARQL the origin site: " + e);
-                    return;
-				}
-
-				xhr.open(_method, url, true /* async */);
-
-				// set the headers, including the content-type for POSTed queries
-				for (var header in this.requestHeaders())
-                    if (typeof(this.requestHeaders()[header]) != "function")
-	    				xhr.setRequestHeader(header, this.requestHeaders()[header]);
-				if (_method == 'POST') {
-					xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-					content = this.queryParameters();
-				}
-
-				SPARQL.statistics.queries_sent++;
-				_service._markRunning(this);
-
-				var callbackData = {
-					scope: this,
-					success: this._querySuccess,
-					failure: this._queryFailure,
-					argument: {
-						transformer: transformer,
-						callback: callback
-					}
-				};
-
-				// I've seen some strange race-condition behavior (strange since normally
-				// JS is single-threaded, so synchronization conditions don't occur barring
-				// reentrancy) with onreadystatechange. Instead, we poll asynchronously to
-				// determine when the request is done.
-				var token = window.setInterval(
-					function () {
-						if (xhr.readyState == 4) { // ready!
-							// clear this handler
-							window.clearInterval(token);
-							// we check the status to know which callback to call
-							if (xhr.status >= 200 && xhr.status < 300)
-								callbackData.success.apply(callbackData.scope, [xhr, callbackData.argument]);
-							else
-								callbackData.failure.apply(callbackData.scope, [xhr, callbackData.argument]);
-						}
-					},
-					200 /* maybe this should be customizable */
-				);
-
-				xhr.send(content);
-			} catch (e) {
-				alert("Error sending SPARQL query: " + e);
-			}
-		} else {
-			var self = this;
-			_service._queue(self, function() { self._doQuery(queryString, callback, transformer); }, _priority);
-		}
-	};
-
-
-	//----------
-	// accessors
-	this.request = function() { return _conn; };
-	this.service = function() { return _service; };
-	this.defaultGraphs = function() { return _default_graphs; };
-	this.namedGraphs = function() { return _named_graphs; };
-	this.prefixes = function() { return _prefix_map; };
-    this.method = function() { return _method; };
-    this.requestHeaders = function() { return _request_headers; };
-
-
-    /**
-     * Returns the SPARQL query represented by this object. The parameter, which can
-     * be omitted, determines whether or not auto-generated PREFIX clauses are included
-     * in the returned query string.
-     */
-	this.queryString = function(excludePrefixes) {
-		var preamble = '';
-		if (!excludePrefixes) {
-			for (var prefix in this.prefixes()) {
-				if(typeof(this.prefixes()[prefix]) != 'string') continue;
-				preamble += 'PREFIX ' + prefix + ': <' + this.prefixes()[prefix] + '> ';
-			}
-		}
-		return preamble + _user_query;
-	};
-
-    /**
-     * Returns the HTTP query parameters to invoke this query. This includes entries for
-     * all of the default graphs, the named graphs, the SPARQL query itself, and an
-     * output parameter to specify JSON (or other) output is desired.
-     */
-	this.queryParameters = function () {
-		var urlQueryString = '';
-		var i;
-
-		// add default and named graphs to the protocol invocation
-		for (i = 0; i < this.defaultGraphs().length; i++) urlQueryString += 'default-graph-uri=' + encodeURIComponent(this.defaultGraphs()[i]) + '&';
-		for (i = 0; i < this.namedGraphs().length; i++) urlQueryString += 'named-graph-uri=' + encodeURIComponent(this.namedGraphs()[i]) + '&';
-
-		// specify JSON output (currently output= supported by latest Joseki) (or other output)
-		urlQueryString += 'output=' + _output + '&';
-		return urlQueryString + 'query=' + encodeURIComponent(this.queryString());
-	}
-	
-    /**
-     * Returns the HTTP GET URL to invoke this query. (Note that this returns a full HTTP GET URL 
-     * even if this query is set to actually use POST.)
-     */
-	this.queryUrl = function() {
-		var url = this.service().endpoint() + '?';
-		return url + this.queryParameters();
-	};
-	
-	//---------
-	// mutators
-	function _add_graphs(toAdd, arr) {
-		if (toAdd instanceof Array)
-			for (var i = 0; i < toAdd.length; i++) arr.push(toAdd[i]);
-		else
-			arr.push(toAdd);
-	}
-	this.addDefaultGraph = function(g) { _add_graphs(g, this.defaultGraphs()); };
-	this.addNamedGraph = function(g) { _add_graphs(g, this.namedGraphs()); };
-	this.setPrefix = function(p, u) { this.prefixes()[p] = u; };
-    this.setMethod = function(m) {
-        if (m != 'GET' && m != 'POST') throw("HTTP methods other than GET and POST are not supported.");
-        _method = m;
-    };
-	this.setRequestHeader = function(h, v) { _request_headers[h] = v; };
-	
-	//---------------
-	// public methods
-
-	// use our varied transformations to create the various methods of actually issuing 
-	// queries
-	for (var query_form in SPARQL._query_transformations) {
-		// need the extra function to properly scope query_form (qf)
-		this[query_form] = (function(qf) {
-			return function(queryString, callback) {
-				this._doQuery(queryString, callback, SPARQL._query_transformations[qf]);
-			};
-		})(query_form);
-	}
-	
-
-	//------------
-	// constructor
-	
-	return this;
-}
-
-// Nothing to see here, yet.
-SPARQL.QueryUtilities = {
-};
-

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/admin/snorql/style.css
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/style.css b/platform/marmotta-sparql/src/main/resources/web/admin/snorql/style.css
deleted file mode 100755
index f94ce4b..0000000
--- a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/style.css
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * 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.
- */
-.snorql {
-    background: none repeat scroll 0 0 #eeeeee;
-    font-family: sans-serif;
-    padding: 1em 1em 5em 1em;
-    border: 2px solid #000000;
-    border-radius: 5px;
-    margin: 2em auto 10em auto;
-}
-#footer_snorql { font-size: 60%; margin: 10px 0; text-align: center; }
-.subtitle { text-align: center; margin-top: 0; }
-form { margin: 0; }
-textarea { width: 100%; margin: 10px 0;border:1px solid #999; }
-.snorql pre#prefixestext { color: #555; margin: 10px 0;  width: auto; color: inherit; background-color: inherit; border: 0; }
-img { border: none; }
-.section { margin: 15px 0 0; padding: 0; }
-.busy { color: #888; }
-.link { background: url(link.png) center right no-repeat; padding-right: 13px; }
-.queryresults { border-collapse: collapse; margin-top: 0.3em; border: 1px solid gray;}
-.queryresults td, .queryresults th { padding: 0.2em 0.4em; vertical-align: top; }
-.uri { white-space: nowrap; }
-.uri a, a.uri { text-decoration: none; }
-.unbound { color: #888; }
-.queryresults a small { font-size: 100%; }
-.queryresults small { font-size: 100%; color: #666; }
-.queryresults .property { white-space: nowrap; }
-#rdficon { float: right; margin: 0.6em 1em; }
-.directory li { margin-bottom: 0.5em; }
-.directory small { font-size: 80%; color: #666; }
-
-.snorql h2 {
-   color: #666666;
-   margin: 0;
-   padding: 0;
-}
-.result h2 {
-    margin: 5px 0;
-    color: #666666;
-}
-/* .snorql #snorql_header, .snorql .section { background: #ccf; } */
-.snorql table.queryresults th { background: #666666; color: #ffffff; font-weight: bold; }
-.snorql table.queryresults tr.odd td { background-color: #aaaaaa !important; }
-.snorql table.queryresults tr.even td { background-color: #cccccc !important; }
-
-.browser h1, .browser h2 { color: #666666; }
-.browser #header, .browser .section { background: #666666; }
-.browser table.queryresults th { background: none repeat scroll 0 0 gray; color: white; }
-.browser table.queryresults tr.odd td { background-color: #aaaaaa !important; }
-.browser table.queryresults tr.even td { background-color: #cccccc !important; }
-
-#result {
-    border: 1px solid #999;
-    font-size: 12px;
-    overflow-x: auto;
-    padding: 5px;
-    width: 98%;
-    display:none;
-    background-color: white;
-}
-
-.snorql div.CodeMirror-scroll {
-    height: auto !important;
-    overflow-y: hidden !important;
-    overflow-x: auto !important;
-}
-
-.snorql div.CodeMirror-gutter pre, .snorql div.CodeMirror-lines pre {
-    overflow: inherit !important;
-}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/admin/snorql/xml-to-html.xsl
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/xml-to-html.xsl b/platform/marmotta-sparql/src/main/resources/web/admin/snorql/xml-to-html.xsl
deleted file mode 100755
index 1333027..0000000
--- a/platform/marmotta-sparql/src/main/resources/web/admin/snorql/xml-to-html.xsl
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-
-XSLT script to format SPARQL Query Results XML Format into xhtml
-
-Copyright © 2004, 2005 World Wide Web Consortium, (Massachusetts
-Institute of Technology, European Research Consortium for
-Informatics and Mathematics, Keio University). All Rights
-Reserved. This work is distributed under the W3C® Software
-License [1] in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.
-
-[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
-
-Version 1 : Dave Beckett (DAWG)
-Version 2 : Jeen Broekstra (DAWG)
-Customization for SPARQler: Andy Seaborne
-
--->
-
-<xsl:stylesheet version="1.0"
-		xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-		xmlns="http://www.w3.org/1999/xhtml"
-		xmlns:res="http://www.w3.org/2005/sparql-results#"
-		exclude-result-prefixes="res xsl">
-
-  <!--
-    <xsl:output
-    method="html"
-    media-type="text/html"
-    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
-    indent="yes"
-    encoding="UTF-8"/>
-  -->
-
-  <!-- or this? -->
-
-  <xsl:output
-   method="xml" 
-   indent="yes"
-   encoding="UTF-8" 
-   doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
-   doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-   omit-xml-declaration="no" />
-
-
-  <xsl:template name="header">
-    <div>
-      <h2>Header</h2>
-      <xsl:for-each select="res:head/res:link"> 
-	<p>Link to <xsl:value-of select="@href"/></p>
-      </xsl:for-each>
-    </div>
-  </xsl:template>
-
-  <xsl:template name="boolean-result">
-    <div>
-      <!--      
-	<h2>Boolean Result</h2>
-      -->      
-      <p>ASK => <xsl:value-of select="res:boolean"/></p>
-    </div>
-  </xsl:template>
-
-
-  <xsl:template name="vb-result">
-    <div>
-      <!--
-	<h2>Variable Bindings Result</h2>
-	<p>Ordered: <xsl:value-of select="res:results/@ordered"/></p>
-	<p>Distinct: <xsl:value-of select="res:results/@distinct"/></p>
-      -->
-
-      <table>
-	<xsl:text>
-	</xsl:text>
-	<tr>
-	  <xsl:for-each select="res:head/res:variable">
-	    <th><xsl:value-of select="@name"/></th>
-	  </xsl:for-each>
-	</tr>
-	<xsl:text>
-	</xsl:text>
-	<xsl:for-each select="res:results/res:result">
-	  <tr>
-	    <xsl:apply-templates select="."/>
-	  </tr>
-	</xsl:for-each>
-      </table>
-    </div>
-  </xsl:template>
-
-  <xsl:template match="res:result">
-    <xsl:variable name="current" select="."/>
-    <xsl:for-each select="//res:head/res:variable">
-      <xsl:variable name="name" select="@name"/>
-      <td>
-	<xsl:choose>
-	  <xsl:when test="$current/res:binding[@name=$name]">
-	    <!-- apply template for the correct value type (bnode, uri, literal) -->
-	    <xsl:apply-templates select="$current/res:binding[@name=$name]"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <!-- no binding available for this variable in this solution -->
-	  </xsl:otherwise>
-	</xsl:choose>
-      </td>
-    </xsl:for-each>
-  </xsl:template>
-
-  <xsl:template match="res:bnode">
-    <xsl:text>_:</xsl:text>
-    <xsl:value-of select="text()"/>
-  </xsl:template>
-
-  <xsl:template match="res:uri">
-    <xsl:variable name="uri" select="text()"/>
-    <xsl:text>&lt;</xsl:text>
-    <xsl:value-of select="$uri"/>
-    <xsl:text>&gt;</xsl:text>
-  </xsl:template>
-
-  <xsl:template match="res:literal">
-    <xsl:text>"</xsl:text>
-    <xsl:value-of select="text()"/>
-    <xsl:text>"</xsl:text>
-
-    <xsl:choose>
-      <xsl:when test="@datatype">
-	<!-- datatyped literal value -->
-	^^&lt;<xsl:value-of select="@datatype"/>&gt;
-      </xsl:when>
-      <xsl:when test="@xml:lang">
-	<!-- lang-string -->
-	@<xsl:value-of select="@xml:lang"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template match="res:sparql">
-    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-      <head>
-	<title>SPARQL Query Results</title>
-	<style>
-	  <![CDATA[
-	  h1 { font-size: 150% ; }
-	  h2 { font-size: 125% ; }
-	  table { border-collapse: collapse ; border: 1px solid black ; }
-	  td, th
- 	  { border: 1px solid black ;
-	    padding-left:0.5em; padding-right: 0.5em; 
-	    padding-top:0.2ex ; padding-bottom:0.2ex 
-	  }
-	  ]]>
-	</style>
-      </head>
-      <body>
-
-
-	<h1>SPARQL Query Results</h1>
-
-	<xsl:if test="res:head/res:link">
-	  <xsl:call-template name="header"/>
-	</xsl:if>
-
-	<xsl:choose>
-	  <xsl:when test="res:boolean">
-	    <xsl:call-template name="boolean-result" />
-	  </xsl:when>
-
-	  <xsl:when test="res:results">
-	    <xsl:call-template name="vb-result" />
-	  </xsl:when>
-
-	</xsl:choose>
-
-
-      </body>
-    </html>
-  </xsl:template>
-</xsl:stylesheet>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/admin/update.html
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/update.html b/platform/marmotta-sparql/src/main/resources/web/admin/update.html
index 901c4b4..c42c522 100644
--- a/platform/marmotta-sparql/src/main/resources/web/admin/update.html
+++ b/platform/marmotta-sparql/src/main/resources/web/admin/update.html
@@ -22,8 +22,7 @@
     <!--###BEGIN_HEAD###-->
     <title>SPARQL Update</title>
     <link href="../style/sparql.css" rel="stylesheet" type="text/css" />
-    <link href="../cm/codemirror.css" rel="stylesheet" type="text/css" />
-    <link href="../cm/simple-hint.css" rel="stylesheet" type="text/css" />
+    <link href="../../webjars/codemirror/2.24/codemirror.css" rel="stylesheet" type="text/css" />
     <style type="text/css">
         #refesh_box {
             display: inline-block;
@@ -62,13 +61,11 @@
         <input type="submit" value="execute update query"/>
       </p>                      
     </fieldset>
-  </form>    
+  </form>
 
-  <script type="text/javascript" src="../../core/public/js/lib/jquery-1.7.2.js"></script>
-  <script type="text/javascript" src="../../core/public/js/lib/jquery-ui-1.8.21.js"></script>
-  <script type="text/javascript" src="../cm/codemirror.js"></script>
-  <script type="text/javascript" src="../cm/simple-hint.js"></script>
-  <script type="text/javascript" src="../cm/sparql.js"></script>
+<script type="text/javascript" src="../../webjars/jquery/1.8.2/jquery.min.js"></script>
+<script type="text/javascript" src="../../webjars/jquery-ui/1.8.21/jquery-ui.min.js"></script>
+<script type="text/javascript" src="../../webjars/codemirror/2.24/codemirror.js"></script>
 
 <script type="text/javascript"> 
 

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/cm/codemirror.css
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/cm/codemirror.css b/platform/marmotta-sparql/src/main/resources/web/cm/codemirror.css
deleted file mode 100644
index b5385d7..0000000
--- a/platform/marmotta-sparql/src/main/resources/web/cm/codemirror.css
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * 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.
- */
-#center .CodeMirror, .CodeMirror {
-  line-height: 1em;
-  font-family: monospace;
-}
-
-#center .CodeMirror-scroll, .CodeMirror-scroll {
-  overflow: auto;
-  height: 300px;
-  /* This is needed to prevent an IE[67] bug where the scrolled content
-     is visible outside of the scrolling box. */
-  position: relative;
-  outline: none;
-}
-
-#center .CodeMirror-gutter, .CodeMirror-gutter {
-  position: absolute; left: 0; top: 0;
-  z-index: 10;
-  background-color: #f7f7f7;
-  border-right: 1px solid #eee;
-  min-width: 2em;
-  height: 100%;
-}
-#center .CodeMirror-gutter-text, .CodeMirror-gutter-text {
-  color: #aaa;
-  text-align: right;
-  padding: .4em .2em .4em .4em;
-  white-space: pre !important;
-}
-#center .CodeMirror-lines, .CodeMirror-lines {
-  padding: .4em;
-  white-space: pre;
-}
-
-#center .CodeMirror pre, .CodeMirror pre {
-  -moz-border-radius: 0;
-  -webkit-border-radius: 0;
-  -o-border-radius: 0;
-  border-radius: 0;
-  border-width: 0; margin: 0; padding: 0; background: transparent;
-  font-family: inherit;
-  font-size: inherit;
-  padding: 0; margin: 0;
-  white-space: pre;
-  word-wrap: normal;
-  line-height: inherit;
-  width: auto;
-}
-
-#center .CodeMirror-wrap pre, .CodeMirror-wrap pre {
-  word-wrap: break-word;
-  white-space: pre-wrap;
-  word-break: normal;
-}
-#center .CodeMirror-wrap .CodeMirror-scroll, .CodeMirror-wrap .CodeMirror-scroll {
-  overflow-x: hidden;
-}
-
-#center .CodeMirror textarea, .CodeMirror textarea {
-  outline: none !important;
-}
-
-#center .CodeMirror pre.CodeMirror-cursor, .CodeMirror pre.CodeMirror-cursor {
-  z-index: 10;
-  position: absolute;
-  visibility: hidden;
-  border-left: 1px solid black;
-  border-right:none;
-  width:0;
-}
-#center .CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite, .CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite {}
-#center .CodeMirror-focused pre.CodeMirror-cursor, .CodeMirror-focused pre.CodeMirror-cursor {
-  visibility: visible;
-}
-
-#center div.CodeMirror-selected, div.CodeMirror-selected { background: #d9d9d9; }
-#center .CodeMirror-focused div.CodeMirror-selected, .CodeMirror-focused div.CodeMirror-selected { background: #d7d4f0; }
-
-#center .CodeMirror-searching, .CodeMirror-searching {
-  background: #ffa;
-  background: rgba(255, 255, 0, .4);
-}
-
-/* Default theme */
-
-.cm-s-default span.cm-keyword {color: #708;}
-.cm-s-default span.cm-atom {color: #219;}
-.cm-s-default span.cm-number {color: #164;}
-.cm-s-default span.cm-def {color: #00f;}
-.cm-s-default span.cm-variable {color: black;}
-.cm-s-default span.cm-variable-2 {color: #05a;}
-.cm-s-default span.cm-variable-3 {color: #085;}
-.cm-s-default span.cm-property {color: black;}
-.cm-s-default span.cm-operator {color: black;}
-.cm-s-default span.cm-comment {color: #a50;}
-.cm-s-default span.cm-string {color: #a11;}
-.cm-s-default span.cm-string-2 {color: #f50;}
-.cm-s-default span.cm-meta {color: #555;}
-.cm-s-default span.cm-error {color: #f00;}
-.cm-s-default span.cm-qualifier {color: #555;}
-.cm-s-default span.cm-builtin {color: #30a;}
-.cm-s-default span.cm-bracket {color: #cc7;}
-.cm-s-default span.cm-tag {color: #170;}
-.cm-s-default span.cm-attribute {color: #00c;}
-.cm-s-default span.cm-header {color: #a0a;}
-.cm-s-default span.cm-quote {color: #090;}
-.cm-s-default span.cm-hr {color: #999;}
-.cm-s-default span.cm-link {color: #00c;}
-
-span.cm-header, span.cm-strong {font-weight: bold;}
-span.cm-em {font-style: italic;}
-span.cm-emstrong {font-style: italic; font-weight: bold;}
-span.cm-link {text-decoration: underline;}
-
-#center div.CodeMirror span.CodeMirror-matchingbracket, div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
-#center div.CodeMirror span.CodeMirror-nonmatchingbracket, div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}