graphdb-workbench
Version:
The web application for GraphDB APIs
2 lines • 20.4 kB
JavaScript
export const __webpack_id__=41621;export const __webpack_ids__=[12098,14824,41621,44207,46570,47775,54159,62677,64803,69112,94003];export const __webpack_modules__={12098:(e,r,o)=>{o.r(r),o.d(r,{JdbcDriverType:()=>t});const t={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},14824:(e,r,o)=>{o.r(r);var t=o(46591),n=o(64803),i=o(54159),s=o(44207),a=o(94003),c=o(47775),p=o(12098);const l=o(304).LoggerProvider.logger;function d(e,r,o,d,m){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(f){f.isGenericDriver=!0,f.defaultUrlTemplate="jdbc:database://localhost:port/database_name",f.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",f.ontopFileType=n.OntopFileType,f.selectedDriver=new c.OntopDriverData,f.supportedDriversData=[],f.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},f.selectDriver=e=>{f.selectedDriver=f.supportedDriversData.find(r=>r.driverType===e),f.isGenericDriver=c.OntopDriverData.isGenericDriver(f.selectedDriver.driverType),f.editRepoPage&&f.currentOntopRepoInfo&&f.currentOntopRepoInfo.connectionInformation.driverType===e?f.formData=_.cloneDeep(f.currentOntopRepoInfo):(k(),f.formData.connectionInformation.driverType=f.selectedDriver.driverType),f.formData.connectionInformation.driverClass=f.selectedDriver.driverClass,f.updateUrl()},f.getOntopFileInfo=e=>f.formData.settings.ontopFiles.find(r=>e===r.type),f.getHostNameLabel=()=>{const e=c.OntopDriverData.isSnowflakeDriver(f.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return m.instant(e)+"*"},f.getDatabaseNameLabel=()=>{let e="";switch(f.selectedDriver.driverType){case p.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case p.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case p.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return m.instant(e)},f.updateUrl=()=>{const e=v()||"";f.formData.connectionInformation.url=e+f.formData.connectionInformation.urlUserInput},f.isTestConnectionDisabled=()=>{const e=f.formData.connectionInformation,r=f.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port)&&(c.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName))},f.testConnection=()=>{w().then(O).then(I).then(N).then(R).then(h).then(()=>r.validateOntopPropertiesConnection(f.repositoryInfo)).then(()=>o.success(m.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):D(m.instant("ontop.repo.failed.to.connect"),e)})},f.editFile=o=>{const n=f.repositoryInfo.params[o.type].label,i=m.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=f.repositoryInfo.params[o.type];return e?e.value:""},dialogTitle:()=>i,location:()=>f.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,f.repositoryInfo.location).success(e=>{o.fileName=(0,t.getFileName)(e.fileLocation),f.repositoryInfo.params[o.type].value=e.fileLocation}).error(e=>{D(m.instant("common.error"),e)})})},f.uploadOntopFile=(e,r)=>{if(e&&e.length){const t=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:t,location:f.repositoryInfo.location}};d.upload(n).success(e=>{e.success?(r.fileName=t.name,f.repositoryInfo.params[r.type].value=e.fileLocation):o.error(e.errorMessage)}).error(e=>{D(m.instant("common.error"),e),f.uploadFile=""}).finally(()=>{r.loading=!1})}},f.updateOntopRepo=()=>{const e=f.editRepoPage?f.editRepository:f.createRepo;S().then(w).then(O).then(I).then(N).then(R).then(T).then(h).then(e).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):l.info(e)})},f.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const o=v();if(!o)return;const t=e.ctrlKey||e.metaKey;if(t&&65===r||t&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<o.length&&(e.preventDefault(),e.stopPropagation()),n<o.length&&(e.preventDefault(),e.stopPropagation())},f.onKeyUpInUrlInput=()=>{u()};const u=()=>{const e=v();e&&f.formData.connectionInformation.url.startsWith(e)?f.formData.connectionInformation.urlUserInput=f.formData.connectionInformation.url.substring(e.length):f.formData.connectionInformation.urlUserInput=f.formData.connectionInformation.url},v=()=>c.OntopDriverData.isSnowflakeDriver(f.selectedDriver.driverType)?y():g(),y=()=>{let e=f.selectedDriver.urlTemplate;const r=f.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},g=()=>{let e=f.selectedDriver.urlTemplate;const r=f.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",`${r.hostName}`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},b=e=>{f.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},h=()=>{b(!0);const e=f.formData.connectionInformation,o={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:f.formData.settings.additionalProperties};return r.updatePropertiesFile(f.repositoryInfo.params.propertiesFile.value,o,f.repositoryInfo.location,f.selectedDriver.driverType).success(e=>{f.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{D(m.instant("common.error"),e)}).finally(()=>b(!1))},D=(e,r)=>{const t=getError(r);o.error(t,e)},w=()=>c.OntopDriverData.isGenericDriver(f.selectedDriver.driverType)||f.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.host_name")}))),I=()=>c.OntopDriverData.isGenericDriver(f.selectedDriver.driverType)||f.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.database_name")}))),N=()=>f.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new a.OntopRepositoryError(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.driver_class")}))),R=()=>f.formData.connectionInformation.url?Promise.resolve():Promise.reject(new a.OntopRepositoryError(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.url")}))),S=()=>f.repositoryInfo.id?Promise.resolve():Promise.reject(new a.OntopRepositoryError(m.instant("empty.repoid.warning"))),T=()=>f.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(m.instant("ontop.repo.missing.required.file",{fileName:f.repositoryInfo.params[n.OntopFileType.OBDA].label}))),O=()=>f.selectedDriver.portRequired&&!f.formData.connectionInformation.port?Promise.reject(new a.OntopRepositoryError(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.port")}))):Promise.resolve(),k=()=>{f.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new s.OntopFileInfo(e);f.formData.settings.ontopFiles.push(r)}),f.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(f.repositoryInfo).success(e=>{f.supportedDriversData=e}).error(e=>{D(m.instant("common.error"),e)}).then(()=>{f.editRepoPage?(b(!0),r.loadPropertiesFile(f.repositoryInfo.params.propertiesFile.value,f.repositoryInfo.location,f.selectedDriver.driverType).success(e=>{let r=f.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=f.supportedDriversData.find(e=>c.OntopDriverData.isGenericDriver(e.driverType))),f.selectDriver(r.driverType),f.formData.connectionInformation.driverType=r.driverType,f.formData.connectionInformation.driverClass=e.driverClass,f.formData.connectionInformation.password=e.password,f.formData.connectionInformation.username=e.userName,f.formData.connectionInformation.url=e.url,f.formData.settings.additionalProperties=e.additionalProperties,c.OntopDriverData.isGenericDriver(r.driverType)||(f.formData.connectionInformation.hostName=e.hostName,f.formData.connectionInformation.databaseName=e.databaseName,f.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),u(),f.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=f.repositoryInfo.params[e],o=f.getOntopFileInfo(e);r&&(o.fileName=(0,t.getFileName)(r.value))}),f.currentOntopRepoInfo=_.cloneDeep(f.formData)}).error(e=>{D(m.instant("common.error"),e)}).finally(()=>{b(!1)})):f.selectDriver(p.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",d),d.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]},41621:(e,r,o)=>{o.r(r),o(82493),o(5687),o(60116),o(46591),o(14824),o(62677),o(76933),o(69112),o(47195),o(56669),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"])},44207:(e,r,o)=>{o.r(r),o.d(r,{OntopFileInfo:()=>t});class t{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},46570:(e,r,o)=>{function t(e,r,o,t,n){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,n.instant("error.getting.settings"))}})},e.getSettings(),e.setSettings=function(){e.loader=!0,t.toggleStatistics(e.settings.statistics).then(function(){o.close(),r.success(n.instant("saving.settings.success"))},function(e){const o=getError(e.data);r.error(o,n.instant("saving.settings.error"))})},e.submitForm=function(){e.setSettings()},e.cancel=function(){o.dismiss("cancel")}}function n(e,r,o,t,n,i,s,a){e.loadingLicense=function(){return o.loadingLicense()},o.checkLicenseStatus(),e.removeLicense=function(){i.openSimpleModal({title:s.instant("confirm.operation"),message:s.instant("remove.license.warning.msg"),warning:!0}).result.then(function(){r.unregisterLicense().success(function(){o.checkLicenseStatus().then(()=>a.applyTrackingConsent()).catch(e=>{const r=getError(e.data,e.status);t.error(r,s.instant("common.error"))})})})}}function i(e,r,o,t,n,i,s,a){e.$on("securityInit",function(){s.isAdmin()||o.path("/license")}),e.sendLicenseToValidateAndActivate=p;const c=$(".license-textarea");function p(e){r.sendLicenseToValidate(e).success(function(o){o.present?(c.val(e),function(e,o){t.open({templateUrl:"js/angular/settings/modal/validate-license.html",controller:"ValidateLicenseModalCtrl",size:"lg",resolve:{license:function(){return e}}}).result.then(function(){!function(e){if(e||(e=c.val()),e){const o=atob(e.replace(/\s/g,""));r.registerLicense(o).success(function(){i.history.back()}).error(function(e){n.error(e,a.instant("license.register.error"))})}else n.error(a.instant("no.license.code.error"))}(o)})}(o,e)):(c.val(""),n.error(o.message))}).error(function(){n.error(a.instant("invalid.license"))})}e.$watch("currentFile",function(){if(e.currentFile){const o=e.currentFile;r.extractFromLicenseFile(o).success(function(e){p(e)}).error(function(){n.error(a.instant("could.not.upload.file.error"))})}}),e.getBackToPreviousPage=function(){i.history.back()}}function s(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}}o.r(r),o(82493),o(98599),angular.module("graphdb.framework.settings.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","toastr"]).controller("ActiveLocationSettingsCtrl",t).controller("ValidateLicenseModalCtrl",s).controller("LicenseCtrl",n).controller("RegisterLicenseCtrl",i).controller("LoaderSamplesCtrl",a),t.$inject=["$scope","toastr","$uibModalInstance","LicenseRestService","$translate"],n.$inject=["$scope","LicenseRestService","$licenseService","toastr","$rootScope","ModalService","$translate","TrackingService"],i.$inject=["$scope","LicenseRestService","$location","$uibModal","toastr","$window","$jwtAuth","$translate"],s.$inject=["$scope","$uibModalInstance","license"],a.$inject=["$scope"]},47775:(e,r,o)=>{o.r(r),o.d(r,{OntopDriverData:()=>n});var t=o(12098);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===t.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===t.JdbcDriverType.SNOWFLAKE}}},54159:(e,r,o)=>{o.r(r),o.d(r,{OntopConnectionInformation:()=>t});class t{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},62677:()=>{function e(e,r,o,t){return{restrict:"E",scope:!0,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(n){const i="ResolvableRepository",s="RemoteRepository",a="SPARQLEndpoint",c="NativeStore";function p(){for(const e of n.fedxMembers)n.knownRepos=n.knownRepos.filter(function(r){return e.repositoryServer?r.id!==e.repositoryName||r.location!==e.repositoryServer:r.id!==e.repositoryName||!r.local})}function l(){r.getRepositories(n.repositoryInfo.location).success(function(e){let r=[];_.values(e).forEach(e=>{r.push.apply(r,e)}),n.allAttachedRepos=_.cloneDeep(r)}).error(function(e){const r=getError(e);o.error(r,t.instant("common.error"))}).then(function(){n.knownRepos=n.allAttachedRepos.slice(),p()})}n.fedxMembers=[],n.knownRepos=[],n.allAttachedRepos=[],n.editRepoPage&&(n.fedxMembers=n.repositoryInfo.params.member.value.slice()),n.setWritableRepo=function(e){let r=n.fedxMembers.find(e=>"true"===e.writable);r&&((r.store!==i||e.store===i&&r.repositoryName===e.repositoryName)&&(r.store!==s||e.store===s&&r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)||(r.writable="false")),e.writable=JSON.stringify("false"===e.writable)},n.getActiveClass=function(e){return"true"===e.writable?" active":""},n.checkIfRepoExist=function(e){return!n.allAttachedRepos.length||(e.store===i?n.allAttachedRepos.find(r=>r.id===e.repositoryName&&!r.location):e.store!==s||n.allAttachedRepos.find(r=>r.id===e.repositoryName&&r.location===e.repositoryServer))},n.getRepositoryServer=function(e){return e.local?"Local":e.location};const d=setInterval(function(){l()},5e3);function m(e){n.fedxMembers.push(e),n.repositoryInfo.params.member.value=n.fedxMembers}function f(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return n.editRepoPage&&!n.editRepoPage||!n.model.editMode}n.$on("$destroy",function(){clearInterval(d)}),n.addMember=function(e){let r;r="Local"===n.getRepositoryServer(e)?{store:i,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"}:{store:s,repositoryName:e.id,repositoryServer:e.location,username:"",password:"",supportsASKQueries:"true",writable:"false"},n.knownRepos=n.knownRepos.filter(r=>r.id!==e.id||r.location!==e.location),m(r)},n.removeMember=function(e){e.store&&e.store===i?(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName&&!r.repositoryServer),l()):e.store&&e.store===a?n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&e.store===c?n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&e.store===s&&(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer),l()),n.repositoryInfo.params.member.value=n.fedxMembers},n.addRemoteMember=function(){n.mode="remote",n.model={editMode:!1,store:s,repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:e.store===c?"icon-warning":"icon-link"},n.editFedXRepository=function(r){r.store===i?(n.mode="local",n.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(n.mode="remote",n.model={editMode:!0,store:r.store,repositoryName:r.repositoryName,repositoryServer:r.repositoryServer,sparqlEndpoint:r.store===a?r.endpoint:r.repositoryLocation,username:r.username,password:r.password,supportsASKQueries:r.supportsASKQueries,writable:r.writable}),n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.resolveName=function(e){switch(e.store){case i:return e.repositoryName;case s:return e.repositoryName+"@"+e.repositoryServer;case a:return e.endpoint;case c:return e.repositoryLocation;default:return""}},n.cancel=function(){n.$uibModalInstance.dismiss("cancel")},n.ok=function(){let e;if(n.model.repositoryName&&n.model.store===i)e={store:i,repositoryName:n.model.repositoryName,repoType:n.model.repoType,respectRights:n.model.respectRights,writable:n.model.writable},n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(n.model.repositoryName&&n.model.store===s){if(e={store:s,repositoryName:n.model.repositoryName,repositoryServer:f(n.model.repositoryServer),username:n.model.username,password:n.model.password,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.member.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:a,endpoint:f(n.model.sparqlEndpoint),username:n.model.username,password:n.model.password,supportsASKQueries:n.model.supportsASKQueries,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.sparql.endpoint.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}m(e),p(),n.$uibModalInstance.close()},n.$on("changedLocation",function(){n.fedxMembers=[],l()}),l()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",e),e.$inject=["$uibModal","RepositoriesRestService","toastr","$translate"]},64803:(e,r,o)=>{o.r(r),o.d(r,{OntopFileType:()=>t});const t={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},69112:(e,r,o)=>{function t(e){e.interceptors.push("$authenticationInterceptor")}function n(e,r,o){e.$on("$locationChangeStart",function(){o.isLicenseHardcoded()&&"/license/register"===r.url()&&r.path("license")})}o.r(r),o(82493),o(5687),o(21774),o(46570),o(9619),o(35805),o(98599),o(47195),o(56669),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.interceptors.authentication","graphdb.framework.core.services.jwtauth"]).config(t).run(n),t.$inject=["$httpProvider","$routeProvider"],n.$inject=["$rootScope","$location","$licenseService"]},94003:(e,r,o)=>{o.r(r),o.d(r,{OntopRepositoryError:()=>t});class t extends Error{}}};
//# sourceMappingURL=41621.624ba3d867bc05b5c3cc.bundle.js.map