From: <tob...@us...> - 2014-06-02 17:09:13
|
Revision: 8437 http://sourceforge.net/p/bigdata/code/8437 Author: tobycraig Date: 2014-06-02 17:09:07 +0000 (Mon, 02 Jun 2014) Log Message: ----------- #960 & #961 - Added namespace properties export and namespace clone functionality Modified Paths: -------------- branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/index.html branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/js/workbench.js Modified: branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/index.html =================================================================== --- branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/index.html 2014-06-02 16:43:56 UTC (rev 8436) +++ branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/index.html 2014-06-02 17:09:07 UTC (rev 8437) @@ -204,7 +204,14 @@ </div> <div class="box"> - <form id="namespace-create"><input type="text"> <input type="submit" value="Create namespace"></form> + <h1>Create namespace</h1> + <form id="namespace-create"> + <label for="new-namespace-name">Name:</label> <input type="text" id="new-namespace-name"><br> + <label for="new-namespace-index">Index:</label> <input type="checkbox" id="new-namespace-index"><br> + <label for="new-namespace-truth-maintenance">Truth maintenance:</label> <input type="checkbox" id="new-namespace-truth-maintenance"><br> + <label for="new-namespace-quads">Quads:</label> <input type="checkbox" id="new-namespace-quads"><br> + <input type="submit" value="Create namespace"> + </form> </div> </div> Modified: branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/js/workbench.js =================================================================== --- branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/js/workbench.js 2014-06-02 16:43:56 UTC (rev 8436) +++ branches/NEW_WORKBENCH_1_3_2_BRANCH/bigdata-war/src/html/js/workbench.js 2014-06-02 17:09:07 UTC (rev 8437) @@ -4,7 +4,14 @@ var DEFAULT_NAMESPACE, NAMESPACE, NAMESPACE_URL, NAMESPACES_READY, NAMESPACE_SHORTCUTS, FILE_CONTENTS, QUERY_RESULTS; var CODEMIRROR_DEFAULTS, EDITORS = {}, ERROR_LINE_MARKERS = {}, ERROR_CHARACTER_MARKERS = {}; var PAGE_SIZE = 50, TOTAL_PAGES, CURRENT_PAGE; +var NAMESPACE_PARAMS = { + 'name': 'com.bigdata.rdf.sail.namespace', + 'index': 'com.bigdata.search.FullTextIndex.fieldsEnabled', + 'truth-maintenance': 'com.bigdata.rdf.sail.truthMaintenance', + 'quads': 'com.bigdata.rdf.store.AbstractTripleStore.quads' +}; + CODEMIRROR_DEFAULTS = { lineNumbers: true, mode: 'sparql', @@ -195,22 +202,50 @@ }); } +function cloneNamespace(namespace) { + var url = '/bigdata/namespace/' + namespace + '/properties'; + $.get(url, function(data) { + var reversed_params = {}; + for(var key in NAMESPACE_PARAMS) { + reversed_params[NAMESPACE_PARAMS[key]] = key; + } + $.each(data.getElementsByTagName('entry'), function(i, entry) { + var key = entry.getAttribute('key'); + if(reversed_params[key] == 'name') { + return; + } + if(key in reversed_params) { + $('#new-namespace-' + reversed_params[key]).prop('checked', entry.textContent.trim() == 'true'); + } + }); + $('#new-namespace-name').focus(); + }); +} + function createNamespace(e) { e.preventDefault(); - var input = $(this).find('input[type=text]'); - var namespace = input.val(); - if(!namespace) { + // get new namespace name and config options + var params = {}; + params.name = $('#new-namespace-name').val().trim(); + if(!params.name) { return; } + params.index = $('#new-namespace-index').is(':checked'); + params.truthMaintenance = $('#new-namespace-truth-maintenance').is(':checked'); + params.quads = $('#new-namespace-quads').is(':checked'); // TODO: validate namespace // TODO: allow for other options to be specified - var data = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">\n<properties>\n<entry key="com.bigdata.rdf.sail.namespace">' + namespace + '</entry>\n</properties>'; + var data = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">\n<properties>\n'; + for(key in NAMESPACE_PARAMS) { + data += '<entry key="' + keys[key] + '">' + params[key] + '</entry>\n'; + } + data += '</properties>'; var settings = { type: 'POST', data: data, contentType: 'application/xml', - success: function() { input.val(''); getNamespaces(); }, - error: function(jqXHR, textStatus, errorThrown) { alert(jqXHR.statusText); } + success: function() { $('#new-namespace-name').val(''); getNamespaces(); }, + error: function(jqXHR, textStatus, errorThrown) { debugger;alert(jqXHR.responseText); } }; $.ajax('/bigdata/namespace', settings); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |