Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Acquisitions #360

Closed
wants to merge 97 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
894515e
change divs to headers (#337)
J-Oliveros Feb 1, 2024
ff5cb27
Merge branch 'releases/2-18-5' into releases/2-20-0
jwaspin Feb 7, 2024
14fed59
Merge branch 'releases/2-18-5' into releases/2-20-0
jwaspin Feb 8, 2024
7b4aa57
Merge branch 'releases/2-18-5' into releases/2-20-0
jwaspin Feb 8, 2024
15fbd11
Simple HTML Enhancements (#339)
jwaspin Feb 8, 2024
223cb88
Merge branch 'releases/2-18-5' into releases/2-20-0
jwaspin Feb 8, 2024
271bfe9
Merge branch 'releases/2-20-0' of github.com:adiwg/mdTranslator into …
jwaspin Feb 8, 2024
e9965a0
Feature/simple html (#345)
jwaspin Feb 12, 2024
c769d1c
Feature/fgdc reader lineage process (#347)
J-Oliveros Feb 20, 2024
e119ec7
Merge branch 'releases/2-19-0' into releases/2-20-0
jwaspin Mar 20, 2024
0d1307a
Update 19115-3 test data (#334)
chris-macdermaid Mar 29, 2024
0ac8429
Fix version comparison bug in mdJson_reader.rb (#356)
J-Oliveros Apr 8, 2024
1202405
Update adiwg-mdtranslator version to 2.20.0-beta.0
jwaspin Apr 9, 2024
e5f845d
add Acquisition class. Fix internal obj
J-Oliveros Apr 15, 2024
0b1eab5
Boilerplate for acq classes. Add logic to handle acq-pass
J-Oliveros Apr 15, 2024
f53540f
add acq-event class
J-Oliveros Apr 15, 2024
aabf4f8
fix internal object variable reference
J-Oliveros Apr 15, 2024
05aee35
Fix closing out conditional
J-Oliveros Apr 15, 2024
dbc9393
Merge branch 'releases/2-19-0' into feature/acquisition
jwaspin Apr 24, 2024
1fe82d4
add acquisition key to metadata internal object
J-Oliveros Apr 29, 2024
0bb9da9
Add outContext
J-Oliveros Apr 29, 2024
4472aee
chore: Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies…
jwaspin Apr 30, 2024
1b6869a
chore: Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies…
jwaspin Apr 30, 2024
ec270f2
Refactor dataQuality report structure
jwaspin Apr 30, 2024
cf39d33
chore: Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies…
jwaspin Apr 30, 2024
9ef5dab
add acquisition to metadata hash objects
J-Oliveros Apr 30, 2024
82b78d2
Merge branch 'releases/2-19-0' into feature/acquisition
jwaspin Apr 30, 2024
5dfe0fb
Merge branch 'releases/2-20-0' into feature/acquisition
jwaspin Apr 30, 2024
5a3f584
fix/mdJson-reader-requirement (#359)
J-Oliveros May 1, 2024
498193f
Fix/md json reader event (#362)
J-Oliveros May 1, 2024
3a514e7
Fix/md json reader instrument (#363)
J-Oliveros May 1, 2024
174f3d8
Update adiwg-mdtranslator version to 2.20.0-beta.1
jwaspin May 1, 2024
3cd7445
Add acquisition class to writer. Add reference to class in metadata.
J-Oliveros May 2, 2024
5dc829a
Fix/md json reader pass (#364)
J-Oliveros May 2, 2024
0e5f255
fix/mdJson-reader-platform (#361)
J-Oliveros May 2, 2024
3c32ffe
Merge branch 'feature/acquisition' into fix/mdJson-writer-acqusition
J-Oliveros May 2, 2024
cfd6150
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
jwaspin May 2, 2024
8ef4d30
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
jwaspin May 2, 2024
95fc253
Merge branch 'fix/mdJson-writer-acqusition' into fix/mdJson-writer-re…
J-Oliveros May 2, 2024
43bec4c
Add Requirement and RequestedDate classes to mdJson writer.
J-Oliveros May 3, 2024
46602fb
fix class name for requestedDate
J-Oliveros May 3, 2024
a2cec2e
Add Objective class to writer
J-Oliveros May 3, 2024
8746b41
Add Platform class to mdJson writer
J-Oliveros May 3, 2024
2037a2a
Add instrument class to writer.
J-Oliveros May 3, 2024
7eb9883
Add instrumentationEventList, instrumentationEvent, Revision classes …
J-Oliveros May 4, 2024
4fa43cd
Fix/mdjson-reader-platform (#371)
J-Oliveros May 6, 2024
2c5f3c8
Update AcqPlan class to handle acq-plan (#358)
J-Oliveros May 6, 2024
8f1e241
Add acquisition class to writer. Add reference to class in metadata. …
J-Oliveros May 6, 2024
575b8c3
Add Event class to writer. (#369)
J-Oliveros May 6, 2024
54ee05d
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 7, 2024
24a951e
fix/mdJson-reader-environment (#366)
J-Oliveros May 7, 2024
37f26ec
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
J-Oliveros May 7, 2024
2e558ef
Add operation class. remove acq- prefix to relative require and class…
J-Oliveros May 7, 2024
195cd4a
fix/mdJson-reader-objective (#367)
J-Oliveros May 7, 2024
9159bea
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 7, 2024
7b1c8f9
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
J-Oliveros May 7, 2024
8be6f92
remove puts
J-Oliveros May 7, 2024
4603eeb
remove puts
J-Oliveros May 7, 2024
392ef24
fix keys to internal objects. Remove puts
J-Oliveros May 7, 2024
0c4d22c
fix keys in Plan class.
J-Oliveros May 7, 2024
172e662
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 7, 2024
7588dc8
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
J-Oliveros May 7, 2024
839c926
fix Instrument identifier class
J-Oliveros May 7, 2024
7b2bcd9
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 7, 2024
09012f3
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
J-Oliveros May 7, 2024
48380f9
Merge branch 'releases/2-20-0' into feature/acquisition
J-Oliveros May 7, 2024
46272dd
Merge branch 'releases/2-20-0' into feature/acquisition-mdjson-writer
J-Oliveros May 7, 2024
e2e6389
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdjson-writ…
J-Oliveros May 7, 2024
5d4aeef
uncomment Platform class in acquisition
J-Oliveros May 7, 2024
98256f9
fix appending result of sponsor to array. fix outContext for error ha…
J-Oliveros May 7, 2024
4ff3edc
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 7, 2024
21bfd16
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdjson-writ…
J-Oliveros May 7, 2024
4e8ad0e
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
J-Oliveros May 7, 2024
ae2bce0
fix Objective class and add Pass class to writer
J-Oliveros May 7, 2024
fc096c6
Merge branch 'feature/acquisition-mdjson-writer' into fix/mdJson-writ…
J-Oliveros May 7, 2024
0764c4d
Add Plan class and fix requirement class in writer.
J-Oliveros May 7, 2024
94d3308
fix identifier key in requirement class for reader
J-Oliveros May 7, 2024
8e99f63
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 7, 2024
1a7daf8
fix keys for Event class writer.
J-Oliveros May 8, 2024
33357b6
uncomment Pass class from acquisition. Minor clarification fixes.
J-Oliveros May 8, 2024
739a9fe
Add Environment class for use in acquisition writer.
J-Oliveros May 8, 2024
295166c
Fix Environment class for use in Acquisition
J-Oliveros May 8, 2024
7ce9d83
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 8, 2024
3b0dc10
fix environment key for acquisition class.
J-Oliveros May 8, 2024
75cfa86
Merge branch 'feature/acquisition' into feature/acquisition-mdjson-wr…
J-Oliveros May 8, 2024
0093c71
remove puts
J-Oliveros May 8, 2024
2d1991b
Fix test cases. internal object and changes for bugfixes to mdJson re…
May 13, 2024
f7b8240
Update mdJson-schemas gem version. Change ordering of acquisition in …
May 14, 2024
6a7dd7e
fix handling of parties within requirement class. Fix datetime string…
J-Oliveros May 21, 2024
9966772
Fix acquistion to include operation. Update instrumentation event and…
J-Oliveros May 22, 2024
02daf6a
Update adiwg-mdjson_schemas gem version to 2.10.0.pre.beta.1
jwaspin May 22, 2024
b141e48
Fix typo in MdJsonHashWriter class
jwaspin May 22, 2024
63477f2
Feature/acquisition html writer (#381)
J-Oliveros May 26, 2024
9778dbd
Merge branch 'releases/2-20-0' into feature/acquisition
jwaspin May 26, 2024
0ec1e1f
chore: Update adiwg-mdtranslator gem dependency to version 2.9.4.pre.…
jwaspin May 26, 2024
5f2c062
Refactor module_acq-operation.rb file
jwaspin May 26, 2024
b8e1542
Merge branch 'releases/2-20-0' into feature/acquisition
jwaspin May 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ PATH
remote: .
specs:
adiwg-mdtranslator (2.20.0.pre.beta.0)
adiwg-mdcodes (= 2.10.0)
adiwg-mdjson_schemas (= 2.9.5)
adiwg-mdcodes (= 2.9.4.pre.beta.4)
adiwg-mdjson_schemas (= 2.10.0.pre.beta.1)
builder (~> 3.2)
coderay (~> 1.1)
jbuilder (~> 2.5)
Expand All @@ -17,12 +17,15 @@ PATH
GEM
remote: https://rubygems.org/
specs:
actionview (7.1.3.3)
activesupport (= 7.1.3.3)
actionview (7.1.3.3)
activesupport (= 7.1.3.3)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activesupport (7.1.3.3)
activesupport (7.1.3.3)
base64
bigdecimal
Expand All @@ -37,7 +40,7 @@ GEM
public_suffix (>= 2.0.2, < 6.0)
adiwg-mdcodes (2.10.0)
json (~> 2.0)
adiwg-mdjson_schemas (2.9.5)
adiwg-mdjson_schemas (2.10.0.pre.beta.1)
base64 (0.2.0)
bigdecimal (3.1.8)
builder (3.2.4)
Expand Down Expand Up @@ -68,6 +71,7 @@ GEM
racc (~> 1.4)
public_suffix (5.0.5)
racc (1.8.0)
racc (1.8.0)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
Expand All @@ -79,6 +83,9 @@ GEM
rexml (3.2.8)
strscan (>= 3.0.9)
strscan (3.1.0)
rexml (3.2.8)
strscan (>= 3.0.9)
strscan (3.1.0)
thor (0.20.3)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
Expand Down
2 changes: 1 addition & 1 deletion adiwg-mdtranslator.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
spec.add_runtime_dependency "thor", "~> 0.19"
spec.add_runtime_dependency "uuidtools", "~> 2.1"
spec.add_runtime_dependency "json-schema", "~> 2.7"
spec.add_runtime_dependency "adiwg-mdjson_schemas", "2.9.5"
spec.add_runtime_dependency "adiwg-mdjson_schemas", "2.10.0.pre.beta.5"
spec.add_runtime_dependency "adiwg-mdcodes", "2.10.0"
spec.add_runtime_dependency "jbuilder", "~> 2.5"
spec.add_runtime_dependency "kramdown", ">= 1.13", "< 3.0"
Expand Down
52 changes: 45 additions & 7 deletions lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,8 @@ def newMetadata
associatedResources: [],
additionalDocuments: [],
funding: [],
dataQuality: []
dataQuality: [],
acquisitions: []
}
end

Expand All @@ -158,6 +159,7 @@ def newSchema
# acquisition ----------------------------
def newAcquisition
{
scope: {},
plans: [],
requirements: [],
objectives: [],
Expand All @@ -175,19 +177,23 @@ def newEnvironment
averageAirTemperature: nil,
maxRelativeHumidity: nil,
maxAltitude: nil,
meteorologicalConditions: nil
meteorologicalConditions: nil,
solarAzimuth: nil,
solarElevation: nil

}
end

def newEvent
{
eventId: nil,
identifier: {},
trigger: nil,
context: nil,
sequence: nil,
dateTime: nil,
expectedObjectives: [],
relatedPass: nil,
relatedPass: {},
relatedSensors: []
}
end
Expand All @@ -199,7 +205,29 @@ def newInstrument
identifier: {},
instrumentType: nil,
description: nil,
mountedOn: nil
mountedOn: {},
histories: [],
hostId: {}
}
end

def newInstrumentationEvent
{
citations: [],
description: nil,
extent: {},
eventType: nil,
revisionHistories: [],
}
end

def newInstrumentationEventList
{
citation: {},
description: nil,
locale: {},
constraints: [],
instrumentationEvents: []
}
end

Expand Down Expand Up @@ -240,14 +268,15 @@ def newPlan
def newOperation
{
operationId: nil,
description: nil,
citation: {},
identifier: {},
status: nil,
operationType: nil,
objectives: [],
parentOperations: nil,
parentOperation: {},
childOperations: [],
plan: nil,
plan: {},
platforms: [],
significantEvents: []
}
Expand All @@ -267,14 +296,23 @@ def newRequirement
}
end

def newRevision
{
description: nil,
responsibleParty: {},
dateInfo: []
}
end

def newPlatform
{
platformId: nil,
citation: {},
identifier: {},
description: nil,
sponsors: [],
instruments: []
instruments: [],
history: []
}
end

Expand Down
133 changes: 133 additions & 0 deletions lib/adiwg/mdtranslator/readers/mdJson/modules/module_acquisition.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
require_relative 'module_scope'
require_relative 'module_objective'
require_relative 'module_requirement'
require_relative 'module_platform'
require_relative 'module_instrument'
require_relative 'module_operation'
require_relative 'module_pass'
require_relative 'module_event'
require_relative 'module_environment'
require_relative 'module_plan'

module ADIWG
module Mdtranslator
module Readers
module MdJson

module Acquisition

def self.unpack(hAcquisition, responseObj, inContext = nil)

@MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson

outContext = 'acquisition'
outContext = inContext + ' > ' + outContext unless inContext.nil?

# instance classes needed in script
intMetadataClass = InternalMetadata.new
intAcquisition = intMetadataClass.newAcquisition

if hAcquisition.has_key?('scope')
unless hAcquisition['scope'].empty?
hReturn = Scope.unpack(hAcquisition['scope'], responseObj, outContext)
unless hReturn.nil?
intAcquisition[:scope] = hReturn
end
end
end

if hAcquisition.has_key?('plan')
aItems = hAcquisition['plan']
aItems.each do |item|
hReturn = Plan.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:plans] << hReturn
end
end
end

if hAcquisition.has_key?('requirement')
aItems = hAcquisition['requirement']
aItems.each do |item|
hReturn = Requirement.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:requirements] << hReturn
end
end
end

if hAcquisition.has_key?('objective')
aItems = hAcquisition['objective']
aItems.each do |item|
hReturn = Objective.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:objectives] << hReturn
end
end
end

if hAcquisition.has_key?('platform')
aItems = hAcquisition['platform']
aItems.each do |item|
hReturn = Platform.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:platforms] << hReturn
end
end
end

if hAcquisition.has_key?('instrument')
aItems = hAcquisition['instrument']
aItems.each do |item|
hReturn = Instrument.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:instruments] << hReturn
end
end
end

if hAcquisition.has_key?('operation')
aItems = hAcquisition['operation']
aItems.each do |item|
hReturn = Operation.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:operations] << hReturn
end
end
end

if hAcquisition.has_key?('event')
aItems = hAcquisition['event']
aItems.each do |item|
hReturn = Event.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:events] << hReturn
end
end
end

if hAcquisition.has_key?('pass')
aItems = hAcquisition['pass']
aItems.each do |item|
hReturn = Pass.unpack(item, responseObj, outContext)
unless hReturn.nil?
intAcquisition[:passes] << hReturn
end
end
end

if hAcquisition.has_key?('environment')
intAcquisition[:environment] = Environment.unpack(hAcquisition['environment'], responseObj, outContext)
end

return intAcquisition

end

end

end
end
end
end

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
module ADIWG
module Mdtranslator
module Readers
module MdJson

module Environment
def self.unpack(hEnvironment, responseObj, inContext = nil)

intMetadataClass = InternalMetadata.new
intEnvironment = intMetadataClass.newEnvironment

outContext = 'environment'
outContext = inContext + ' > ' + outContext unless inContext.nil?

if hEnvironment.has_key?('averageAirTemperature')
intEnvironment[:averageAirTemperature] = hEnvironment['averageAirTemperature']
end

if hEnvironment.has_key?('maxRelativeHumidity')
intEnvironment[:maxRelativeHumidity] = hEnvironment['maxRelativeHumidity']
end

if hEnvironment.has_key?('maxAltitude')
intEnvironment[:maxAltitude] = hEnvironment['maxAltitude']
end

if hEnvironment.has_key?('meteorologicalConditions')
intEnvironment[:meteorologicalConditions] = hEnvironment['meteorologicalConditions']
end

if hEnvironment.has_key?('solarAzimuth')
intEnvironment[:solarAzimuth] = hEnvironment['solarAzimuth']
end

if hEnvironment.has_key?('solarElevation')
intEnvironment[:solarElevation] = hEnvironment['solarElevation']
end

intEnvironment

end
end

end
end
end
end
Loading
Loading