Skip to content

Instantly share code, notes, and snippets.

@olivermt
Created March 18, 2011 09:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olivermt/875803 to your computer and use it in GitHub Desktop.
Save olivermt/875803 to your computer and use it in GitHub Desktop.
Map<String, Integer>listDistinctGeometries(query) {
HibernateCriteriaBuilder builder = OutcropSection.createCriteria()
def types = [min: "minGeometry", max: "maxGeometry", avg: "avgGeometry"]
def result = [:]
types.each {
def archiElementCount = builder.get {
query.modern ? isNotNull("modernDepositionalSetting") : isNotNull("depositionalSetting")
eq("grossDepositionalEnvironment", query.grossDepEnv)
depositionalSetting {
if(query.basinType) 'in'("basinType", query.basinType)
if(query.paleoClimate)'in'("paleoClimate", query.paleoClimate)
}
depositionalEnvironment {
if(query.depEnv) 'in'("type", query.depEnv)
subEnvironment {
if(query.subDepEnv) 'in'("type", query.subDepEnv)
isNotEmpty("architecturalElement") //to not get back outcrops that does not have archielements
architecturalElement {
if(query.archiEleType) 'in'("type", query.archiEleType)
}
}
}
projections {
depositionalEnvironment {
subEnvironment {
count("architecturalElement")
}
}
}
}
result.put(it, archiElementCount)
}
return result
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment