diff --git a/mdm-core/grails-app/controllers/uk/ac/ox/softeng/maurodatamapper/core/path/PathController.groovy b/mdm-core/grails-app/controllers/uk/ac/ox/softeng/maurodatamapper/core/path/PathController.groovy index 78c46999ef..660a959547 100644 --- a/mdm-core/grails-app/controllers/uk/ac/ox/softeng/maurodatamapper/core/path/PathController.groovy +++ b/mdm-core/grails-app/controllers/uk/ac/ox/softeng/maurodatamapper/core/path/PathController.groovy @@ -56,9 +56,10 @@ class PathController extends RestfulController implements MdmCont } // Permissions have been checked as part of the interceptor - pathedResource = pathService.findResourceByPathFromRootResource(resource as MdmDomain, params.path) + pathedResource = pathService.findResourceByPathFromRootResource(resource as MdmDomain, params.path, null, [finalised: params.finalised]) } else { - pathedResource = pathService.findResourceByPathFromRootClass(params.securableResourceClass, params.path, currentUserSecurityPolicyManager) + pathedResource = + pathService.findResourceByPathFromRootClass(params.securableResourceClass, params.path, currentUserSecurityPolicyManager, [finalised: params.finalised]) } if (!pathedResource) return notFound(DomainClass, params.path) diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/AsyncJobService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/AsyncJobService.groovy index 306418aaae..290b027812 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/AsyncJobService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/AsyncJobService.groovy @@ -92,7 +92,7 @@ class AsyncJobService implements MdmDomainService { } @Override - AsyncJob findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + AsyncJob findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { return null } diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/DomainExportService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/DomainExportService.groovy index 7a1e6465ee..4fc9ad71a7 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/DomainExportService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/async/DomainExportService.groovy @@ -72,7 +72,7 @@ class DomainExportService implements MdmDomainService { } @Override - DomainExport findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + DomainExport findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { throw new ApiNotYetImplementedException('DES', 'findByParentIdAndPathIdentifier') } diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/authority/AuthorityService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/authority/AuthorityService.groovy index 7e50933a79..dd1e6902e2 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/authority/AuthorityService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/authority/AuthorityService.groovy @@ -42,7 +42,7 @@ class AuthorityService implements SecurableResourceService, MdmDomain } @Override - Authority findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + Authority findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String[] pids = pathIdentifier.split('@') Authority.findByLabelAndUrl(pids[0], pids[1]) } diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/container/VersionedFolderService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/container/VersionedFolderService.groovy index 499a06d440..e0c7ed577f 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/container/VersionedFolderService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/container/VersionedFolderService.groovy @@ -175,9 +175,10 @@ class VersionedFolderService extends ContainerService implement } @Override - VersionedFolder findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + VersionedFolder findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String[] split = pathIdentifier.split(PathNode.ESCAPED_MODEL_PATH_IDENTIFIER_SEPARATOR) String label = split[0] + boolean finalisedOnly = pathParams.finalised ? pathParams.finalised.toBoolean() : false // A specific identity of the model has been requested so make sure we limit to that if (split.size() == 2) { @@ -197,7 +198,7 @@ class VersionedFolderService extends ContainerService implement } // If no identity part then we can just get the latest model by the label - findLatestModelByLabel(label) + finalisedOnly ? findLatestFinalisedModelByLabel(label) : findLatestModelByLabel(label) } @Override diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/AnnotationService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/AnnotationService.groovy index 9c82ecfc07..49ad59a579 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/AnnotationService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/AnnotationService.groovy @@ -151,7 +151,7 @@ class AnnotationService implements MultiFacetItemAwareService { } @Override - Annotation findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + Annotation findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { Annotation.byMultiFacetAwareItemId(parentId).eq('label', pathIdentifier).get() } diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/MetadataService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/MetadataService.groovy index 9c7e57e7b1..1338b5e3b5 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/MetadataService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/MetadataService.groovy @@ -287,7 +287,7 @@ class MetadataService implements MultiFacetItemAwareService { } @Override - Metadata findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + Metadata findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String ns String key pathIdentifier.find(/^(.+)\.(.+)$/) {all, foundNs, foundKey -> diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/ReferenceFileService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/ReferenceFileService.groovy index d03903f405..dc56dabc72 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/ReferenceFileService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/ReferenceFileService.groovy @@ -112,7 +112,7 @@ class ReferenceFileService implements CatalogueFileService, Multi } @Override - ReferenceFile findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + ReferenceFile findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { ReferenceFile.byMultiFacetAwareItemId(parentId).eq('fileName', pathIdentifier).get() } } \ No newline at end of file diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/RuleService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/RuleService.groovy index 12da87bc6f..179c0f7267 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/RuleService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/RuleService.groovy @@ -172,7 +172,7 @@ class RuleService implements MultiFacetItemAwareService { } @Override - Rule findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + Rule findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { Rule.byMultiFacetAwareItemId(parentId).eq('name', pathIdentifier).get() } } \ No newline at end of file diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/SemanticLinkService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/SemanticLinkService.groovy index 4eb1e2e28f..ebbaf7676e 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/SemanticLinkService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/SemanticLinkService.groovy @@ -56,7 +56,7 @@ class SemanticLinkService implements MultiFacetItemAwareService { } @Override - SemanticLink findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + SemanticLink findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String[] split = pathIdentifier SemanticLink.byMultiFacetAwareItemId(parentId) .eq('linkType', SemanticLinkType.findForLabel(split[0])) diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/VersionLinkService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/VersionLinkService.groovy index d4e7b85747..f0ab950605 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/VersionLinkService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/VersionLinkService.groovy @@ -96,7 +96,7 @@ class VersionLinkService implements MultiFacetItemAwareService { } @Override - VersionLink findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + VersionLink findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String[] split = pathIdentifier VersionLink.byModelId(parentId) .eq('linkType', SemanticLinkType.findForLabel(split[0])) diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/rule/RuleRepresentationService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/rule/RuleRepresentationService.groovy index 7566ec903d..9a266ced2c 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/rule/RuleRepresentationService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/facet/rule/RuleRepresentationService.groovy @@ -70,7 +70,7 @@ class RuleRepresentationService implements MdmDomainService } @Override - RuleRepresentation findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + RuleRepresentation findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { RuleRepresentation.byRuleId(parentId).eq('language', pathIdentifier).get() } } \ No newline at end of file diff --git a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/path/PathService.groovy b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/path/PathService.groovy index 24e46392f4..5fbfb05085 100644 --- a/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/path/PathService.groovy +++ b/mdm-core/grails-app/services/uk/ac/ox/softeng/maurodatamapper/core/path/PathService.groovy @@ -70,7 +70,7 @@ class PathService { }.sort() as Map } - MdmDomain findResourceByPathFromRootResource(MdmDomain rootResourceOfPath, Path path, String modelIdentifierOverride = null) { + MdmDomain findResourceByPathFromRootResource(MdmDomain rootResourceOfPath, Path path, String modelIdentifierOverride = null, Map pathParams = [:]) { log.trace('Searching for path {} inside {}:{}', path.toString(modelIdentifierOverride), rootResourceOfPath.pathPrefix, rootResourceOfPath.pathIdentifier) if (path.isEmpty()) { @@ -97,7 +97,7 @@ class PathService { } log.trace('Found service [{}] to handle prefix [{}]', domainService.class.simpleName, childNode.prefix) - def child = domainService.findByParentIdAndPathIdentifier(rootResourceOfPath.id, childNode.getFullIdentifier(modelIdentifierOverride)) + def child = domainService.findByParentIdAndPathIdentifier(rootResourceOfPath.id, childNode.getFullIdentifier(modelIdentifierOverride), pathParams) if (!child) { log.warn('Child [{}] does not exist in root resource [{}]', childNode, Path.from(rootResourceOfPath)) @@ -105,14 +105,14 @@ class PathService { } // Recurse down the path for that child - findResourceByPathFromRootResource(child, pathToFind, modelIdentifierOverride) + findResourceByPathFromRootResource(child, pathToFind, modelIdentifierOverride, pathParams) } MdmDomain findResourceByPathFromRootClass(Class rootClass, Path path) { findResourceByPathFromRootClass(rootClass, path, null) } - MdmDomain findResourceByPathFromRootClass(Class rootClass, Path path, UserSecurityPolicyManager userSecurityPolicyManager) { + MdmDomain findResourceByPathFromRootClass(Class rootClass, Path path, UserSecurityPolicyManager userSecurityPolicyManager, Map pathParams = [:]) { if (path.isEmpty()) { throw new ApiBadRequestException('PS05', 'Must have a path to search') } @@ -127,7 +127,7 @@ class PathService { throw new ApiBadRequestException('PS04', "[${rootClass.simpleName}] is not a pathable resource") } - MdmDomain rootResource = securableResourceService.findByParentIdAndPathIdentifier(null, rootNode.getFullIdentifier()) + MdmDomain rootResource = securableResourceService.findByParentIdAndPathIdentifier(null, rootNode.getFullIdentifier(), pathParams) if (!rootResource) return null // Confirm root resource exists and its prefix matches the pathed prefix diff --git a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/CatalogueItemService.groovy b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/CatalogueItemService.groovy index 087120bd35..62b2930036 100644 --- a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/CatalogueItemService.groovy +++ b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/CatalogueItemService.groovy @@ -357,7 +357,7 @@ abstract class CatalogueItemService implements MdmDomai } @Override - K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { findByParentIdAndLabel(parentId, pathIdentifier) } diff --git a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ContainerService.groovy b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ContainerService.groovy index 113c3302ca..f9159424ea 100644 --- a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ContainerService.groovy +++ b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ContainerService.groovy @@ -71,7 +71,7 @@ abstract class ContainerService implements SecurableResourc } @Override - K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { findByParentIdAndLabel(parentId, pathIdentifier) } diff --git a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ModelService.groovy b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ModelService.groovy index c95e7e11b6..425c386b17 100644 --- a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ModelService.groovy +++ b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/model/ModelService.groovy @@ -304,9 +304,10 @@ abstract class ModelService } @Override - K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String[] split = pathIdentifier.split(PathNode.ESCAPED_MODEL_PATH_IDENTIFIER_SEPARATOR) String label = split[0] + boolean finalisedOnly = pathParams.finalised ? pathParams.finalised.toBoolean() : false // A specific identity of the model has been requested so make sure we limit to that if (split.size() == 2) { @@ -328,7 +329,7 @@ abstract class ModelService } // If no identity part then we can just get the latest model by the label - findLatestModelByLabel(label) + finalisedOnly ? findLatestFinalisedModelByLabel(label) : findLatestModelByLabel(label) } boolean useParentIdForSearching(UUID parentId) { diff --git a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/traits/service/MdmDomainService.groovy b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/traits/service/MdmDomainService.groovy index 1bcf34ce73..c9c09e1088 100644 --- a/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/traits/service/MdmDomainService.groovy +++ b/mdm-core/src/main/groovy/uk/ac/ox/softeng/maurodatamapper/core/traits/service/MdmDomainService.groovy @@ -51,6 +51,8 @@ trait MdmDomainService implements AnonymisableService{ abstract K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) + abstract K findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams) + K save(K domain) { // Default behaviours for save in GormEntity save(flush: false, validate: true, domain) diff --git a/mdm-plugin-datamodel/grails-app/services/uk/ac/ox/softeng/maurodatamapper/datamodel/facet/SummaryMetadataService.groovy b/mdm-plugin-datamodel/grails-app/services/uk/ac/ox/softeng/maurodatamapper/datamodel/facet/SummaryMetadataService.groovy index 2b7e136e6e..708e52acd9 100644 --- a/mdm-plugin-datamodel/grails-app/services/uk/ac/ox/softeng/maurodatamapper/datamodel/facet/SummaryMetadataService.groovy +++ b/mdm-plugin-datamodel/grails-app/services/uk/ac/ox/softeng/maurodatamapper/datamodel/facet/SummaryMetadataService.groovy @@ -115,7 +115,7 @@ class SummaryMetadataService implements MultiFacetItemAwareService } @Override - ReferenceDataValue findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + ReferenceDataValue findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { ReferenceDataValue.byReferenceDataModelId(parentId).eq('rowNumber', pathIdentifier.toInteger()).get() } } diff --git a/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/TermService.groovy b/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/TermService.groovy index fb4bb95fea..a5b0f40339 100644 --- a/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/TermService.groovy +++ b/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/TermService.groovy @@ -407,7 +407,7 @@ class TermService extends ModelItemService { } @Override - Term findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + Term findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { // Older code used the full term label which is not great but we should be able to handle this here String legacyHandlingPathIdentifier = pathIdentifier.split(':')[0] diff --git a/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/term/TermRelationshipService.groovy b/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/term/TermRelationshipService.groovy index c24f8d66d5..5024d474f5 100644 --- a/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/term/TermRelationshipService.groovy +++ b/mdm-plugin-terminology/grails-app/services/uk/ac/ox/softeng/maurodatamapper/terminology/item/term/TermRelationshipService.groovy @@ -214,7 +214,7 @@ class TermRelationshipService extends ModelItemService { } @Override - TermRelationship findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + TermRelationship findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { String[] split = pathIdentifier.split(/\./) if (split.size() != 3) throw new ApiBadRequestException('TRS01', "TermRelationship Path identifier is invalid [${pathIdentifier}]") diff --git a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/CatalogueUserService.groovy b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/CatalogueUserService.groovy index 3f6df2483a..27f42539c8 100644 --- a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/CatalogueUserService.groovy +++ b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/CatalogueUserService.groovy @@ -101,7 +101,7 @@ class CatalogueUserService implements UserService, MdmDomainService { } @Override - UserGroup findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + UserGroup findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { findByName(pathIdentifier) } diff --git a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/authentication/ApiKeyService.groovy b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/authentication/ApiKeyService.groovy index 9ceac0d2a9..11d6904ac1 100644 --- a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/authentication/ApiKeyService.groovy +++ b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/authentication/ApiKeyService.groovy @@ -55,7 +55,7 @@ class ApiKeyService implements MdmDomainService { } @Override - ApiKey findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + ApiKey findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { return null } diff --git a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/GroupRoleService.groovy b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/GroupRoleService.groovy index 4aab17c882..fb218128b3 100644 --- a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/GroupRoleService.groovy +++ b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/GroupRoleService.groovy @@ -82,7 +82,7 @@ class GroupRoleService implements MdmDomainService { } @Override - GroupRole findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier) { + GroupRole findByParentIdAndPathIdentifier(UUID parentId, String pathIdentifier, Map pathParams = [:]) { getFromCache(pathIdentifier).groupRole } diff --git a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/SecurableResourceGroupRoleService.groovy b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/SecurableResourceGroupRoleService.groovy index d091bcfd93..2992540d14 100644 --- a/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/SecurableResourceGroupRoleService.groovy +++ b/mdm-security/grails-app/services/uk/ac/ox/softeng/maurodatamapper/security/role/SecurableResourceGroupRoleService.groovy @@ -64,7 +64,7 @@ class SecurableResourceGroupRoleService implements MdmDomainService