graphdb-workbench 2.0.0-RC2 → 2.0.0-RC3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/11.3957302d7a301df30dd1.bundle.js +1 -1
  2. package/dist/11.3957302d7a301df30dd1.bundle.js.map +1 -1
  3. package/dist/120.80843604737b7c260788.bundle.js +1 -1
  4. package/dist/120.80843604737b7c260788.bundle.js.map +1 -1
  5. package/dist/18.44723ea06155c72f46ae.bundle.js +1 -1
  6. package/dist/18.44723ea06155c72f46ae.bundle.js.map +1 -1
  7. package/dist/25.9e0925889b3a3f79c7fe.bundle.js +1 -1
  8. package/dist/25.9e0925889b3a3f79c7fe.bundle.js.map +1 -1
  9. package/dist/29.9bdb27c21d6eacac1341.bundle.js +1 -1
  10. package/dist/29.9bdb27c21d6eacac1341.bundle.js.map +1 -1
  11. package/dist/30.34b74ada583b1b0af913.bundle.js +1 -1
  12. package/dist/30.34b74ada583b1b0af913.bundle.js.map +1 -1
  13. package/dist/5.768be5dd0364773b2622.bundle.js +2 -0
  14. package/dist/5.768be5dd0364773b2622.bundle.js.map +1 -0
  15. package/dist/68.e25480b7770a679a9654.bundle.js +1 -1
  16. package/dist/68.e25480b7770a679a9654.bundle.js.map +1 -1
  17. package/dist/{bundle.7e4f5efd9843ba4c4905.bundle.js → bundle.a8677c75aad1ad7b3b6a.bundle.js} +4 -4
  18. package/dist/bundle.a8677c75aad1ad7b3b6a.bundle.js.map +1 -0
  19. package/dist/index.html +3 -3
  20. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  21. package/dist/pages/autocomplete.html +1 -1
  22. package/dist/pages/choose-repository-type.html +1 -1
  23. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  24. package/dist/pages/create-index.html +4 -4
  25. package/dist/pages/dependencies.html +1 -1
  26. package/dist/pages/domainRangeInfo.html +2 -2
  27. package/dist/pages/edit.html +1 -1
  28. package/dist/pages/explore.html +1 -1
  29. package/dist/pages/export.html +1 -1
  30. package/dist/pages/find.html +1 -1
  31. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  32. package/dist/pages/graphs-visualizations.html +7 -7
  33. package/dist/pages/import.html +1 -1
  34. package/dist/pages/jdbc-create.html +5 -5
  35. package/dist/pages/monitor/queries.html +1 -1
  36. package/dist/pages/monitor/resources.html +2 -2
  37. package/dist/pages/namespaces.html +2 -2
  38. package/dist/pages/plugins.html +1 -1
  39. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  40. package/dist/pages/rdfrank.html +2 -2
  41. package/dist/pages/repositories.html +2 -2
  42. package/dist/pages/repository.html +2 -2
  43. package/dist/pages/similarity-indexes.html +1 -1
  44. package/dist/pages/sparql-template-create.html +5 -5
  45. package/dist/pages/sparql.html +3 -3
  46. package/dist/pages/webapi.html +2 -2
  47. package/dist/res/swagger/index.html +27 -27
  48. package/package.json +1 -1
  49. package/dist/5.1e4e7e36d894360b8d8f.bundle.js +0 -2
  50. package/dist/5.1e4e7e36d894360b8d8f.bundle.js.map +0 -1
  51. package/dist/bundle.7e4f5efd9843ba4c4905.bundle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/repositories/repository.constants.js","webpack:///./src/js/angular/repositories/controllers.js"],"names":["STATIC_RULESETS","id","name","REPOSITORY_TYPES","graphdbRepo","free","eeWorker","eeMaster","ontop","se","fedx","FILENAME_PATTERN","RegExp","NUMBER_PATTERN","getFileName","path","lastIdx","lastIndexOf","substring","parseNumberParamsIfNeeded","params","queryTimeout","value","parseInt","queryLimitResults","validationResultsLimitTotal","validationResultsLimitPerConstraint","leftJoinWorkerThreads","boundJoinBlockSize","joinWorkerThreads","unionWorkerThreads","parseMemberParamIfNeeded","param","member","getShaclOptionsClass","optionsModule","document","getElementById","isAriaExpanded","getAttribute","validateNumberFields","invalidValues","isInvalidQueryTimeout","test","isInvalidValidationResultsLimitTotal","isInvalidValidationResultsLimitPerConstraint","isInvalidQueryLimit","isInvalidLeftJoinWorkerThreads","isInvalidBoundJoinBlockSize","isInvalidJoinWorkerThreads","isInvalidUnionWorkerThreads","getInvalidParameterErrorMessage","$translate","instant","checkInvalidValues","invalidValuesKeys","Object","keys","invalidValuesVal","values","i","length","getDocBase","productInfo","productShortVersion","getFilteredLocations","$repositories","getLocations","then","locations","result","filter","location","errorMsg","degradedReason","filterLocations","LocationsAndRepositoriesCtrl","$scope","$modal","toastr","ModalService","$jwtAuth","LocationsRestService","LocalStorageAdapter","$interval","finally","loader","isLocationInactive","active","hasActiveLocation","getActiveLocation","getLocationError","getDegradedReason","getRepositories","isRepoActive","repo","deleteLocation","uri","openSimpleModal","title","message","warning","addLocationHttp","dataAddLocation","addLocation","success","init","error","data","msg","getError","open","templateUrl","windowClass","controller","editLocationHttp","dataEditLocation","editLocation","resolve","setRepository","deleteRepository","repository","repositoryId","cashedDependenciesGraphPrefix","cashedClassHierarchyGraphPrefix","angular","forEach","key","startsWith","remove","removeCachedGraphsOnDelete","restartRepository","toggleDefaultRepository","getDefaultRepository","setDefaultRepository","getRepositoryDownloadLink","url","type","token","getAuthToken","encodeURIComponent","copyToClipboard","openCopyToClipboardModal","fromFile","openActiveLocationSettings","timer","initQuick","$on","cancel","getRepositoriesFromLocation","locationId","UploadRepositoryConfigCtrl","$modalInstance","Upload","upload","files","uploadFile","ok","uploadFileLoader","method","config","close","dismiss","AddLocationCtrl","newLocation","docBase","isValidLocation","indexOf","EditLocationCtrl","editedLocation","copy","ChooseRepositoryCtrl","$location","repositoryTypes","chooseRepositoryType","repoType","AddRepositoryCtrl","$timeout","$routeParams","RepositoriesRestService","repositoryType","rulesets","slice","enable","pageTitle","repositoryInfo","changedLocation","$broadcast","getConfig","getRepositoryConfiguration","element","find","focus","isEnterprise","isValidEERepository","isFreeEdition","isValidSERepository","isValidFRRepository","isValidOntopRepository","isValidFedXRepository","setPageTitle","activeLocation","isInvalidPieFile","uploadRuleset","ruleset","progress","evt","fileName","newValue","fileLocation","rulesetPie","unshift","rulesetPieFile","errorMessage","noMembersError","goBackToPreviousLocation","isDefined","previous","$$search","createRepoHttp","createRepository","repoId","createRepo","isInvalidRepoName","rulesetWarning","pp","undefined","disableSameAs","validateNumberInput","autofocusId","EditRepositoryFileCtrl","file","getRepositoryFileContent","fileContent","content","EditRepositoryCtrl","editRepoPage","canEditRepoId","restartRequested","saveRepoId","$watch","getRepository","response","ifRulesetExists","item","setRepositoryType","saveId","catch","status","toastrMsg","allowHtml","setTimeout","editRepoHttp","editRepository","modalMsg","editRepositoryId","module","$inject"],"mappings":"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","file":"5.1e4e7e36d894360b8d8f.bundle.js","sourcesContent":["export const STATIC_RULESETS = [\n {id: 'empty', name: 'No inference'},\n {id: 'rdfs-optimized', name: 'RDFS (Optimized)'},\n {id: 'rdfs', name: 'RDFS'},\n {id: 'rdfsplus-optimized', name: 'RDFS-Plus (Optimized)'},\n {id: 'owl-horst-optimized', name: 'OWL-Horst (Optimized)'},\n {id: 'owl-horst', name: 'OWL-Horst'},\n {id: 'owl2-ql-optimized', name: 'OWL2-QL (Optimized)'},\n {id: 'owl2-ql', name: 'OWL2-QL'},\n {id: 'owl-max-optimized', name: 'OWL-Max (Optimized)'},\n {id: 'owl-max', name: 'OWL-Max'},\n {id: 'owl2-rl-optimized', name: 'OWL2-RL (Optimized)'},\n {id: 'owl2-rl', name: 'OWL2-RL'},\n\n];\n\nexport const REPOSITORY_TYPES = {graphdbRepo: 'graphdb', free: 'free', eeWorker: 'worker', eeMaster: 'master', ontop: 'ontop', se: 'se', fedx: 'fedx'};\nexport const FILENAME_PATTERN = new RegExp('^[a-zA-Z0-9-_]+$');\nexport const NUMBER_PATTERN = new RegExp('^[0-9]+$');\n","import {\n FILENAME_PATTERN,\n NUMBER_PATTERN,\n REPOSITORY_TYPES,\n STATIC_RULESETS\n} from \"./repository.constants\";\nimport {decodeHTML} from \"../../../app\";\n\nexport const getFileName = function (path) {\n let lastIdx = path.lastIndexOf('/');\n if (lastIdx === -1) {\n lastIdx = path.lastIndexOf('\\\\');\n }\n let name = path;\n if (lastIdx !== -1) {\n name = name.substring(lastIdx + 1);\n }\n return name;\n};\n\nconst parseNumberParamsIfNeeded = function (params) {\n if (params) {\n if (params.queryTimeout) {\n params.queryTimeout.value = parseInt(params.queryTimeout.value);\n }\n if (params.queryLimitResults && params.validationResultsLimitTotal && params.validationResultsLimitPerConstraint) {\n // Parse parameters properly to number\n params.queryLimitResults.value = parseInt(params.queryLimitResults.value);\n params.validationResultsLimitTotal.value = parseInt(params.validationResultsLimitTotal.value);\n params.validationResultsLimitPerConstraint.value = parseInt(params.validationResultsLimitPerConstraint.value);\n } else if (params.leftJoinWorkerThreads && params.boundJoinBlockSize && params.joinWorkerThreads && params.unionWorkerThreads) {\n params.leftJoinWorkerThreads.value = parseInt(params.leftJoinWorkerThreads.value);\n params.boundJoinBlockSize.value = parseInt(params.boundJoinBlockSize.value);\n params.joinWorkerThreads.value = parseInt(params.joinWorkerThreads.value);\n params.unionWorkerThreads.value = parseInt(params.unionWorkerThreads.value);\n }\n }\n};\n\nconst parseMemberParamIfNeeded = function (param) {\n if (param && param.member) {\n param.member.value = [];\n }\n};\n\nconst getShaclOptionsClass = function () {\n const optionsModule = document.getElementById('shaclOptions');\n\n if (optionsModule) {\n const isAriaExpanded = optionsModule.getAttribute('aria-expanded');\n if (isAriaExpanded && isAriaExpanded === 'true') {\n return 'fa fa-angle-down';\n }\n }\n return 'fa fa-angle-right';\n};\n\nconst validateNumberFields = function (params, invalidValues) {\n if (params.queryTimeout) {\n invalidValues.isInvalidQueryTimeout = !NUMBER_PATTERN.test(params.queryTimeout.value);\n }\n if (params.validationResultsLimitTotal && params.validationResultsLimitPerConstraint && params.queryLimitResults) {\n invalidValues.isInvalidValidationResultsLimitTotal = !NUMBER_PATTERN.test(params.validationResultsLimitTotal.value);\n invalidValues.isInvalidValidationResultsLimitPerConstraint = !NUMBER_PATTERN.test(params.validationResultsLimitPerConstraint.value);\n invalidValues.isInvalidQueryLimit = !NUMBER_PATTERN.test(params.queryLimitResults.value);\n } else if (params.leftJoinWorkerThreads && params.boundJoinBlockSize && params.joinWorkerThreads\n && params.unionWorkerThreads) {\n invalidValues.isInvalidLeftJoinWorkerThreads = !NUMBER_PATTERN.test(params.leftJoinWorkerThreads.value);\n invalidValues.isInvalidBoundJoinBlockSize = !NUMBER_PATTERN.test(params.boundJoinBlockSize.value);\n invalidValues.isInvalidJoinWorkerThreads = !NUMBER_PATTERN.test(params.joinWorkerThreads.value);\n invalidValues.isInvalidUnionWorkerThreads = !NUMBER_PATTERN.test(params.unionWorkerThreads.value);\n }\n};\n\nconst getInvalidParameterErrorMessage = function (param, $translate) {\n if (param === \"isInvalidQueryLimit\") {\n return $translate.instant('invalid.query.limit');\n } else if (param === \"isInvalidQueryTimeout\") {\n return $translate.instant('invalid.query.timeout');\n } else if (param === \"isInvalidValidationResultsLimitTotal\") {\n return $translate.instant('invalid.validation.results.limit.total');\n } else if (param === \"isInvalidValidationResultsLimitPerConstraint\") {\n return $translate.instant('invalid.validation.results.limit.per.constraint');\n } else if (param === \"isInvalidJoinWorkerThreads\") {\n return $translate.instant('invalid.join.worker.threads');\n } else if (param === \"isInvalidLeftJoinWorkerThreads\") {\n return $translate.instant('invalid.left.join.worker.threads');\n } else if (param === \"isInvalidUnionWorkerThreads\") {\n return $translate.instant('invalid.union.worker.threads');\n } else if (param === \"isInvalidBoundJoinBlockSize\") {\n return $translate.instant('invalid.bound.join.block.size');\n }\n};\n\nconst checkInvalidValues = function (invalidValues, $translate) {\n const invalidValuesKeys = Object.keys(invalidValues);\n const invalidValuesVal = Object.values(invalidValues);\n\n for (let i = 0; i < invalidValuesKeys.length; i++) {\n if (invalidValuesVal[i]) {\n return getInvalidParameterErrorMessage(invalidValuesKeys[i], $translate);\n }\n }\n return '';\n};\n\nconst getDocBase = function (productInfo) {\n return `https://graphdb.ontotext.com/documentation/${productInfo.productShortVersion}`;\n};\nconst filterLocations = function (result) {\n return result.filter((location) => !location.errorMsg && !location.degradedReason);\n};\n\n/**\n * Gets the remote locations that are error free and without degraded reason\n * @param {*} $repositories the repositories service\n * @return {[] | Promise} returns the locations as array or a promise of the array\n */\nconst getFilteredLocations = function ($repositories) {\n // Don't allow the user to create repository on location with error or degradeded reason\n return $repositories.getLocations().then((locations) => filterLocations(locations));\n};\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr',\n 'ngFileUpload'\n];\n\nangular.module('graphdb.framework.repositories.controllers', modules)\n .controller('LocationsAndRepositoriesCtrl', LocationsAndRepositoriesCtrl)\n .controller('AddLocationCtrl', AddLocationCtrl)\n .controller('EditLocationCtrl', EditLocationCtrl)\n .controller('ChooseRepositoryCtrl', ChooseRepositoryCtrl)\n .controller('AddRepositoryCtrl', AddRepositoryCtrl)\n .controller('EditRepositoryCtrl', EditRepositoryCtrl)\n .controller('EditRepositoryFileCtrl', EditRepositoryFileCtrl)\n .controller('UploadRepositoryConfigCtrl', UploadRepositoryConfigCtrl);\n\nLocationsAndRepositoriesCtrl.$inject = ['$scope', '$modal', 'toastr', '$repositories', 'ModalService', '$jwtAuth', 'LocationsRestService',\n 'LocalStorageAdapter', '$interval', '$translate'];\n\nfunction LocationsAndRepositoriesCtrl($scope, $modal, toastr, $repositories, ModalService, $jwtAuth, LocationsRestService,\n LocalStorageAdapter, $interval, $translate) {\n $scope.loader = true;\n\n\n $scope.isLocationInactive = function (location) {\n return !location.active || !$scope.hasActiveLocation();\n };\n\n //Get locations\n function getLocations() {\n return $repositories.getLocations()\n .then((locations) => {\n $scope.locations = locations;\n })\n .finally(() => $scope.loader = false);\n }\n\n $scope.hasActiveLocation = function () {\n return $repositories.hasActiveLocation();\n };\n\n $scope.getActiveLocation = function () {\n return $repositories.getActiveLocation();\n };\n\n $scope.getLocationError = function () {\n return $repositories.getLocationError();\n };\n\n $scope.getDegradedReason = function () {\n return $repositories.getDegradedReason();\n };\n\n $scope.getRepositories = function () {\n return $repositories.getRepositories();\n };\n\n $scope.isRepoActive = function (repo) {\n return $repositories.isRepoActive(repo);\n };\n\n //Delete location\n $scope.deleteLocation = function (uri) {\n ModalService.openSimpleModal({\n title: $translate.instant('location.confirm.detach'),\n message: $translate.instant('location.confirm.detach.warning', {uri: uri}),\n warning: true\n }).result\n .then(function () {\n $scope.loader = true;\n $repositories.deleteLocation(uri).finally(() => getLocations());\n });\n };\n\n //Add new location\n\n $scope.addLocationHttp = function (dataAddLocation) {\n $scope.loader = true;\n LocationsRestService.addLocation(dataAddLocation)\n .success(function () {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n $scope.addLocation = function () {\n $modal.open({\n templateUrl: 'js/angular/templates/modal/add-location.html',\n windowClass: 'addLocationDialog',\n controller: 'AddLocationCtrl'\n }).result\n .then(function (dataAddLocation) {\n $scope.addLocationHttp(dataAddLocation);\n });\n };\n\n //Edit location\n $scope.editLocationHttp = function (dataEditLocation) {\n $scope.loader = true;\n LocationsRestService.editLocation(dataEditLocation)\n .success(function () {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n $scope.editLocation = function (location) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/edit-location.html',\n controller: 'EditLocationCtrl',\n resolve: {\n location: function () {\n return location;\n }\n }\n });\n\n modalInstance.result.then(function (dataEditLocation) {\n $scope.editLocationHttp(dataEditLocation);\n }, function () {\n });\n };\n\n //Change repository\n $scope.setRepository = function (repo) {\n $repositories.setRepository(repo);\n };\n\n //Delete repository\n $scope.deleteRepository = function (repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: decodeHTML($translate.instant('delete.repo.warning.msg', {repositoryId: repository.id})),\n warning: true\n }).result\n .then(function () {\n $scope.loader = true;\n $repositories.deleteRepository(repository).finally(() => $scope.loader = false);\n removeCachedGraphsOnDelete(repository);\n });\n };\n\n $scope.restartRepository = function (repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.restart.repo'),\n message: decodeHTML($translate.instant('confirm.restart.repo.warning.msg', {repositoryId: repository.id})),\n warning: true\n }).result\n .then(function () {\n $scope.loader = true;\n $repositories.restartRepository(repository).finally(() => getLocations());\n });\n };\n\n $scope.toggleDefaultRepository = function (repositoryId) {\n if ($scope.getDefaultRepository() === repositoryId) {\n // unset\n $repositories.setDefaultRepository(null);\n } else {\n // set\n $repositories.setDefaultRepository(repositoryId);\n }\n };\n\n $scope.getDefaultRepository = function () {\n return $repositories.getDefaultRepository();\n };\n\n /* Unused, data urls don't behave well in all browsers, avoid them when possible\n $scope.getRepoTurtleConfig = function (repository) {\n function downloadRepoConfig(repoTurtleConfig, repository) {\n $('.download-turtle-config')\n .mouseup(function () {\n $(this)\n .attr('href', repoTurtleConfig)\n .attr('download', repository.id + '-config.ttl')\n });\n }\n\n $repositories.getRepositoryTurtleConfig(repository)\n .success(function (response) {\n var repoTurtleConfigDownload = 'data:application/octet-stream;charset=utf-8;base64,'\n + btoa(unescape(encodeURIComponent(response)));\n downloadRepoConfig(repoTurtleConfigDownload, repository);\n })\n .error(function () {\n toastr.error('Error getting repository configuration for '' + repository.id + ''');\n });\n };\n */\n\n $scope.getRepositoryDownloadLink = function (repository) {\n let url = `rest/repositories/${repository.id}${(repository.type === REPOSITORY_TYPES.ontop ? '/download-zip'\n : '/download-ttl')}?location=${repository.location}`;\n const token = $jwtAuth.getAuthToken();\n if (token) {\n url = `${url}&authToken=${encodeURIComponent(token)}`;\n }\n return url;\n };\n\n ///Copy to clipboard popover options\n $scope.copyToClipboard = function (uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.fromFile = function () {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/upload-repository-config.html',\n controller: 'UploadRepositoryConfigCtrl'\n });\n modalInstance.result.then(function () {\n $repositories.init();\n });\n };\n\n //Delete repository\n $scope.openActiveLocationSettings = function () {\n $modal.open({\n templateUrl: 'js/angular/settings/modal/location-settings.html',\n controller: 'ActiveLocationSettingsCtrl'\n });\n };\n\n getLocations();\n const timer = $interval(function () {\n // Update repositories state\n $repositories.initQuick();\n getLocations();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n\n function removeCachedGraphsOnDelete(repo) {\n const cashedDependenciesGraphPrefix = `dependencies-selectedGraph-${repo.id}`;\n const cashedClassHierarchyGraphPrefix = `classHierarchy-selectedGraph-${repo.id}`;\n angular.forEach(LocalStorageAdapter.keys(), function (key) {\n // remove everything but the hide prefixes setting, it should always persist\n if (key.startsWith(cashedClassHierarchyGraphPrefix) || key.startsWith(cashedDependenciesGraphPrefix)) {\n LocalStorageAdapter.remove(key);\n }\n });\n }\n\n $scope.getRepositoriesFromLocation = function (locationId) {\n return $repositories.getRepositoriesFromLocation(locationId);\n };\n}\n\nUploadRepositoryConfigCtrl.$inject = ['$scope', '$modalInstance', 'Upload', 'toastr', '$translate'];\n\nfunction UploadRepositoryConfigCtrl($scope, $modalInstance, Upload, toastr, $translate) {\n $scope.upload = function (files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n }\n };\n $scope.ok = function () {\n if ($scope.uploadFile) {\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories',\n method: 'POST',\n data: {config: $scope.uploadFile}\n })\n .success(function () {\n $scope.uploadFileLoader = false;\n $modalInstance.close();\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFileLoader = false;\n });\n }\n };\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nAddLocationCtrl.$inject = ['$scope', '$modalInstance', 'toastr', 'productInfo', '$translate'];\n\nfunction AddLocationCtrl($scope, $modalInstance, toastr, productInfo, $translate) {\n\n $scope.newLocation = {\n 'uri': '',\n 'authType': 'none',\n 'username': '',\n 'password': '',\n 'active': false\n };\n $scope.docBase = getDocBase(productInfo);\n\n $scope.isValidLocation = function () {\n return ($scope.newLocation.uri.length < 6 ||\n $scope.newLocation.uri.indexOf('http:') === 0 || $scope.newLocation.uri.indexOf('https:') === 0)\n && $scope.newLocation.uri.indexOf('/repositories') <= -1;\n };\n\n $scope.ok = function () {\n if (!$scope.newLocation) {\n toastr.error($translate.instant('location.cannot.be.empty.error'));\n return;\n }\n $modalInstance.close($scope.newLocation);\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nEditLocationCtrl.$inject = ['$scope', '$modalInstance', 'location', 'productInfo'];\n\nfunction EditLocationCtrl($scope, $modalInstance, location, productInfo) {\n\n $scope.editedLocation = angular.copy(location);\n $scope.docBase = getDocBase(productInfo);\n\n $scope.ok = function () {\n $modalInstance.close($scope.editedLocation);\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nChooseRepositoryCtrl.$inject = ['$scope', '$location'];\n\nfunction ChooseRepositoryCtrl($scope, $location) {\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.chooseRepositoryType = function (repoType) {\n $location.path(`${$location.path()}/${repoType}`);\n };\n}\n\nAddRepositoryCtrl.$inject = ['$scope', 'toastr', '$repositories', '$location', '$timeout', 'Upload', '$routeParams',\n 'RepositoriesRestService', '$translate'];\n\nfunction AddRepositoryCtrl($scope, toastr, $repositories, $location, $timeout, Upload, $routeParams, RepositoriesRestService, $translate) {\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.params = $routeParams;\n $scope.repositoryType = $routeParams.repositoryType;\n $scope.enable = true;\n\n $scope.loader = true;\n $scope.pageTitle = $translate.instant('view.create.repo.title');\n $scope.repositoryInfo = {\n id: '',\n params: {},\n title: '',\n type: '',\n location: ''\n };\n\n $scope.invalidValues = {\n isInvalidQueryTimeout: false,\n isInvalidQueryLimit: false,\n isInvalidLeftJoinWorkerThreads: false,\n isInvalidBoundJoinBlockSize: false,\n isInvalidJoinWorkerThreads: false,\n isInvalidUnionWorkerThreads: false,\n isInvalidValidationResultsLimitPerConstraint: false,\n isInvalidValidationResultsLimitTotal: false\n };\n\n getFilteredLocations($repositories)\n .then((locations) => {\n $scope.locations = locations;\n });\n\n $scope.changedLocation = function () {\n $scope.$broadcast('changedLocation');\n };\n\n function isValidEERepository(repositoryType) {\n return $scope.isEnterprise() && (repositoryType === REPOSITORY_TYPES.graphdbRepo);\n }\n\n function isValidSERepository(repositoryType) {\n return !$scope.isFreeEdition() && !$scope.isEnterprise() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidFRRepository(repositoryType) {\n return $scope.isFreeEdition() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidOntopRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.ontop;\n }\n\n function isValidFedXRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.fedx;\n }\n\n function isRepositoryTypeValid(repositoryType) {\n return isValidEERepository(repositoryType) || isValidSERepository(repositoryType)\n || isValidFRRepository(repositoryType) || isValidOntopRepository(repositoryType)\n || isValidFedXRepository(repositoryType);\n }\n\n function setPageTitle(repositoryType) {\n switch (repositoryType) {\n case REPOSITORY_TYPES.graphdbRepo:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'GraphDB'});\n break;\n case REPOSITORY_TYPES.ontop:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'Ontop Virtual SPARQL'});\n break;\n case REPOSITORY_TYPES.fedx:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'FedX Virtual SPARQL'});\n break;\n }\n }\n\n $scope.getConfig = function (repoType) {\n RepositoriesRestService.getRepositoryConfiguration(repoType).success(function (data) {\n $scope.repositoryInfo.params = data.params;\n $scope.repositoryInfo.type = data.type;\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n parseMemberParamIfNeeded($scope.repositoryInfo.params);\n $scope.loader = false;\n // The clean way is the \"autofocus\" attribute and we use it but it doesn't seem to\n // work in all browsers because of the way dynamic content is handled so give it another\n // try here.\n $timeout(function () {\n // Focus the ID field\n angular.element(document).find('#id').focus();\n }, 50);\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n if ($scope.repositoryType && isRepositoryTypeValid($scope.repositoryType)) {\n $scope.repositoryInfo.type = $scope.repositoryType;\n $scope.getConfig($scope.repositoryType);\n setPageTitle($scope.repositoryType);\n } else {\n $location.path('/repository/create');\n }\n\n $scope.hasActiveLocation = function () {\n return $repositories.hasActiveLocation();\n };\n\n $scope.activeLocation = function () {\n return $repositories.getActiveLocation();\n };\n\n let isInvalidPieFile = false;\n $scope.uploadRuleset = function (files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/ruleset/upload',\n data: {ruleset: $scope.uploadFile, location: $scope.repositoryInfo.location}\n }).progress(function (evt) {\n /*\t\t\t\t\t\tvar progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);*/\n }).success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n isInvalidPieFile = true;\n } else {\n const fileName = $scope.uploadFile.name;\n const newValue = {id: data.fileLocation, name: 'Custom: ' + fileName};\n if ($scope.rulesetPie) {\n // file was previously uploaded\n $scope.rulesets[0] = newValue;\n } else {\n // file uploaded for the first time\n $scope.rulesets.unshift(newValue);\n }\n $scope.rulesetPie = data.fileLocation;\n $scope.rulesetPieFile = fileName;\n $scope.repositoryInfo.params.ruleset.value = $scope.rulesetPie;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n };\n\n $scope.noMembersError = function () {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.goBackToPreviousLocation = function () {\n if (angular.isDefined($routeParams.previous)) {\n delete $location.$$search.previous;\n $location.path('/');\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.createRepoHttp = function () {\n $scope.loader = true;\n RepositoriesRestService.createRepository($scope.repositoryInfo).success(function () {\n toastr.success($translate.instant('created.repo.success.msg', {repoId: $scope.repositoryInfo.id}));\n $repositories.init($scope.goBackToPreviousLocation);\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.createRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n const invalidValues = checkInvalidValues($scope.invalidValues, $translate);\n\n if (isInvalidPieFile) {\n toastr.error($translate.instant('invalid.ruleset.file.error'));\n } else if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (invalidValues) {\n toastr.error(invalidValues);\n } else {\n $scope.createRepoHttp();\n }\n };\n\n $scope.rulesetWarning = function () {\n const pp = $scope.repositoryInfo.params;\n if (pp === undefined || pp.ruleset === undefined || pp.disableSameAs === undefined) {\n return '';\n }\n\n if (pp.ruleset.value.indexOf('owl') === 0 && pp.disableSameAs.value === 'true') {\n return $translate.instant('repoTooltips.rulesetWarnings.needsSameAs');\n } else if (pp.ruleset.value.indexOf('rdfs') === 0 && pp.disableSameAs.value === 'false') {\n return $translate.instant('repoTooltips.rulesetWarnings.doesntNeedSameAs');\n } else if (pp.ruleset.value === $scope.rulesetPie) {\n return $translate.instant('repoTooltips.rulesetWarnings.customRuleset');\n } else {\n return '';\n }\n };\n\n $scope.validateNumberInput = function () {\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n };\n\n $scope.getShaclOptionsClass = function () {\n return getShaclOptionsClass();\n };\n //TODO - check if repositoryID exist\n\n // Request auto-focus of the ID input when creating a repo (but not when editing)\n $scope.autofocusId = 'autofocus';\n}\n\nEditRepositoryFileCtrl.$inject = ['$scope', '$modalInstance', 'RepositoriesRestService', 'file', 'toastr', '$translate'];\n\nfunction EditRepositoryFileCtrl($scope, $modalInstance, RepositoriesRestService, file, toastr, $translate) {\n\n if (file) {\n RepositoriesRestService.getRepositoryFileContent(file).success(function (data) {\n $scope.fileContent = data;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n $scope.ok = function () {\n $modalInstance.close({\n content: $scope.fileContent,\n fileLocation: file\n });\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nEditRepositoryCtrl.$inject = ['$scope', '$routeParams', 'toastr', '$repositories', '$location', 'ModalService', 'RepositoriesRestService',\n '$translate'];\n\nfunction EditRepositoryCtrl($scope, $routeParams, toastr, $repositories, $location, ModalService, RepositoriesRestService, $translate) {\n\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n\n $scope.editRepoPage = true;\n $scope.canEditRepoId = false;\n $scope.params = $routeParams;\n $scope.loader = true;\n $scope.repositoryInfo = {};\n $scope.repositoryInfo.id = $scope.params.repositoryId;\n $scope.repositoryInfo.location = $scope.params.location;\n $scope.repositoryInfo.restartRequested = false;\n $scope.repositoryType = '';\n $scope.saveRepoId = $scope.params.repositoryId;\n $scope.pageTitle = $translate.instant('view.edit.repo.title', {repositoryId: $scope.params.repositoryId});\n $scope.invalidValues = {\n isInvalidQueryTimeout: false,\n isInvalidQueryLimit: false,\n isInvalidLeftJoinWorkerThreads: false,\n isInvalidBoundJoinBlockSize: false,\n isInvalidJoinWorkerThreads: false,\n isInvalidUnionWorkerThreads: false,\n isInvalidValidationResultsLimitPerConstraint: false,\n isInvalidValidationResultsLimitTotal: false\n };\n $scope.hasActiveLocation = function () {\n return $repositories.hasActiveLocation();\n };\n\n $scope.$watch($scope.hasActiveLocation, function () {\n if ($scope.hasActiveLocation) {\n // Should get locations before getting repository info\n getFilteredLocations($repositories).then((locations) => {\n $scope.locations = locations;\n return RepositoriesRestService.getRepository($scope.repositoryInfo);\n })\n .then(function (response) {\n const data = response.data;\n if (angular.isDefined(data.params.ruleset)) {\n let ifRulesetExists = false;\n angular.forEach($scope.rulesets, function (item) {\n if (item.id === data.params.ruleset.value) {\n ifRulesetExists = true;\n }\n });\n if (data.params.ruleset && !ifRulesetExists) {\n const name = getFileName(data.params.ruleset.value);\n $scope.rulesets.unshift({id: data.params.ruleset.value, name: 'Custom: ' + name});\n }\n }\n $scope.repositoryInfo = data;\n $scope.setRepositoryType(data.type);\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n $scope.repositoryInfo.saveId = $scope.saveRepoId;\n $scope.loader = false;\n })\n .catch(function (response) {\n const data = response.data;\n const status = response.status;\n const repositoryId = $routeParams.repositoryId;\n let toastrMsg;\n\n if (status === 404 && repositoryId !== 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.repo.error.not.exists', {repositoryId}));\n } else if (status === 404 && repositoryId === 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.system.repo.warning'));\n } else {\n toastrMsg = getError(data);\n }\n\n toastr.error(toastrMsg, $translate.instant('common.error'), {allowHtml: true});\n\n if (status === 404) {\n setTimeout(function () {\n $scope.loader = false;\n $location.path('repository');\n }, 1000);\n } else {\n $scope.loader = false;\n }\n });\n }\n });\n\n $scope.setRepositoryType = function (type) {\n $scope.repositoryType = type;\n };\n\n $scope.noMembersError = function () {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.editRepoHttp = function () {\n $scope.loader = true;\n RepositoriesRestService.editRepository($scope.repositoryInfo.saveId, $scope.repositoryInfo)\n .success(function () {\n toastr.success($translate.instant('edit.repo.success.msg', {saveId: $scope.repositoryInfo.saveId}));\n $repositories.init($scope.goBackToPreviousLocation);\n if ($scope.repositoryInfo.saveId === $scope.repositoryInfo.id && $scope.repositoryInfo.restartRequested) {\n $repositories.restartRepository($scope.repositoryInfo.id);\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.editRepository = function () {\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n const invalidValues = checkInvalidValues($scope.invalidValues, $translate);\n let modalMsg = decodeHTML($translate.instant('edit.repo.save.changes.msg', {repoId: $scope.repositoryInfo.id}));\n if ($scope.repositoryInfo.saveId !== $scope.repositoryInfo.id) {\n modalMsg += decodeHTML($translate.instant('edit.repo.rename.changes.msg'));\n } else if ($scope.repositoryInfo.restartRequested) {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.requested.msg'));\n } else {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.needed.msg'));\n }\n if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (invalidValues) {\n toastr.error(invalidValues);\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.save'),\n message: modalMsg,\n warning: true\n }).result\n .then(function () {\n $scope.editRepoHttp();\n });\n }\n };\n\n $scope.editRepositoryId = function () {\n let msg = decodeHTML($translate.instant('edit.repo.id.warning.msg'));\n if ($scope.isEnterprise()) {\n msg += decodeHTML($translate.instant('edit.repo.id.cluster.warning.msg'));\n }\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.enable.edit'),\n message: msg,\n warning: true\n }).result.then(function () {\n $scope.canEditRepoId = true;\n });\n };\n\n $scope.goBackToPreviousLocation = function () {\n if (angular.isDefined($routeParams.previous)) {\n delete $location.$$search.previous;\n $location.path('/');\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.validateNumberInput = function () {\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n };\n\n $scope.getShaclOptionsClass = function () {\n return getShaclOptionsClass();\n };\n}\n"],"sourceRoot":""}