Skip to content

Commit

Permalink
adding iso 19110 default minoccurs/maxoccurs options
Browse files Browse the repository at this point in the history
  • Loading branch information
eblondel committed Apr 16, 2020
1 parent 9d205d8 commit 39641c4
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
4 changes: 3 additions & 1 deletion R/geoflow_action.R
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,9 @@ register_actions <- function(){
doi = list(desc = "Add entity DOI - if defined - as metadata identifier and online resource", default = FALSE),
exclude_attributes = list(desc = "Attributes that should be excluded from the ISO 19110 production", default = list()),
exclude_values_for_attributes = list(desc = "Attribute names for which listed values should not be produced", default = list()),
extra_attributes = list(desc = "Extra attributes to add as feature catalog attributes although not in data", default = list())
extra_attributes = list(desc = "Extra attributes to add as feature catalog attributes although not in data", default = list()),
default_min_occurs = list(desc = "The default min occurs value for feature attributes cardinality", default = 1L),
default_max_occurs = list(desc = "The default max occurs value for feature attribute cardinality", default = Inf)
)
),
geoflow_action$new(
Expand Down
6 changes: 4 additions & 2 deletions R/geoflow_action_geometa_create_iso_19110.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ geometa_create_iso_19110 <- function(entity, config, options){
exclude_attributes <- if(!is.null(options$exclude_attributes)) options$exclude_attributes else list()
exclude_values_for_attributes <- if(!is.null(options$exclude_values_for_attributes)) options$exclude_values_for_attributes else list()
extra_attributes <- if(!is.null(options$extra_attributes)) options$extra_attributes else list()
default_min_occurs <- if(!is.null(options$default_min_occurs)) options$default_min_occurs else 1L
default_max_occurs <- if(!is.null(options$default_max_occurs)) options$default_max_occurs else Inf

#feature catalogue creation
#-----------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -151,8 +153,8 @@ geometa_create_iso_19110 <- function(entity, config, options){
}
fat$setMemberName(memberName)
fat$setDefinition(fat_attr$def)
minOccurs <- 1L; if(!is.null(fat_attr)) minOccurs <- fat_attr$minOccurs
maxOccurs <- 1L; if(!is.null(fat_attr)) maxOccurs <- fat_attr$maxOccurs
minOccurs <- default_min_occurs; if(!is.null(fat_attr)) minOccurs <- fat_attr$minOccurs
maxOccurs <- default_max_occurs; if(!is.null(fat_attr)) maxOccurs <- fat_attr$maxOccurs
if(maxOccurs == "Inf") maxOccurs <- Inf
fat$setCardinality(lower = minOccurs, upper = maxOccurs)
#code
Expand Down

0 comments on commit 39641c4

Please sign in to comment.