From 27a6af2caab9ce0c0a045627148a4fd5580b2571 Mon Sep 17 00:00:00 2001 From: raphasampaio Date: Tue, 27 Aug 2024 17:44:01 -0300 Subject: [PATCH] Fix macro --- src/PSRBridge.jl | 1 + src/data/adjusted_vector.jl | 4 ++++ src/data/any.jl | 4 ++++ src/data/map.jl | 4 ++++ src/data/static_vector.jl | 4 ++++ src/data/time_series_file.jl | 4 ++++ src/data/time_series_vector.jl | 4 ++++ src/macros.jl | 24 ++++++++++++------------ 8 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/PSRBridge.jl b/src/PSRBridge.jl index bb394f9..845420a 100644 --- a/src/PSRBridge.jl +++ b/src/PSRBridge.jl @@ -22,6 +22,7 @@ export TimeSeriesFileData, TimeSeriesVectorData, Cache, + raw_data, initialize!, update!, adjust!, diff --git a/src/data/adjusted_vector.jl b/src/data/adjusted_vector.jl index 6044dfb..e3afc03 100644 --- a/src/data/adjusted_vector.jl +++ b/src/data/adjusted_vector.jl @@ -19,6 +19,10 @@ function Base.isempty(parameter::AdjustedVectorData{T}) where {T} return isempty(parameter.data) end +function raw_data(parameter::AdjustedVectorData) + return parameter.data +end + function initialize!(parameter::AdjustedVectorData{T}, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) where {T} size = PSRI.max_elements(db, collection.id) parameter.data = Vector{T}(undef, size) diff --git a/src/data/any.jl b/src/data/any.jl index 51b7e15..339d7e9 100644 --- a/src/data/any.jl +++ b/src/data/any.jl @@ -1,3 +1,7 @@ +function raw_data(parameter::Any) + return parameter +end + function initialize!(parameter::Any, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) return nothing end diff --git a/src/data/map.jl b/src/data/map.jl index 1793805..6616c84 100644 --- a/src/data/map.jl +++ b/src/data/map.jl @@ -20,6 +20,10 @@ function Base.isempty(parameter::MapData) return isempty(parameter.data) end +function raw_data(parameter::MapData) + return parameter.data +end + function initialize!(parameter::MapData, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) parameter.data = PSRI.get_map(db, collection.id, parameter.collection_to, parameter.id) return nothing diff --git a/src/data/static_vector.jl b/src/data/static_vector.jl index 30c11e1..54da2d4 100644 --- a/src/data/static_vector.jl +++ b/src/data/static_vector.jl @@ -19,6 +19,10 @@ function Base.isempty(parameter::StaticVectorData{T}) where {T} return isempty(parameter.data) end +function raw_data(parameter::StaticVectorData) + return parameter.data +end + function initialize!(parameter::StaticVectorData{T}, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) where {T} parameter.data = PSRI.get_parms(db, collection.id, parameter.id) .|> T return nothing diff --git a/src/data/time_series_file.jl b/src/data/time_series_file.jl index 2975541..bf8b0a2 100644 --- a/src/data/time_series_file.jl +++ b/src/data/time_series_file.jl @@ -11,6 +11,10 @@ function (parameter::TimeSeriesFileData)() return parameter.path end +function raw_data(parameter::TimeSeriesFileData) + return parameter.path +end + function initialize!(parameter::TimeSeriesFileData, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) parameter.path = PSRDatabaseSQLite.read_time_series_file(db, collection.id, parameter.id) return nothing diff --git a/src/data/time_series_vector.jl b/src/data/time_series_vector.jl index bebde49..5955aa5 100644 --- a/src/data/time_series_vector.jl +++ b/src/data/time_series_vector.jl @@ -19,6 +19,10 @@ function Base.isempty(parameter::TimeSeriesVectorData{T}) where {T} return isempty(parameter.data) end +function raw_data(parameter::TimeSeriesVectorData) + return parameter.data +end + function initialize!(parameter::TimeSeriesVectorData{T}, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) where {T} return nothing end diff --git a/src/macros.jl b/src/macros.jl index 8e43b57..ef7615c 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -6,7 +6,7 @@ $description """ end -function getters_field(;name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol) +function getters_field(; name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol) getters = Expr[] description = "Get the $field_name field from the $name collection." @@ -14,7 +14,7 @@ function getters_field(;name::Symbol, name_snakecase::Symbol, function_name::Sym doc_string = build_doc_string("$function_name($name_snakecase::$name)", description) push!(getters, quote @doc $doc_string function $function_name($name_snakecase::$name) - return $name_snakecase.$field_name + return raw_data($name_snakecase.$field_name) end end) @@ -35,7 +35,7 @@ function getters_field(;name::Symbol, name_snakecase::Symbol, function_name::Sym return getters end -function getters_callable(;name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol) +function getters_callable(; name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol) getters = Expr[] description = "Get the $field_name field from the $name collection." @@ -64,7 +64,7 @@ function getters_callable(;name::Symbol, name_snakecase::Symbol, function_name:: return getters end -function getters_array1(;name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol) +function getters_array1(; name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol) getters = Expr[] description = "Get the $field_name field from the $name collection at index i." @@ -129,8 +129,8 @@ macro collection(expression) getters = Expr[] - push!(getters, - getters_collection(name_snakecase = name_snakecase)... + push!(getters, + getters_collection(name_snakecase = name_snakecase)..., ) for field in fields @@ -144,16 +144,16 @@ macro collection(expression) function_name = Symbol(name_snakecase, :_, field_name) push!(getters, - getters_field(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)... + getters_field(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)..., ) if field_type == :TimeSeriesFileData - push!(getters, - getters_callable(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)... + push!(getters, + getters_callable(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)..., ) else - push!(getters, - getters_array1(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)... + push!(getters, + getters_array1(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)..., ) end end @@ -166,4 +166,4 @@ macro collection(expression) ]..., ), ) -end \ No newline at end of file +end