accounting-lib/src/test/resources/rules/allRules.json.full

1181 lines
32 KiB
Plaintext

[
{
"match": {
"serviceClassRegex": "(?<ServiceClass>.*)",
"serviceNameRegex": "(?<ServiceName>.*)",
"calledMethodRegex": "UNKNOWN"
},
"replace": {
"serviceClass": "${ServiceClass}",
"serviceName": "${ServiceName}",
"calledMethod": "OTHER"
}
},{
"match": {
"serviceClassRegex": "(WPS)|(DataAnalysis)",
"serviceNameRegex": "DataMiner",
"calledMethodRegex": "(?<CalledMethod>.*)"
},
"replace": {
"serviceClass": "DataAnalysis",
"serviceName": "DataMiner",
"calledMethod": "${CalledMethod}"
}
},{
"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})(?<Collection>(group|item|resource|namespace))(s){0,1}\/(?<Action>(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})(?<Collection>(groups|items|resources))\/(?<Action>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\/(?<Action>(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\/(?<Action>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}\/(?<Action>(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}\/(?<Action>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}\/(?<Action>(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}\/(?<Action>(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}(?<Method>(?!(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}(?<Method>[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}(?<Collection>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}(?<Collection>((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": "^.*\/(?<Protocol>(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}(?<Method>[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": "(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": "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": "smart-executor",
"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}(?<Method>[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}(?<Protocol>[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}(?<Collection>[a-zA-Z0-9_\\-%]*(?<!(..\\.nc)))(\/){1}.*(?<!(..\\.nc|.\\.asc|\\.tiff))$"
},
"replace": {
"serviceClass": "SDI",
"serviceName": "Thredds",
"calledMethod": "METADATA::${Collection}"
}
},{
"match": {
"serviceClassRegex": "SDI|DataAnalysis",
"serviceNameRegex": "Thredds",
"calledMethodRegex": "^(\/){1}(?<Protocol>[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}[^\/]*((?<!(..\\.nc|.\\.asc|\\.tiff))|\/wfs)$"
},
"replace": {
"serviceClass": "SDI",
"serviceName": "Thredds",
"calledMethod": "METADATA::OTHER"
}
},{
"match": {
"serviceClassRegex": "SDI|DataAnalysis",
"serviceNameRegex": "Thredds",
"calledMethodRegex": "^(?!.*((\/public\/netcdf\/)|(::))).*$"
},
"replace": {
"serviceClass": "SDI",
"serviceName": "Thredds",
"calledMethod": "OTHER"
}
},{
"match": {
"serviceClassRegex": "SDI|DataAnalysis",
"serviceNameRegex": "Thredds",
"calledMethodRegex": "^(\/){1}(?<Protocol>[a-zA-Z0-9]*){1}(\/public\/netcdf\/){1}(?<Collection>[a-zA-Z0-9_\\-%]*)(\/){1}(.*\\.(nc|asc|tiff))$"
},
"replace": {
"serviceClass": "SDI",
"serviceName": "Thredds",
"calledMethod": "${Protocol}::${Collection}"
}
},{
"match": {
"serviceClassRegex": "SDI|DataAnalysis",
"serviceNameRegex": "Thredds",
"calledMethodRegex": "^(\/){1}(?<Protocol>[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}(?<RedirectType>(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"
}
}]