graphdb-workbench
Version:
The web application for GraphDB APIs
2 lines • 15.2 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[23,42,78,79,94],{110:function(e,r,o){"use strict";o.r(r);o(2),o(7),o(13),o(42),o(73),o(74),o(8),o(75),o(25),o(26);angular.module("graphdb.framework.repositories",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.repositories.controllers","graphdb.framework.repositories.ontop-repo.directive","graphdb.framework.repositories.fedx-repo.directive","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers","graphdb.framework.settings"])},40:function(e,r,o){"use strict";o.r(r);o(2),o(9);function t(e,r,o,t){e.supportsStatistics=!0,e.settings={statistics:!1},e.getSettings=function(){e.loader=!0,t.getStatistics().then((function(r){e.settings.statistics="true"===r.data,e.supportsStatistics=!0}),(function(o){if(404===o.status)e.supportsStatistics=!1;else{const e=getError(o.data);r.error(e,"Error getting settings")}}))},e.getSettings(),e.setSettings=function(){e.loader=!0,t.toggleStatistics(e.settings.statistics).then((function(){o.close(),r.success("Settings have been saved")}),(function(e){const o=getError(e.data);r.error(o,"Error saving settings")}))},e.submitForm=function(){e.setSettings()},e.cancel=function(){o.dismiss("cancel")}}function i(e,r,o,t){e.loader=!0,r.checkLicenseHardcoded().success((function(e){t.isLicenseHardcoded="true"===e})).error((function(){t.isLicenseHardcoded=!1,o.error("Error checking license availability")})).then((function(){r.getLicenseInfo().success((function(r){e.loader=!1,e.license=r})).error((function(){e.loader=!1,e.license={message:"No license was set.",valid:!1}}))}))}function s(e,r,o,t,i,s,n){e.$on("securityInit",(function(){n.isAdmin()||o.path("/license")})),e.sendLicenseToValidateAndActivate=l;const a=$(".license-textarea");function l(e){r.sendLicenseToValidate(e).success((function(o){"Invalid"!==o.licensee?(a.val(e),function(e,o){t.open({templateUrl:"js/angular/settings/modal/validate-license.html",controller:"ValidateLicenseModalCtrl",resolve:{license:function(){return e}}}).result.then((function(){!function(e){e||(e=a.val());if(e){const o=atob(e.replace(/\s/g,""));r.registerLicense(o).success((function(){s.history.back()})).error((function(){i.error("Error registering GraphDB license")}))}else i.error("No license code available in textarea")}(o)}))}(o,e)):(a.val(""),i.error(o.message))})).error((function(){i.error("Invalid license")}))}e.$watch("currentFile",(function(){if(e.currentFile){const o=e.currentFile;r.extractFromLicenseFile(o).success((function(e){l(e)})).error((function(){i.error("Could not upload file")}))}})),e.getBackToPreviousPage=function(){s.history.back()}}function n(e,r,o){e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")},e.license=o}function a(e){e.loader=!0,e.setLoader=function(r){e.loader=r}}angular.module("graphdb.framework.settings.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","toastr"]).controller("ActiveLocationSettingsCtrl",t).controller("ValidateLicenseModalCtrl",n).controller("LicenseCtrl",i).controller("RegisterLicenseCtrl",s).controller("LoaderSamplesCtrl",a),t.$inject=["$scope","toastr","$uibModalInstance","LicenseRestService"],i.$inject=["$scope","LicenseRestService","toastr","$rootScope"],s.$inject=["$scope","LicenseRestService","$location","$uibModal","toastr","$window","$jwtAuth"],n.$inject=["$scope","$uibModalInstance","license"],a.$inject=["$scope"]},73:function(e,r,o){"use strict";o.r(r);var t=o(42);function i(e,r,o,i){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(s){s.selectedDriver={driverType:"generic",driverName:"Generic JDBC Driver",jdbc:{hostName:"",port:"",databaseName:"",userName:"",password:"",driverClass:"",url:""},urlTemplate:"",downloadDriverUrl:""},s.ontopRepoFileNames={},s.supportedDriversData=[],s.ontopRepoFileLabels={propertiesFile:"JDBC properties",obdaFile:"OBDA or R2RML",owlFile:"ontology file",constraintFile:"constraint file",dbMetadataFile:"DB metadata file"},s.ontopRepoFiles=Object.keys(s.ontopRepoFileLabels),s.ontopRepoFiles.forEach((function(e){s.repositoryInfo.params[e]&&(s.ontopRepoFileNames[e]=Object(t.getFileName)(s.repositoryInfo.params[e].value))})),s.supportedDriverLabels={hostName:"Hostname",port:"Port",databaseName:"Database name",userName:"Username",password:"Password",driverClass:"Driver class",url:"URL"},s.propertiesFileParams=Object.keys(s.supportedDriverLabels),s.classAvailable=!1,s.genericDriverType="generic",s.propertiesFile="propertiesFile";const n=[s.propertiesFile,"obdaFile"],a=["hostName","databaseName","userName"];function l(){return s.selectedDriver.driverType!==s.genericDriverType?a.filter((function(e){return!s.selectedDriver.jdbc[e]})).length>0&&(o.error("Missing required field"),1)?Promise.reject("Missing required field"):(s.uploadFileLoader=!0,r.updatePropertiesFile(s.repositoryInfo.params[s.propertiesFile].value,s.selectedDriver.jdbc).success((function(e){s.ontopRepoFileNames[s.propertiesFile]=Object(t.getFileName)(e.fileLocation),s.repositoryInfo.params[s.propertiesFile].value=e.fileLocation,s.uploadFileLoader=!1})).error((function(e){c("Error",e),s.uploadFileLoader=!1}))):Promise.resolve()}function c(e,r){const t=getError(r);o.error(t,e)}s.loadDriverByClass=function(e){const r=s.supportedDriversData.find(r=>r.driverClass===e);return r&&s.copyDriverProperties(r),r},s.selectDriverByType=function(e){s.copyDriverProperties(s.supportedDriversData.find(r=>r.driverType===e)),s.concatURL("hostName",s)},s.copyDriverProperties=function(e){s.selectedDriver.driverType=e.driverType,s.selectedDriver.jdbc.driverClass=e.driverClass,s.selectedDriver.jdbc.url=e.urlTemplate,s.selectedDriver.urlTemplate=e.urlTemplate,s.selectedDriver.downloadDriverUrl=e.downloadDriverUrl,s.selectedDriver.portRequired=e.portRequired,s.classAvailable=e.classAvailable},s.isReadOnly=function(e){return"driverClass"===e||"url"===e},s.editFile=function(o){e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",resolve:{file:function(){return s.repositoryInfo.params[o]?s.repositoryInfo.params[o].value:""}}}).result.then((function(e){r.updateRepositoryFileContent(e.fileLocation,e.content).success((function(e){s.ontopRepoFileNames[o]=Object(t.getFileName)(e.fileLocation),s.repositoryInfo.params[o].value=e.fileLocation})).error((function(e){c("Error",e)}))}))},s.uploadOntopRepoFile=function(e,r){e&&e.length&&(s.uploadFile=e[0],s.uploadFileLoader=!0,i.upload({url:"rest/repositories/uploadFile",data:{uploadFile:s.uploadFile}}).success((function(e){e.success?(s.ontopRepoFileNames[r]=s.uploadFile.name,s.repositoryInfo.params[r].value=e.fileLocation):o.error(e.errorMessage),s.uploadFileLoader=!1})).error((function(e){c("Error",e),s.uploadFile="",s.uploadFileLoader=!1})))},s.concatURL=function(e){if("hostName"===e||"port"===e||"databaseName"===e){let e=s.selectedDriver.urlTemplate;s.selectedDriver.jdbc.hostName&&(e=s.selectedDriver.jdbc.port?e.replace("{hostport}",`${s.selectedDriver.jdbc.hostName}:${s.selectedDriver.jdbc.port}`):e.replace("{hostport}",s.selectedDriver.jdbc.hostName)),s.selectedDriver.jdbc.databaseName&&(e=e.replace("{database}",s.selectedDriver.jdbc.databaseName)),s.selectedDriver.jdbc.url=e}},s.getInputType=function(e){switch(e){case"password":return"password";case"port":return"number";default:return"text"}},s.checkForRequiredOntopFiles=function(){return l().then((function(){return n.filter((function(e){return!s.repositoryInfo.params[e].value})).length>0?(o.error("Missing required ontop repo file"),Promise.reject("Missing required ontop repo file")):Promise.resolve()}))},s.validateOntopPropertiesConnection=function(){l().then((function(){r.validateOntopPropertiesConnection(s.repositoryInfo.params.propertiesFile).success((function(){o.success("Connection is successful")})).error((function(e){c("Failed to connect",e)}))}))},s.isOntopRepoFileUploaded=function(){return s.repositoryInfo.params.propertiesFile&&s.repositoryInfo.params.propertiesFile.value.length>0},s.isRequiredOntopRepoFile=function(e){return n.indexOf(e)>-1},s.isRequiredField=function(e){return a.indexOf(e)>-1||"port"===e&&s.selectedDriver.portRequired},s.getFieldTooltip=function(e){return"port"===e&&s.selectedDriver.portRequired&&(e="portIfRequired"),s.repoTooltips.ontop[e]},s.editOntopRepo=function(){s.checkForRequiredOntopFiles().then((function(){s.editRepository()})).catch((function(e){}))},s.createOntopRepo=function(){s.repositoryInfo.id?s.checkForRequiredOntopFiles().then((function(){s.createRepo()})).catch((function(e){})):o.error("Repository ID cannot be empty")},s.goBackToPrevious=function(){s.goBackToPreviousLocation()},r.getSupportedDriversData().success((function(e){s.supportedDriversData=e})).error((function(e){c("Error",e)})).then((function(){s.editRepoPage&&r.loadPropertiesFile(s.repositoryInfo.params[s.propertiesFile].value).success((function(e){s.loadDriverByClass(e.driverClass)&&(s.selectedDriver.jdbc.hostName=e.hostName,s.selectedDriver.jdbc.port=parseInt(e.port),s.selectedDriver.jdbc.databaseName=e.databaseName,s.selectedDriver.jdbc.userName=e.userName,s.selectedDriver.jdbc.password=e.password,s.selectedDriver.jdbc.url=e.url)})).error((function(e){c("Error",e),s.uploadFileLoader=!1}))}))}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",i),i.$inject=["$uibModal","RepositoriesRestService","toastr","Upload"]},74:function(e,r){function o(e,r,o,t){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(i){const s="ResolvableRepository";function n(){return r.getRepositories().success((function(e){i.localRepos=e,i.allLocalRepos=i.localRepos.slice()})).error((function(e){const r=getError(e);o.error(r,"Error")}))}function a(){for(const e of i.fedxMembers)i.localRepos=i.localRepos.filter(r=>r.id!==e.repositoryName||e.store!==s)}function l(){n().then((function(){i.editRepoPage&&(i.fedxMembers=i.repositoryInfo.params.member.value.slice()),a()}))}i.fedxMembers=[],i.localRepos=[],i.allLocalRepos=[],i.setWritableRepo=function(e){let r=i.fedxMembers.find(e=>"true"===e.writable);r&&r.repositoryName!==e.repositoryName&&(r.writable="false"),e.writable=JSON.stringify("false"===e.writable)},i.getActiveClass=function(e){return"true"===e.writable?" active":""},i.checkIfRepoExist=function(e){return e.store!==s||0!==i.allLocalRepos.filter(r=>r.id===e.repositoryName).length};const c=t((function(){l()}),2e3);function p(e){i.fedxMembers.push(e),i.repositoryInfo.params.member.value=i.fedxMembers}function d(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return i.editRepoPage&&!i.editRepoPage||!i.model.editMode}i.$on("$destroy",(function(){t.cancel(c)})),i.addLocalMember=function(e){let r={store:s,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"};i.localRepos=i.localRepos.filter(e=>e.id!==r.repositoryName),p(r)},i.removeMember=function(e){e.store&&e.store===s?(i.fedxMembers=i.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store),n().then((function(){a()}))):e.store&&"SPARQLEndpoint"===e.store?i.fedxMembers=i.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&"NativeStore"===e.store?i.fedxMembers=i.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&"RemoteRepository"===e.store&&(i.fedxMembers=i.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)),i.repositoryInfo.params.member.value=i.fedxMembers},i.addRemoteMember=function(){i.mode="remote",i.model={editMode:!1,store:"RemoteRepository",repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},i.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:i})},i.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:"NativeStore"===e.store?"icon-warning":"icon-link"},i.editFedXRepository=function(r){r.store===s?(i.mode="local",i.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(i.mode="remote",i.model={editMode:!0,store:r.store,repositoryName:r.repositoryName,repositoryServer:r.repositoryServer,sparqlEndpoint:"SPARQLEndpoint"===r.store?r.endpoint:r.repositoryLocation,username:r.username,password:r.password,supportsASKQueries:r.supportsASKQueries,writable:r.writable}),i.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:i})},i.resolveName=function(e){switch(e.store){case s:return e.repositoryName;case"RemoteRepository":return e.repositoryName+"@"+e.repositoryServer;case"SPARQLEndpoint":return e.endpoint;case"NativeStore":return e.repositoryLocation;default:return""}},i.cancel=function(){i.$uibModalInstance.dismiss("cancel")},i.ok=function(){let e;if(i.model.repositoryName&&i.model.store===s)e={store:s,repositoryName:i.model.repositoryName,repoType:i.model.repoType,respectRights:i.model.respectRights,writable:i.model.writable},i.fedxMembers=i.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(i.model.repositoryName&&"RemoteRepository"===i.model.store){if(e={store:"RemoteRepository",repositoryName:i.model.repositoryName,repositoryServer:d(i.model.repositoryServer),username:i.model.username,password:i.model.password,writable:i.model.writable},u()&&i.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=i.resolveName(e);return o.error(`Repository ${r} already added as a FedX member`),void i.$uibModalInstance.close()}i.fedxMembers=i.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:"SPARQLEndpoint",endpoint:d(i.model.sparqlEndpoint),username:i.model.username,password:i.model.password,supportsASKQueries:i.model.supportsASKQueries,writable:i.model.writable},u()&&i.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=i.resolveName(e);return o.error(`SPARQL endpoint ${r} already added as a FedX member`),void i.$uibModalInstance.close()}i.fedxMembers=i.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}p(e),i.$uibModalInstance.close()},l()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",o),o.$inject=["$uibModal","RepositoriesRestService","toastr","$timeout"]},75:function(e,r,o){"use strict";o.r(r);o(2),o(7),o(5),o(40),o(15),o(9),o(25),o(26);function t(e){e.interceptors.push("$unauthorizedInterceptor")}function i(e,r){e.$on("$locationChangeStart",(function(){e.isLicenseHardcoded&&"/license/register"===r.url()&&r.path("license")}))}angular.module("graphdb.framework.settings",["toastr","ui.bootstrap","graphdb.framework.rest.license.service","graphdb.framework.settings.controllers","graphdb.framework.core.interceptors.unauthorized","graphdb.framework.core.services.jwtauth"]).config(t).run(i),t.$inject=["$httpProvider","$routeProvider"],i.$inject=["$rootScope","$location"]}}]);
//# sourceMappingURL=23.c58eff831306fad29d42.bundle.js.map