UNPKG

graphdb-workbench

Version:
2 lines 19.6 kB
export const __webpack_esm_id__=41621;export const __webpack_esm_ids__=[12098,14824,41621,44207,46570,47775,54159,62677,64803,69112,94003];export const __webpack_esm_modules__={12098:(e,r,t)=>{t.d(r,{s:()=>o});const o={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},14824:(e,r,t)=>{var o=t(46591),s=t(64803),n=t(54159),i=t(44207),a=t(94003),c=t(47775),l=t(12098);const p=t(304).I.logger;function d(e,r,t,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=s.x,f.selectedDriver=new c.t,f.supportedDriversData=[],f.formData={connectionInformation:new n.L,settings:{additionalProperties:"",ontopFiles:[]}},f.selectDriver=e=>{f.selectedDriver=f.supportedDriversData.find(r=>r.driverType===e),f.isGenericDriver=c.t.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.t.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 l.s.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case l.s.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case l.s.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.t.isGenericDriver(r.driverType)||e.hostName&&e.databaseName))},f.testConnection=()=>{w().then(M).then(I).then(N).then(S).then(y).then(()=>r.validateOntopPropertiesConnection(f.repositoryInfo)).then(()=>t.success(m.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof a.L?t.error(e.message):D(m.instant("ontop.repo.failed.to.connect"),e)})},f.editFile=t=>{const s=f.repositoryInfo.params[t.type].label,n=m.instant("update.file.edit.content.header",{fileName:s});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=f.repositoryInfo.params[t.type];return e?e.value:""},dialogTitle:()=>n,location:()=>f.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,f.repositoryInfo.location).success(e=>{t.fileName=(0,o.W)(e.fileLocation),f.repositoryInfo.params[t.type].value=e.fileLocation}).error(e=>{D(m.instant("common.error"),e)})})},f.uploadOntopFile=(e,r)=>{if(e&&e.length){const o=e[0];r.loading=!0;const s={url:"rest/repositories/file/upload",data:{file:o,location:f.repositoryInfo.location}};d.upload(s).success(e=>{e.success?(r.fileName=o.name,f.repositoryInfo.params[r.type].value=e.fileLocation):t.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;R().then(w).then(M).then(I).then(N).then(S).then(L).then(y).then(e).catch(e=>{e instanceof a.L?t.error(e.message):p.info(e)})},f.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const t=v();if(!t)return;const o=e.ctrlKey||e.metaKey;if(o&&65===r||o&&67===r)return;const s=e.target.selectionStart;8===r&&s-1<t.length&&(e.preventDefault(),e.stopPropagation()),s<t.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.t.isSnowflakeDriver(f.selectedDriver.driverType)?g():h(),g=()=>{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},h=()=>{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})},y=()=>{b(!0);const e=f.formData.connectionInformation,t={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,t,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 o=getError(r);t.error(o,e)},w=()=>c.t.isGenericDriver(f.selectedDriver.driverType)||f.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new a.L(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.host_name")}))),I=()=>c.t.isGenericDriver(f.selectedDriver.driverType)||f.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new a.L(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.database_name")}))),N=()=>f.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new a.L(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.driver_class")}))),S=()=>f.formData.connectionInformation.url?Promise.resolve():Promise.reject(new a.L(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.url")}))),R=()=>f.repositoryInfo.id?Promise.resolve():Promise.reject(new a.L(m.instant("empty.repoid.warning"))),L=()=>f.getOntopFileInfo(s.x.OBDA).fileName?Promise.resolve():Promise.reject(new a.L(m.instant("ontop.repo.missing.required.file",{fileName:f.repositoryInfo.params[s.x.OBDA].label}))),M=()=>f.selectedDriver.portRequired&&!f.formData.connectionInformation.port?Promise.reject(new a.L(m.instant("missing.required.field",{fieldName:m.instant("ontop.repo.database.port")}))):Promise.resolve(),k=()=>{f.formData={connectionInformation:new n.L,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(s.x).forEach(e=>{const r=new i.T(e);f.formData.settings.ontopFiles.push(r)}),f.getOntopFileInfo(s.x.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.t.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.t.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(s.x).forEach(e=>{const r=f.repositoryInfo.params[e],t=f.getOntopFileInfo(e);r&&(t.fileName=(0,o.W)(r.value))}),f.currentOntopRepoInfo=_.cloneDeep(f.formData)}).error(e=>{D(m.instant("common.error"),e)}).finally(()=>{b(!1)})):f.selectDriver(l.s.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",d),d.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]},41621:(e,r,t)=>{t(82493),t(5687),t(60116),t(46591),t(14824),t(62677),t(76933),t(69112),t(47195),t(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,t)=>{t.d(r,{T:()=>o});class o{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},46570:(e,r,t)=>{t(82493),t(98599);var o=t(57154);function s(e,r,t,o,s){e.supportsStatistics=!0,e.settings={statistics:!1},e.getSettings=function(){e.loader=!0,o.getStatistics().then(function(r){e.settings.statistics="true"===r.data,e.supportsStatistics=!0},function(t){if(404===t.status)e.supportsStatistics=!1;else{const e=getError(t.data);r.error(e,s.instant("error.getting.settings"))}})},e.getSettings(),e.setSettings=function(){e.loader=!0,o.toggleStatistics(e.settings.statistics).then(function(){t.close(),r.success(s.instant("saving.settings.success"))},function(e){const t=getError(e.data);r.error(t,s.instant("saving.settings.error"))})},e.submitForm=function(){e.setSettings()},e.cancel=function(){t.dismiss("cancel")}}function n(e,r,t,s,n,i){const a=(0,o.service)(o.LicenseService),c=(0,o.service)(o.LicenseContextService);e.isLicenseHardcoded=!0,e.removeLicense=function(){s.openSimpleModal({title:n.instant("confirm.operation"),message:n.instant("remove.license.warning.msg"),warning:!0}).result.then(()=>a.unregisterLicense()).then(()=>a.updateLicenseStatus()).then(()=>i.applyTrackingConsent()).catch(e=>{const t=getError(e.data,e.status);r.error(t,n.instant("common.error"))})};const l=c.onIsLicenseHardcodedChanged(r=>e.isLicenseHardcoded=r);e.$on("$destroy",()=>{l?.()})}function i(e,r,t,s,n,i,a){const c=(0,o.service)(o.AuthorizationService),l=(0,o.service)(o.LicenseService);e.isLicenseHardcodedValue=!0,c.isAdmin()||o.RoutingUtil.navigate("license"),e.validateLicenseCode=e=>{d(e)};const p=$(".license-textarea");e.$watch("currentFile",function(){if(e.currentFile){const r=e.currentFile;l.extractFromLicenseFile(r).then(e=>{d(e)}).catch(()=>{s.error(a.instant("could.not.upload.file.error"))})}}),e.getBackToPreviousPage=function(){n.history.back()};const d=e=>{l.validateLicense(e).then(r=>{r.present?(p.val(e),function(e,r){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=p.val()),e){const r=atob(e.replace(/\s/g,""));l.registerLicense(r).then(()=>{const e=(0,o.service)(o.NavigationContextService).getPreviousRoute();(0,o.navigate)(e??"./")}).catch(e=>{const r=getError(e);s.error(r,a.instant("license.register.error"))})}else s.error(a.instant("no.license.code.error"))}(r)})}(r,e)):(p.val(""),s.error(r.message))}).catch(()=>{s.error(a.instant("invalid.license"))})}}function a(e,r,t){e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")},e.license=t}function c(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",s).controller("ValidateLicenseModalCtrl",a).controller("LicenseCtrl",n).controller("RegisterLicenseCtrl",i).controller("LoaderSamplesCtrl",c),s.$inject=["$scope","toastr","$uibModalInstance","LicenseRestService","$translate"],n.$inject=["$scope","toastr","$rootScope","ModalService","$translate","TrackingService"],i.$inject=["$scope","$location","$uibModal","toastr","$window","$jwtAuth","$translate"],a.$inject=["$scope","$uibModalInstance","license"],c.$inject=["$scope"]},47775:(e,r,t)=>{t.d(r,{t:()=>s});var o=t(12098);class s{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===o.s.GENERIC}static isSnowflakeDriver(e){return e===o.s.SNOWFLAKE}}},54159:(e,r,t)=>{t.d(r,{L:()=>o});class o{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,t,o){return{restrict:"E",scope:!0,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(s){const n="ResolvableRepository",i="RemoteRepository",a="SPARQLEndpoint",c="NativeStore";function l(){for(const e of s.fedxMembers)s.knownRepos=s.knownRepos.filter(function(r){return e.repositoryServer?r.id!==e.repositoryName||r.location!==e.repositoryServer:r.id!==e.repositoryName||!r.local})}function p(){r.getRepositories(s.repositoryInfo.location).success(function(e){let r=[];_.values(e).forEach(e=>{r.push.apply(r,e)}),s.allAttachedRepos=_.cloneDeep(r)}).error(function(e){const r=getError(e);t.error(r,o.instant("common.error"))}).then(function(){s.knownRepos=s.allAttachedRepos.slice(),l()})}s.fedxMembers=[],s.knownRepos=[],s.allAttachedRepos=[],s.editRepoPage&&(s.fedxMembers=s.repositoryInfo.params.member.value.slice()),s.setWritableRepo=function(e){let r=s.fedxMembers.find(e=>"true"===e.writable);r&&((r.store!==n||e.store===n&&r.repositoryName===e.repositoryName)&&(r.store!==i||e.store===i&&r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)||(r.writable="false")),e.writable=JSON.stringify("false"===e.writable)},s.getActiveClass=function(e){return"true"===e.writable?" active":""},s.checkIfRepoExist=function(e){return!s.allAttachedRepos.length||(e.store===n?s.allAttachedRepos.find(r=>r.id===e.repositoryName&&!r.location):e.store!==i||s.allAttachedRepos.find(r=>r.id===e.repositoryName&&r.location===e.repositoryServer))},s.getRepositoryServer=function(e){return e.local?"Local":e.location};const d=setInterval(function(){p()},5e3);function m(e){s.fedxMembers.push(e),s.repositoryInfo.params.member.value=s.fedxMembers}function f(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return s.editRepoPage&&!s.editRepoPage||!s.model.editMode}s.$on("$destroy",function(){clearInterval(d)}),s.addMember=function(e){let r;r="Local"===s.getRepositoryServer(e)?{store:n,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"}:{store:i,repositoryName:e.id,repositoryServer:e.location,username:"",password:"",supportsASKQueries:"true",writable:"false"},s.knownRepos=s.knownRepos.filter(r=>r.id!==e.id||r.location!==e.location),m(r)},s.removeMember=function(e){e.store&&e.store===n?(s.fedxMembers=s.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName&&!r.repositoryServer),p()):e.store&&e.store===a?s.fedxMembers=s.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&e.store===c?s.fedxMembers=s.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&e.store===i&&(s.fedxMembers=s.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer),p()),s.repositoryInfo.params.member.value=s.fedxMembers},s.addRemoteMember=function(){s.mode="remote",s.model={editMode:!1,store:i,repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},s.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:s})},s.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:e.store===c?"ri-alert-line":"ri-links-line"},s.editFedXRepository=function(r){r.store===n?(s.mode="local",s.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(s.mode="remote",s.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}),s.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:s})},s.resolveName=function(e){switch(e.store){case n:return e.repositoryName;case i:return e.repositoryName+"@"+e.repositoryServer;case a:return e.endpoint;case c:return e.repositoryLocation;default:return""}},s.cancel=function(){s.$uibModalInstance.dismiss("cancel")},s.ok=function(){let e;if(s.model.repositoryName&&s.model.store===n)e={store:n,repositoryName:s.model.repositoryName,repoType:s.model.repoType,respectRights:s.model.respectRights,writable:s.model.writable},s.fedxMembers=s.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(s.model.repositoryName&&s.model.store===i){if(e={store:i,repositoryName:s.model.repositoryName,repositoryServer:f(s.model.repositoryServer),username:s.model.username,password:s.model.password,writable:s.model.writable},u()&&s.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=s.resolveName(e);return t.error(o.instant("fedx.repo.already.added.member.error",{name:r})),void s.$uibModalInstance.close()}s.fedxMembers=s.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:a,endpoint:f(s.model.sparqlEndpoint),username:s.model.username,password:s.model.password,supportsASKQueries:s.model.supportsASKQueries,writable:s.model.writable},u()&&s.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=s.resolveName(e);return t.error(o.instant("fedx.repo.already.added.sparql.endpoint.error",{name:r})),void s.$uibModalInstance.close()}s.fedxMembers=s.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}m(e),l(),s.$uibModalInstance.close()},s.$on("changedLocation",function(){s.fedxMembers=[],p()}),p()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",e),e.$inject=["$uibModal","RepositoriesRestService","toastr","$translate"]},64803:(e,r,t)=>{t.d(r,{x:()=>o});const o={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},69112:(e,r,t)=>{t(82493),t(5687),t(21774),t(46570),t(9619),t(35805),t(98599),t(47195),t(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"])},94003:(e,r,t)=>{t.d(r,{L:()=>o});class o extends Error{}}}; //# sourceMappingURL=41621.9fb7aba6ba1b89ecd692.bundle.js.map