![JAR search and dependency download from the Maven repository](/logo.png)
yakworks.rally.orgs.repo.OrgRepo.groovy Maven / Gradle / Ivy
/*
* Copyright 2021 Yak.Works - Licensed under the Apache License, Version 2.0 (the "License")
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*/
package yakworks.rally.orgs.repo
import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.validation.Errors
import gorm.tools.mango.MangoDetachedCriteria
import gorm.tools.mango.api.QueryArgs
import gorm.tools.mango.api.QueryService
import gorm.tools.repository.GormRepository
import gorm.tools.repository.events.RepoListener
import yakworks.rally.orgs.model.Org
@GormRepository
@CompileStatic
@Slf4j
class OrgRepo extends AbstractOrgRepo {
//@Autowired OrgQuery orgQuery
// @Override
// QueryService getQueryService(){
// orgQuery
// }
// add @Override
@RepoListener
void beforeValidate(Org org, Errors errors) {
super.beforeValidate(org, errors)
//dont try to setup member if it has any errors
if(!errors.hasErrors()) wireOrgMember(org)
//verifyCompany(org)
}
/**
* Org member needs org set for validation
*/
void wireOrgMember(Org org) {
if (org.member && !org.member.id) {
org.member.id = org.id
org.member.org = org //needed for validation
}
}
/**
* special handling for tags
*/
@Override
MangoDetachedCriteria query(QueryArgs queryArgs, @DelegatesTo(MangoDetachedCriteria)Closure applyClosure) {
MangoDetachedCriteria mangoCriteria = getQueryService().createCriteria(queryArgs, applyClosure)
//do the tags
orgTagRepo.doExistsCriteria(mangoCriteria.criteriaMap)
//apply as normal
getQueryService().applyCriteria(mangoCriteria)
return mangoCriteria
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy