[ { "match": { "serviceClassRegex": "(?.*)", "serviceNameRegex": "(?.*)", "calledMethodRegex": "UNKNOWN" }, "replace": { "serviceClass": "${ServiceClass}", "serviceName": "${ServiceName}", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(WPS)|(DataAnalysis)", "serviceNameRegex": "DataMiner", "calledMethodRegex": "(?.*)" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "DataMiner", "calledMethod": "${CalledMethod}" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "3MConnector", "calledMethodRegex": "^\/{0,1}gcube\/service\/connect.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "3MConnector", "calledMethod": "connect" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "3MConnector", "calledMethodRegex": "^\/{0,1}gcube\/service\/disconnect.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "3MConnector", "calledMethod": "disconnect" } },{ "match": { "serviceClassRegex": "Common", "serviceNameRegex": "AuthorizationService", "calledMethodRegex": "^/{0,1}gcube/service/generate.*" }, "replace": { "serviceClass": "Common", "serviceName": "AuthorizationService", "calledMethod": "generate" } },{ "match": { "serviceClassRegex": "Common", "serviceNameRegex": "AuthorizationService", "calledMethodRegex": "^/{0,1}gcube/service/retrieve.*" }, "replace": { "serviceClass": "Common", "serviceName": "AuthorizationService", "calledMethod": "retrieve" } },{ "match": { "serviceClassRegex": "Common", "serviceNameRegex": "AuthorizationService", "calledMethodRegex": "^((e\/)|\/){0,1}gcube\/resource\/scopes" }, "replace": { "serviceClass": "Common", "serviceName": "AuthorizationService", "calledMethod": "scopes" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})(?(group|item|resource|namespace))(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "${Action} ${Collection}" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})(?(groups|items|resources))\/(?list)(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "${Action} ${Collection}" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})licen(c|s)es\/(?(create|show|purge|delete))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "${Action} license" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})licen(c|s)es\/(?list)(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "${Action} licenses" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profiles\/namespaces(s){0,1}.*" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "list namespaces" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})organi(s|z)ation(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "${Action} organization" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})organi(s|z)ation(s){0,1}\/(?list)(\/){0,1}.*|(listOrgani(s|z)ation(s{0,1}))" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "list organizations" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "^\/rest$|^UNKNOWN$|^OTHER$" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profile(s){0,1}\/(?(show|profile))(\/){0,1}" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "show profile" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profile(s){0,1}\/(?(list|profile_names))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", "calledMethod": "list profile" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "CkanConnector", "calledMethodRegex": "^\/{0,1}gcube\/service\/connect.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "CkanConnector", "calledMethod": "connect" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "CkanConnector", "calledMethodRegex": "^\/{0,1}gcube\/service\/disconnect.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "CkanConnector", "calledMethod": "disconnect" } },{ "match": { "serviceClassRegex": "DataAnalysis", "serviceNameRegex": "cmems-importer-service", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "cmems-importer-service", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAnalysis", "serviceNameRegex": "data-analytics-visualization", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "data-analytics-visualization", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(WPS)|(DataAnalysis)", "serviceNameRegex": "DataMiner", "calledMethodRegex": "^\/{0,1}(?(?!(UNKNOWN|OTHER|(gcube\/resource\/scopes))).*)" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "DataMiner", "calledMethod": "${Method}" } },{ "match": { "serviceClassRegex": "(WPS)|(DataAnalysis)", "serviceNameRegex": "DataMiner", "calledMethodRegex": "^\/{0,1}(UNKNOWN|OTHER|(gcube\/resource\/scopes)).*" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "DataMiner", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(DataAnalysis)|(data-analysis)|dataanalysis", "serviceNameRegex": "dataminer-pool-manager", "calledMethodRegex": "\/{0,1}api\/(algorithm\/){0,1}(?[a-zA-Z]*)" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "dataminer-pool-manager", "calledMethod": "${Method}" } },{ "match": { "serviceClassRegex": "(DataAnalysis)|(data-analysis)|dataanalysis", "serviceNameRegex": "dataminer-pool-manager", "calledMethodRegex": "\/{0,1}(api|OTHER|(gcube\/resource))" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "dataminer-pool-manager", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "data-transfer-service", "calledMethodRegex": ".*(c|C)apabilities.*" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "data-transfer-service", "calledMethod": "getCapabilities" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "data-transfer-service", "calledMethodRegex": ".*TransferStatus.*" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "data-transfer-service", "calledMethod": "getTransferStatus" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "data-transfer-service", "calledMethodRegex": "(^\/{0,1}gcube\/service\/(REST|application.wadl))|OTHER" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "data-transfer-service", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "data-transfer-service", "calledMethodRegex": "^(\/){0,1}gcube\/service\/REST\/.*" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "data-transfer-service", "calledMethod": "transfer" } },{ "match": { "serviceClassRegex": "ResourceManagement", "serviceNameRegex": "FHNManager", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "ResourceManagement", "serviceName": "FHNManager", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(Index)|(DataRetrieval)", "serviceNameRegex": "(FullTextIndexNode)|(FullTextFullTextIndexNodeNode)", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "DataRetrieval", "serviceName": "FullTextIndexNode", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", "calledMethodRegex": "^(\/){0,1}(rest\/(api\/){0,1}){0,1}(?group|item|license|namespace|organization|profile|user)s\/(?!list|create)[%0-9a-zA-Z\\-_.+:]*$" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "gcat", "calledMethod": "read ${Collection}" } },{ "match": { "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1}){0,1}(?((groups(\/list){0,1}))|items|licenses|namespaces|organizations|profiles|users)$" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "gcat", "calledMethod": "list ${Collection}" } },{ "match": { "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", "calledMethodRegex": "(^\/index$)|OTHER|UNKNOWN" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "gcat", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", "calledMethodRegex": "^(\/){0,1}(rest\/(api\/){0,1}){0,1}items\/[%0-9a-zA-Z\\-_]*\/resources\/[%0-9a-zA-Z\\-_.+:]*$" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "gcat", "calledMethod": "read resource" } },{ "match": { "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", "calledMethodRegex": "^(\/){0,1}(rest\/(api\/){0,1}){0,1}items\/[%0-9a-zA-Z\\-_.+:]*\/resources$" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "gcat", "calledMethod": "list resources" } },{ "match": { "serviceClassRegex": "(geoanalytics)|(SDI)", "serviceNameRegex": "geoanalytics-gos.*", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "SDI", "serviceName": "geoanalytics-gos", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "geoanalytics", "serviceNameRegex": "geoanalytics-main-service", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "SDI", "serviceName": "geoanalytics-main-service", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": ".*(\\.create(\\.form){0,1}|\\.insert|\\.xmlinsert\\.form)$" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "create" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": ".*(\\.delete(\\.batch|@json|$))" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "delete" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": ".*(\\.list(@json|$))" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "list" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": "^(?!.*(read|create|insert|delete|list|get|show|info|search|update|edit)).*$|^(.*(updated|editors|pwupdate|(records.*)|(systeminfo.*)|forget-password|getmap.png|(GetCapabilities.*)|(\/codelists\/.*)))$" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": "(.*(\\.get(\\..*|\/.*|$)|\\.show(\\..*|$)|((\\.|/)info(?!edit).*)))|(read@json)" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "read" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": ".*(\\.|-|/|package_|open)search(\/.*|unused(.form){0,1}|\\..*|;jsessionid=.*|-.*|$)" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "search" } },{ "match": { "serviceClassRegex": "(SDI)|(SpatialData)", "serviceNameRegex": "GeoNetwork", "calledMethodRegex": ".*(\\.update($|\\.finish|@json)|\\.edit(!{0,1}|\\.save(only){0,1}|\\.commit)$|\\.infoedit$|\\.pwedit$)" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoNetwork", "calledMethod": "update" } },{ "match": { "serviceClassRegex": "(GeoServer)|(geoserver)|(SpatialData)|(SDI)", "serviceNameRegex": "(GeoServer)|(geoserver)", "calledMethodRegex": "^(?!.*\/(wfs|wms|wcs|wmts)).*$" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoServer", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(GeoServer)|(geoserver)|(SpatialData)|(SDI)", "serviceNameRegex": "(GeoServer)|(geoserver)", "calledMethodRegex": "^.*\/(?(wfs|wms|wcs|wmts)).*$" }, "replace": { "serviceClass": "SDI", "serviceName": "GeoServer", "calledMethod": "/${Protocol}", "_comment" : "Do not remove the initial / to avoid that wms is replaced with OTHER" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "GRSFPublisher", "calledMethodRegex": "(.*publish-product.*)|(.*create-product.*)|(create)" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "GRSFPublisher", "calledMethod": "create" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "GRSFPublisher", "calledMethodRegex": "(.*delete-product.*)|(delete)" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "GRSFPublisher", "calledMethod": "delete" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "GRSFPublisher", "calledMethodRegex": ".*get-license(s{0,1}).*" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "GRSFPublisher", "calledMethod": "getLicenses" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "GRSFPublisher", "calledMethodRegex": ".*get-catalogue-id-(and-url-){0,1}from-name.*" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "GRSFPublisher", "calledMethod": "getURLandIdFromName" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "GRSFPublisher", "calledMethodRegex": ".*((hello)|(UNKNOWN)|(OTHER)).*" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "GRSFPublisher", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "GRSFPublisher", "calledMethodRegex": "(.*update-product.*)|(update)" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "GRSFPublisher", "calledMethod": "update" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "HomeLibraryFileSystem", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "HomeLibraryFileSystem", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "HomeLibraryWebapp", "calledMethodRegex": "\/{0,1}((acl|get|rest|post|trash|versioning)\/){0,1}(?[a-zA-Z]*)" }, "replace": { "serviceClass": "DataAccess", "serviceName": "HomeLibraryWebapp", "calledMethod": "${Method}" } },{ "match": { "serviceClassRegex": "InformationSystem", "serviceNameRegex": "ICProxy", "calledMethodRegex": "^(\/){0,1}gcube\/service\/(?!GCoreEndpoint|HostingNode|RuntimeResource|GenericResource).*" }, "replace": { "serviceClass": "InformationSystem", "serviceName": "ICProxy", "calledMethod": "getResourceById" } },{ "match": { "serviceClassRegex": "InformationSystem", "serviceNameRegex": "ICProxy", "calledMethodRegex": "^(\/){0,1}gcube\/service\/(GCoreEndpoint|HostingNode|RuntimeResource|GenericResource).*" }, "replace": { "serviceClass": "InformationSystem", "serviceName": "ICProxy", "calledMethod": "query" } },{ "match": { "serviceClassRegex": "Application", "serviceNameRegex": "perform-service", "calledMethodRegex": "^\/{0,1}gcube\/(service|resource)\/import(\/){0,1}.*" }, "replace": { "serviceClass": "Application", "serviceName": "perform-service", "calledMethod": "import" } },{ "match": { "serviceClassRegex": "Application", "serviceNameRegex": "perform-service", "calledMethodRegex": "^\/{0,1}gcube\/(service|resource)\/mappings(\/){0,1}.*" }, "replace": { "serviceClass": "Application", "serviceName": "perform-service", "calledMethod": "mappings" } },{ "match": { "serviceClassRegex": "Application", "serviceNameRegex": "perform-service", "calledMethodRegex": "^\/{0,1}gcube\/(service|resource)(\/){0,1}$" }, "replace": { "serviceClass": "Application", "serviceName": "perform-service", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "Application", "serviceNameRegex": "perform-service", "calledMethodRegex": "^\/{0,1}gcube\/(service|resource)\/performance(\/){0,1}.*" }, "replace": { "serviceClass": "Application", "serviceName": "perform-service", "calledMethod": "performance" } },{ "match": { "serviceClassRegex": "(InformationSystem)|(Accounting)", "serviceNameRegex": "QuotaManager", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "Accounting", "serviceName": "QuotaManager", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAnalysis", "serviceNameRegex": "RConnector", "calledMethodRegex": "^\/{0,1}gcube\/service\/connect.*" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "RConnector", "calledMethod": "connect" } },{ "match": { "serviceClassRegex": "DataAnalysis", "serviceNameRegex": "RConnector", "calledMethodRegex": "UNKNOWN|OTHER|^\/{0,1}gcube\/resource\/scopes" }, "replace": { "serviceClass": "DataAnalysis", "serviceName": "RConnector", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "ResourceManagement", "serviceNameRegex": "resource-manager-webapp", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "ResourceManagement", "serviceName": "resource-manager-webapp", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "InformationSystem", "serviceNameRegex": "(resource-registry)|(joint-resource-registry)", "calledMethodRegex": "(?!(listContexts|createContext|readContext|updateContext|deleteContext|listInstances|existInstance|createInstance|readInstance|updateInstance|deleteInstance|createType|readType|addToContext|removeFromContext|query|rawQuery)).*" }, "replace": { "serviceClass": "InformationSystem", "serviceName": "resource-registry", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "Portal", "serviceNameRegex": "ReverseProxy", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "Portal", "serviceName": "ReverseProxy", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "SDI", "serviceNameRegex": "sdi-service", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "SDI", "serviceName": "sdi-service", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataPublishing", "serviceNameRegex": "SDMXDataSource.*", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "SDMXDataSource", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "ShareLatex", "calledMethodRegex": "^\/{0,1}gcube\/service\/connect.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "ShareLatex", "calledMethod": "connect" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "ShareLatex", "calledMethodRegex": "^\/{0,1}gcube\/service\/disconnect.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "ShareLatex", "calledMethod": "disconnect" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "ShareLatex", "calledMethodRegex": "^(?!(\/{0,1}gcube\/service\/){0,1}((connect)|(disconnect)|(project))).*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "ShareLatex", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "ShareLatex", "calledMethodRegex": "^\/{0,1}gcube\/service\/project.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "ShareLatex", "calledMethod": "project" } },{ "match": { "serviceClassRegex": "(Search)|(DataRetrieval)", "serviceNameRegex": "SimulFishGrowthData", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "DataRetrieval", "serviceName": "SimulFishGrowthData", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "Application", "serviceNameRegex": "Smaph", "calledMethodRegex": "annotate" }, "replace": { "serviceClass": "Application", "serviceName": "Smaph", "calledMethod": "annotate" } },{ "match": { "serviceClassRegex": "Application", "serviceNameRegex": "Smaph", "calledMethodRegex": "(?!annotate).*" }, "replace": { "serviceClass": "Application", "serviceName": "Smaph", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "(SmartExecutor)|(smart-executor)", "calledMethodRegex": ".*((launch)|(execute)|(POST .*executions)).*" }, "replace": { "serviceClass": "VREManagement", "serviceName": "SmartExecutor", "calledMethod": "execute" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "(SmartExecutor)|(smart-executor)", "calledMethodRegex": ".*((getAvailablePlugins.*)|(^(GET ){0,1}(\/){0,1}plugins(\/){0,1}$))" }, "replace": { "serviceClass": "VREManagement", "serviceName": "SmartExecutor", "calledMethod": "getAvailablePlugins" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "(SmartExecutor)|(smart-executor)", "calledMethodRegex": ".*((getScheduledExecution.*)|((GET ){0,1}.*executions(\/(ORPHAN){0,1}){0,1}()$))|((GET ){0,1}(\/){0,1}(rest\/){0,1}plugins\/[0-9a-zA-Z%\\-_]{1,})" }, "replace": { "serviceClass": "VREManagement", "serviceName": "SmartExecutor", "calledMethod": "getScheduledExecution" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "(SmartExecutor)|(smart-executor)", "calledMethodRegex": ".*((getStateEvolution)|(getState)|(GET .*executions\/(?!executions).{1,})).*|((GET ){0,1}(\/){0,1}(rest\/){0,1}plugins\/[0-9a-zA-Z%\\-_]{1,}\/(?!executions).*)" }, "replace": { "serviceClass": "VREManagement", "serviceName": "SmartExecutor", "calledMethod": "getState" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "(SmartExecutor)|(smart-executor)", "calledMethodRegex": "^((UNKNOWN)|(OTHER))$" }, "replace": { "serviceClass": "VREManagement", "serviceName": "SmartExecutor", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "(SmartExecutor)|(smart-executor)", "calledMethodRegex": ".*((stop)|(unSchedule)|(DELETE)|(PURGE)).*" }, "replace": { "serviceClass": "VREManagement", "serviceName": "SmartExecutor", "calledMethod": "stop" } },{ "match": { "serviceClassRegex": "Portal", "serviceNameRegex": "SocialNetworking", "calledMethodRegex": "\/{0,1}rest\/((1|2)\/){0,1}(((people){0,1}(users(\/2){0,1})|comments|full-text-search|hashtags|messages|notifications|people|posts|tokens|vres|vers)\/){0,1}(?[a-zA-Z\\-]*(\/){0,1})" }, "replace": { "serviceClass": "Portal", "serviceName": "SocialNetworking", "calledMethod": "${Method}" } },{ "match": { "serviceClassRegex": "Portal", "serviceNameRegex": "SocialNetworking", "calledMethodRegex": "(\/{0,1}(rest))|OTHER|UNKNOWN|\/gcube\/service\/($|&.*)" }, "replace": { "serviceClass": "Portal", "serviceName": "SocialNetworking", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(\/workspace\/count)|countById" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "countById" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(^\/workspace\/item(s){0,1}\/[0-9a-zA-Z\\-_]*\/create\/(FILE|(?!FOLDER).*)$)|createItem\\(FILE\\)|(\/item\/create\/byPath)" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "createItem(FILE)" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(^\/workspace\/item(s){0,1}\/[0-9a-zA-Z\\-_]*\/create\/FOLDER$)|createItem\\(FOLDER\\)" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "createItem(FOLDER)" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/workspace\/item(s){0,1}\/[0-9a-zA-Z\\-_]*\/download(\/){0,1}$|downloadById" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "downloadById" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(^\/workspace\/item(s){0,1}\/[0-9a-zA-Z\\-_]*\/(firstcopy|(item(s){0,1})\/.*$))|findChildrenByNamePattern" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "findChildrenByNamePattern" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/(workspace\/){1,2}(item|itam)(s){0,1}\/[0-9a-zA-Z\\-_]*\/acl(s){0,1}(\/){0,1}$|getAcls" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getAcls" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/workspace(\/workspace){0,1}(\/item(s){0,1}){0,1}\/(?!(i$)|count|i{0,1}t(h){0,1}rash|group(s){0,1}|user(s){0,1}|paged|v(re|ere|er)fo(ld|dl)ers{0,1}|((C|c)hi(dl|ld|d)ren))[0-9a-zA-Z\\-_]{1,}(\/){0,1}$|getById" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getById" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/workspace\/group(s){0,1}\/{0,1}.*|getGroups" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getGroups" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/workspace\/item(s){0,1}\/[0-9a-zA-Z\\-_]*\/history(\/){0,1}$|getHistory" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getHistory" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(^\/workspace\/i{0,1}t(h){0,1}rash\/{0,1}.*)|getTrashFolder|getTrashRootFolder" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getTrashFolder" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/workspace\/user(s){0,1}\/{0,1}.*|getUsers" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getUsers" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "^\/(workspace\/){1,2}item(s){0,1}\/[0-9a-zA-Z\\-_]*\/version(s){0,1}(\/){0,1}$|getVersions" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getVersions" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "\/workspace\/vrefolder\/recents|getVreFolderRecents" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getVreFolderRecents" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "\/workspace\/v(re|ere|er)fo(ld|dl)ers(\/){0,1}|getVreFolders" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getVreFolders" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "\/workspace\/(item(s){0,1}\/){0,1}vrefolder(\/){0,1}|getVreRootFolder" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getVreRootFolder" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(\/workspace(\/.|\/){0,1})|getWorkspace" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "getWorkspace" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(listById)|(\/list\/byId)|(\/list\/byPath)|(\/workspace/{0,1}.*\/(get){0,1}(C|c)hi(dl|ld|d)ren)" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "listById" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(listByIdPaged)|(\/workspace/paged(\/){0,1})" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "listByIdPaged" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "(test-upload\\(FILE\\))|(OTHER)|(UNKNOWN)|(createItem\\(null\\))" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataAccess", "serviceNameRegex": "StorageHub", "calledMethodRegex": "\/workspace(\/items){0,1}\/publiclink\/.*" }, "replace": { "serviceClass": "DataAccess", "serviceName": "StorageHub", "calledMethod": "resolvePubliclink" } },{ "match": { "serviceClassRegex": "content-management", "serviceNameRegex": "storage", "calledMethodRegex": ".*" }, "replace": { "serviceClass": "content-management", "serviceName": "storage", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "Application|DataAnalysis", "serviceNameRegex": "TagMe", "calledMethodRegex": "^((e\/)|\/){0,1}tag" }, "replace": { "serviceClass": "Application", "serviceName": "TagMe", "calledMethod": "tag" } },{ "match": { "serviceClassRegex": "SDI|DataAnalysis", "serviceNameRegex": "Thredds", "calledMethodRegex": "^(\/){1}(?[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}(?[a-zA-Z0-9_\\-%]*(?[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}[^\/]*((?[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}(?[a-zA-Z0-9_\\-%]*)(\/){1}(.*\\.(nc|asc|tiff))$" }, "replace": { "serviceClass": "SDI", "serviceName": "Thredds", "calledMethod": "${Protocol}::${Collection}" } },{ "match": { "serviceClassRegex": "SDI|DataAnalysis", "serviceNameRegex": "Thredds", "calledMethodRegex": "^(\/){1}(?[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}[^\/]*(\\.(nc|asc|tiff))$" }, "replace": { "serviceClass": "SDI", "serviceName": "Thredds", "calledMethod": "${Protocol}::OTHER" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "URIResolver", "calledMethodRegex": "^\/{0,1}(UNKNOWN|OTHER|postCataloguePublicLink|resolveCataloguePublicLink|resolveStorageHubPublicLink|dataminer.*|r\/.*)" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "URIResolver", "calledMethod": "OTHER" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "URIResolver", "calledMethodRegex": "^(\/){0,1}(uri-resolver\/){0,1}(?(ctlg|catalogue|analytics|geonetwork|parthenos_{0,1}registry|shub|storage|knime)).*" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "URIResolver", "calledMethod": "${RedirectType} access" } },{ "match": { "serviceClassRegex": "DataTransfer", "serviceNameRegex": "URIResolver", "calledMethodRegex": "^(?!(\/){0,1}(r\/){0,1}(UNKNOWN|OTHER|dataminer|postCataloguePublicLink|resolveCataloguePublicLink|resolveStorageHubPublicLink|ctlg(-.){0,1}|catalogue|uri-resolver\/catalogue|analytics|geonetwork|parthenos_{0,1}registry|shub|storage|knime)).*$" }, "replace": { "serviceClass": "DataTransfer", "serviceName": "URIResolver", "calledMethod": "TentativeOfHarvesting" } },{ "match": { "serviceClassRegex": "VREManagement", "serviceNameRegex": "WhnManager", "calledMethodRegex": "(OTHER)|((\/){0,1}gcube\/vremanagement\/ws\/whnmanager)" }, "replace": { "serviceClass": "VREManagement", "serviceName": "WhnManager", "calledMethod": "OTHER" } }]