adiwg-mdtranslator 1.4.0 → 2.0.0rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitmodules +1 -3
- data/.travis.yml +4 -3
- data/README.md +1 -3
- data/Rakefile +5 -1
- data/adiwg-mdtranslator.gemspec +5 -5
- data/bin/mdtranslator +3 -205
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +600 -316
- data/lib/adiwg/mdtranslator/internal/module_coordinates.rb +123 -7
- data/lib/adiwg/mdtranslator/internal/module_dateTimeFun.rb +45 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb +83 -178
- data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_validator.rb +21 -22
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_additionalDocumentation.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_address.rb +101 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_allocation.rb +84 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_associatedResource.rb +111 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attribute.rb +224 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attributeGroup.rb +63 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_boundingBox.rb +95 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_citation.rb +164 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_constraint.rb +163 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_contact.rb +172 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageDescription.rb +96 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +151 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_date.rb +74 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/{modules_v1 → modules}/module_dateTime.rb +19 -5
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dimension.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distribution.rb +56 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distributor.rb +78 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domain.rb +95 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domainItem.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_duration.rb +112 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entity.rb +135 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityAttribute.rb +130 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityForeignKey.rb +78 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityIndex.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_extent.rb +83 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_featureCollection.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_format.rb +68 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_funding.rb +67 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geoJson.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geographicExtent.rb +98 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryCollection.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryFeature.rb +112 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryObject.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryProperties.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georectifiedRepresentation.rb +113 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georeferenceableRepresentation.rb +99 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gmlIdentifier.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_graphic.rb +96 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gridRepresentation.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_identifier.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_imageDescription.rb +120 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keyword.rb +83 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keywordObject.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_lineage.rb +104 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_locale.rb +66 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_maintenance.rb +93 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_mdJson.rb +136 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_measure.rb +75 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_medium.rb +105 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadata.rb +131 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataInfo.rb +157 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataRepository.rb +53 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_onlineResource.rb +82 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_orderProcess.rb +68 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_party.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_phone.rb +68 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb +113 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_releasability.rb +71 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceInfo.rb +364 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceType.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceUsage.rb +117 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +91 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_schema.rb +56 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scope.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scopeDescription.rb +73 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_securityConstraint.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_series.rb +57 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_source.rb +123 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialReference.rb +65 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialRepresentation.rb +96 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialResolution.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicClassification.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicSystem.rb +60 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomy.rb +138 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_temporalExtent.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInstant.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInterval.rb +69 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timePeriod.rb +120 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_transferOption.rb +95 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorObject.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorRepresentation.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_verticalExtent.rb +81 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb +64 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/readme.md +3 -9
- data/lib/adiwg/mdtranslator/readers/mdJson/version.rb +14 -0
- data/lib/adiwg/mdtranslator/readers/mdReaders.rb +36 -30
- data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_reader.rb +39 -40
- data/lib/adiwg/mdtranslator/version.rb +38 -29
- data/lib/adiwg/mdtranslator/writers/html/html_writer.rb +28 -25
- data/lib/adiwg/mdtranslator/writers/html/readme.md +3 -9
- data/lib/adiwg/mdtranslator/writers/html/sections/html_additionalDocumentation.rb +35 -34
- data/lib/adiwg/mdtranslator/writers/html/sections/html_allocation.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_associatedResource.rb +51 -51
- data/lib/adiwg/mdtranslator/writers/html/sections/html_attribute.rb +189 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_attributeGroup.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +275 -259
- data/lib/adiwg/mdtranslator/writers/html/sections/html_bodyScript.js +275 -150
- data/lib/adiwg/mdtranslator/writers/html/sections/html_boundingBox.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb +142 -82
- data/lib/adiwg/mdtranslator/writers/html/sections/html_constraint.rb +118 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +166 -94
- data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageInfo.rb +57 -64
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb +102 -96
- data/lib/adiwg/mdtranslator/writers/html/sections/html_date.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_datetime.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dimension.rb +50 -52
- data/lib/adiwg/mdtranslator/writers/html/sections/html_distribution.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_distributor.rb +48 -44
- data/lib/adiwg/mdtranslator/writers/html/sections/html_document.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domain.rb +53 -62
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domainItem.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_duration.rb +68 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb +99 -122
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entityAttribute.rb +94 -100
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entityForeignKey.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entityIndex.rb +39 -39
- data/lib/adiwg/mdtranslator/writers/html/sections/html_extent.rb +53 -86
- data/lib/adiwg/mdtranslator/writers/html/sections/html_feature.rb +97 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_featureCollection.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_featureProperties.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_format.rb +46 -34
- data/lib/adiwg/mdtranslator/writers/html/sections/html_funding.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicElement.rb +61 -194
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicExtent.rb +112 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryCollection.rb +78 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryObject.rb +46 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_georectifiedRepresentation.rb +93 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_georeferenceableRepresentation.rb +78 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_graphic.rb +75 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_gridRepresentation.rb +61 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_head.rb +47 -60
- data/lib/adiwg/mdtranslator/writers/html/sections/html_identifier.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_imageInfo.rb +92 -110
- data/lib/adiwg/mdtranslator/writers/html/sections/html_inlineCss.css +16 -8
- data/lib/adiwg/mdtranslator/writers/html/sections/html_keyword.rb +47 -45
- data/lib/adiwg/mdtranslator/writers/html/sections/html_legalConstraint.rb +41 -48
- data/lib/adiwg/mdtranslator/writers/html/sections/html_lineage.rb +87 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_locale.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_maintenance.rb +96 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_measure.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_medium.rb +74 -52
- data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataInfo.rb +162 -131
- data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataRepository.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_onlineResource.rb +52 -55
- data/lib/adiwg/mdtranslator/writers/html/sections/html_orderProcess.rb +53 -55
- data/lib/adiwg/mdtranslator/writers/html/sections/html_processStep.rb +89 -57
- data/lib/adiwg/mdtranslator/writers/html/sections/html_releasability.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resolution.rb +46 -38
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceInfo.rb +402 -291
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceType.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibility.rb +81 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_scopeDescription.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_securityConstraint.rb +46 -47
- data/lib/adiwg/mdtranslator/writers/html/sections/html_source.rb +123 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReference.rb +43 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialRepresentation.rb +77 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomy.rb +138 -90
- data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomyClass.rb +63 -50
- data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalExtent.rb +66 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInstant.rb +60 -42
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInterval.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timePeriod.rb +88 -43
- data/lib/adiwg/mdtranslator/writers/html/sections/html_transferOption.rb +68 -50
- data/lib/adiwg/mdtranslator/writers/html/sections/html_usage.rb +118 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorObject.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorRepresentation.rb +46 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalExtent.rb +62 -0
- data/lib/adiwg/mdtranslator/writers/html/version.rb +12 -11
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_address.rb +70 -75
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_baseUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_codelist.rb +14 -13
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_contact.rb +50 -34
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_conventionalUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_definitionUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_derivedUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +205 -0
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureAttribute.rb +39 -38
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureConstraint.rb +9 -10
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureType.rb +48 -40
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_listedValue.rb +22 -20
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_locale.rb +69 -0
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_multiplicity.rb +24 -17
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_onlineResource.rb +33 -29
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_phone.rb +83 -0
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_responsibleParty.rb +77 -64
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_unitsOfMeasure.rb +20 -20
- data/lib/adiwg/mdtranslator/writers/iso19110/iso19110_writer.rb +21 -32
- data/lib/adiwg/mdtranslator/writers/iso19110/readme.md +3 -8
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_address.rb +70 -74
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_aggregateInformation.rb +30 -32
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_attributeGroup.rb +70 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_baseUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingBox.rb +77 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_browseGraphic.rb +26 -24
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_citation.rb +111 -100
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_codelist.rb +14 -13
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contact.rb +50 -34
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_conventionalUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_coverageDescription.rb +99 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataIdentification.rb +195 -270
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataQuality.rb +26 -35
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_date.rb +31 -38
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_definitionUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_derivedUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dimension.rb +26 -23
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distribution.rb +19 -16
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distributor.rb +51 -66
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_enumerationList.rb +12 -12
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_metadataExtension.rb → class_extension.rb} +94 -67
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_extent.rb +43 -59
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_feature.rb +67 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb +56 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureProperties.rb +65 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_format.rb +48 -27
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_fraction.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gcoDateTime.rb +48 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicElement.rb +55 -26
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicExtent.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometricObjects.rb +56 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometryCollection.rb +88 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georectified.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georeferenceable.rb +86 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gmlIdentifier.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_grid.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridRepresentation.rb +36 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_hierarchy.rb +58 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_image.rb +144 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_keyword.rb +41 -35
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_legalConstraints.rb +46 -37
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineString.rb +45 -51
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineage.rb +29 -31
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_locale.rb +21 -17
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenance.rb +119 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_mdBand.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_identifier.rb → class_mdIdentifier.rb} +25 -27
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_measure.rb +48 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_medium.rb +66 -42
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miBand.rb +91 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miMetadata.rb +352 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiLine.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPoint.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPolygon.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_onlineResource.rb +33 -29
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_standardOrderProcess.rb → class_orderProcess.rb} +33 -35
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_phone.rb +83 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_point.rb +46 -51
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_polygon.rb +54 -61
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processStep.rb +46 -34
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeDimension.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_referenceSystem.rb +24 -25
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resolution.rb +32 -31
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_responsibleParty.rb +75 -65
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rsIdentifier.rb +86 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scope.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scopeDescription.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_securityConstraints.rb +47 -32
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_series.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_source.rb +58 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_spatialRepresentation.rb +64 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_taxonClassification.rb → class_taxonomicClassification.rb} +35 -38
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomicSystem.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomy.rb +144 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_temporalExtent.rb +15 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timeInstant.rb +42 -19
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timePeriod.rb +79 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_transferOptions.rb +91 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_unitsOfMeasure.rb +22 -22
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_usage.rb +70 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_useConstraints.rb +18 -17
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vectorRepresentation.rb +59 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_verticalExtent.rb +39 -26
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vouchers.rb +20 -20
- data/lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb +22 -133
- data/lib/adiwg/mdtranslator/writers/iso19115_2/readme.md +1 -7
- data/lib/adiwg/mdtranslator/writers/mdJson/mdJson_writer.rb +44 -41
- data/lib/adiwg/mdtranslator/writers/mdJson/readme.md +3 -9
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDocumentation.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_address.rb +29 -17
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_associatedResource.rb +30 -16
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attribute.rb +48 -22
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attributeGroup.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_boundingBox.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_citation.rb +41 -26
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_constraint.rb +40 -23
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_contact.rb +39 -24
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageDescription.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_date.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dateTime.rb +33 -13
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +35 -25
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dimension.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distribution.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributor.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domain.rb +30 -20
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domainItem.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_duration.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entity.rb +35 -32
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityAttribute.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityForeignKey.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityIndex.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_extent.rb +31 -21
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_format.rb +26 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicExtent.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georectifiedRepresentation.rb +35 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georeferenceableRepresentation.rb +36 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_graphicOverview.rb +31 -15
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridRepresentation.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_identifier.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_imageDescription.rb +41 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keyword.rb +28 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keywordObject.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_lineageInfo.rb +38 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_locale.rb +25 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_maintenance.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_mdJson.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_measure.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_medium.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +35 -22
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb +39 -29
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +27 -16
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_orderProcess.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_party.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_phone.rb +25 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +34 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_releasability.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_repository.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb +61 -56
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceType.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_responsibleParty.rb +29 -13
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scope.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scopeDescription.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_securityConstraint.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_series.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_source.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialReference.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialRepresentation.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialResolution.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicClassification.rb +35 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicSystem.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomy.rb +36 -26
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalExtent.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInstant.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInterval.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timePeriod.rb +34 -15
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb +32 -26
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_usage.rb +33 -17
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorObject.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorRepresentation.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalExtent.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_voucher.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/version.rb +13 -9
- data/lib/adiwg/mdtranslator/writers/mdWriters.rb +36 -28
- data/lib/adiwg/mdtranslator.rb +135 -113
- data/lib/adiwg/mdtranslator_cli.rb +191 -0
- metadata +238 -215
- data/lib/adiwg/mdtranslator/internal/module_geoFormat.rb +0 -219
- data/lib/adiwg/mdtranslator/internal/module_lineString.rb +0 -18
- data/lib/adiwg/mdtranslator/internal/module_point.rb +0 -18
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_additionalDocumentation.rb +0 -64
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_address.rb +0 -91
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_associatedResource.rb +0 -100
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_boundingBox.rb +0 -64
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_browseGraphic.rb +0 -79
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_citation.rb +0 -141
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedData.rb +0 -49
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedDataItem.rb +0 -53
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_contacts.rb +0 -164
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageInfo.rb +0 -83
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageItem.rb +0 -136
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataDictionary.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataQuality.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_descriptiveKeyword.rb +0 -77
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dictionaryInfo.rb +0 -82
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_digitalTransferOption.rb +0 -80
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dimension.rb +0 -81
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionInfo.rb +0 -89
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionOrder.rb +0 -62
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domain.rb +0 -96
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domainItem.rb +0 -72
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entity.rb +0 -131
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityAttribute.rb +0 -134
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityForeignKey.rb +0 -73
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityIndex.rb +0 -72
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_extent.rb +0 -75
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoCoordSystem.rb +0 -59
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoProperties.rb +0 -102
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geographicElement.rb +0 -189
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_gridInfo.rb +0 -67
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_imageInfo.rb +0 -119
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_legalConstraint.rb +0 -62
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineString.rb +0 -37
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineage.rb +0 -67
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_locale.rb +0 -57
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_mdJson.rb +0 -68
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_medium.rb +0 -73
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadata.rb +0 -90
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataExtension.rb +0 -53
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataInfo.rb +0 -152
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_onlineResource.rb +0 -84
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_phone.rb +0 -81
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_point.rb +0 -37
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_polygon.rb +0 -67
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_processStep.rb +0 -88
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resolution.rb +0 -59
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceFormat.rb +0 -57
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceIdentifier.rb +0 -85
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceInfo.rb +0 -374
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceMaintenance.rb +0 -63
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceSpecificUsage.rb +0 -63
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_responsibleParty.rb +0 -68
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_securityConstraint.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_sensorInfo.rb +0 -69
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_source.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_spatialReference.rb +0 -61
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonClass.rb +0 -56
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonomy.rb +0 -96
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_temporalElement.rb +0 -84
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timeInstant.rb +0 -58
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timePeriod.rb +0 -66
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_verticalElement.rb +0 -66
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_voucher.rb +0 -51
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/version.rb +0 -19
- data/lib/adiwg/mdtranslator/readers/mdJson/validator.rb +0 -43
- data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_validator.rb +0 -44
- data/lib/adiwg/mdtranslator/writers/html/md_html_writer.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/html/sections/html_browseGraphic.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageItem.rb +0 -139
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataLineage.rb +0 -68
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataSource.rb +0 -67
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dateTime.rb +0 -41
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domainMember.rb +0 -52
- data/lib/adiwg/mdtranslator/writers/html/sections/html_gridInfo.rb +0 -65
- data/lib/adiwg/mdtranslator/writers/html/sections/html_headScript.js +0 -18
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceContact.rb +0 -37
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceGeneral.rb +0 -133
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceId.rb +0 -77
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceMaint.rb +0 -56
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceOther.rb +0 -88
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceUsage.rb +0 -56
- data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibleParty.rb +0 -39
- data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReferenceSystem.rb +0 -58
- data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalElement.rb +0 -61
- data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalElement.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/iso19110/class_FCfeatureCatalogue.rb +0 -191
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_telephone.rb +0 -92
- data/lib/adiwg/mdtranslator/writers/iso19110/version.rb +0 -14
- data/lib/adiwg/mdtranslator/writers/iso19115_2/class_MImetadata.rb +0 -391
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_band.rb +0 -165
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingPolygon.rb +0 -90
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contentInfo.rb +0 -111
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_digitalTransferOptions.rb +0 -92
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicBoundingBox.rb +0 -89
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicDescription.rb +0 -44
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridInfo.rb +0 -80
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_imageDescription.rb +0 -157
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenanceInformation.rb +0 -80
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiGeometry.rb +0 -156
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeElementDescription.rb +0 -88
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resourceIdentifier.rb +0 -94
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonSystem.rb +0 -115
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_telephone.rb +0 -92
- data/lib/adiwg/mdtranslator/writers/iso19115_2/version.rb +0 -17
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDoc.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_base.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +0 -32
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributionInfo.rb +0 -31
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicElement.rb +0 -81
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridInfo.rb +0 -27
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceIdentifier.rb +0 -23
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceMaintenance.rb +0 -23
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialreference.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxon.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalElement.rb +0 -38
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalElement.rb +0 -20
- data/test/readers/mdJson/v1/tc_reader_mdjson_additionalDocumentation.rb +0 -116
- data/test/readers/mdJson/v1/tc_reader_mdjson_address.rb +0 -111
- data/test/readers/mdJson/v1/tc_reader_mdjson_associatedResource.rb +0 -157
- data/test/readers/mdJson/v1/tc_reader_mdjson_browseGraphic.rb +0 -119
- data/test/readers/mdJson/v1/tc_reader_mdjson_citation.rb +0 -143
- data/test/readers/mdJson/v1/tc_reader_mdjson_contact.rb +0 -138
- data/test/readers/mdJson/v1/tc_reader_mdjson_dataQuality.rb +0 -111
- data/test/readers/mdJson/v1/tc_reader_mdjson_dateTime.rb +0 -159
- data/test/readers/mdJson/v1/tc_reader_mdjson_descriptiveKeyword.rb +0 -115
- data/test/readers/mdJson/v1/tc_reader_mdjson_dictionaryInfo.rb +0 -121
- data/test/readers/mdJson/v1/tc_reader_mdjson_digitalTransferOption.rb +0 -94
- data/test/readers/mdJson/v1/tc_reader_mdjson_distributionOrder.rb +0 -103
- data/test/readers/mdJson/v1/tc_reader_mdjson_domain.rb +0 -130
- data/test/readers/mdJson/v1/tc_reader_mdjson_domainItem.rb +0 -98
- data/test/readers/mdJson/v1/tc_reader_mdjson_entity.rb +0 -134
- data/test/readers/mdJson/v1/tc_reader_mdjson_entityAttribute.rb +0 -154
- data/test/readers/mdJson/v1/tc_reader_mdjson_entityForeignKey.rb +0 -100
- data/test/readers/mdJson/v1/tc_reader_mdjson_entityIndex.rb +0 -99
- data/test/readers/mdJson/v1/tc_reader_mdjson_legalConstraint.rb +0 -104
- data/test/readers/mdJson/v1/tc_reader_mdjson_lineage.rb +0 -117
- data/test/readers/mdJson/v1/tc_reader_mdjson_medium.rb +0 -98
- data/test/readers/mdJson/v1/tc_reader_mdjson_metadataInfo.rb +0 -141
- data/test/readers/mdJson/v1/tc_reader_mdjson_onlineResource.rb +0 -110
- data/test/readers/mdJson/v1/tc_reader_mdjson_phone.rb +0 -112
- data/test/readers/mdJson/v1/tc_reader_mdjson_processStep.rb +0 -118
- data/test/readers/mdJson/v1/tc_reader_mdjson_resolution.rb +0 -77
- data/test/readers/mdJson/v1/tc_reader_mdjson_source.rb +0 -117
- data/test/readers/mdJson/v1/tc_reader_mdjson_translation.rb +0 -85
- data/test/readers/mdJson/v1/tc_translation_19110.rb +0 -58
- data/test/readers/sbJson/v0/tc_reader_sbjson_translation.rb +0 -81
- data/test/readers/sbJson/v0/test.json +0 -431
- data/test/readers/sbJson/v0/test1.json +0 -383
- data/test/writers/iso19115_2/tc_writer_iso19115_2_address.rb +0 -229
- data/test/writers/mdJson/v1/tc_writer_mdJson.rb +0 -62
- data/test/writers/sbJson/v0/tc_writer_sbJson.rb +0 -62
@@ -0,0 +1,29 @@
|
|
1
|
+
# mdJson 2.0 writer - taxonomic voucher
|
2
|
+
|
3
|
+
# History:
|
4
|
+
# Stan Smith 2017-03-17 original script
|
5
|
+
|
6
|
+
require 'jbuilder'
|
7
|
+
require_relative 'mdJson_responsibleParty'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Writers
|
12
|
+
module MdJson
|
13
|
+
|
14
|
+
module Voucher
|
15
|
+
|
16
|
+
def self.build(hVoucher)
|
17
|
+
|
18
|
+
Jbuilder.new do |json|
|
19
|
+
json.specimen hVoucher[:specimen]
|
20
|
+
json.repository ResponsibleParty.build(hVoucher[:repository]) unless hVoucher[:repository].empty?
|
21
|
+
end
|
22
|
+
|
23
|
+
end # build
|
24
|
+
end # Voucher
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -1,13 +1,17 @@
|
|
1
|
+
# History version 2
|
2
|
+
# Stan Smith 2017-03-10 refactored for mdJson/mdTranslator 2.0
|
3
|
+
|
4
|
+
# History version 1
|
5
|
+
# Josh Bradley
|
6
|
+
|
1
7
|
module ADIWG
|
2
|
-
|
3
|
-
|
4
|
-
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
5
11
|
|
6
|
-
|
7
|
-
# corresponds to mdJson output
|
8
|
-
VERSION = '1.1.0'
|
12
|
+
VERSION = '2.0.0'
|
9
13
|
|
10
|
-
|
11
|
-
|
12
|
-
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
13
17
|
end
|
@@ -1,61 +1,69 @@
|
|
1
1
|
# MdTranslator - controller for evaluating and directing writers
|
2
2
|
|
3
3
|
# History:
|
4
|
-
#
|
5
|
-
# Stan Smith 2012-12-16 generalized handleWriter to use :writerName
|
6
|
-
# Stan Smith 2015-03-04 changed method of setting $WriterNS
|
7
|
-
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
|
8
|
-
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
4
|
+
# Stan Smith 2016-11-14 refactored for mdTranslator 2.0.0
|
9
5
|
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
6
|
+
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
7
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
8
|
+
# Stan Smith 2015-03-04 changed method of setting $WriterNS
|
9
|
+
# Stan Smith 2012-12-16 generalized handleWriter to use :writerName
|
10
|
+
# Stan Smith 2014-12-11 original script
|
10
11
|
|
11
12
|
module ADIWG
|
12
13
|
module Mdtranslator
|
13
14
|
module Writers
|
14
15
|
|
15
|
-
def self.handleWriter(intObj,
|
16
|
+
def self.handleWriter(intObj, hResponseObj)
|
16
17
|
|
17
|
-
# use
|
18
|
-
#
|
19
|
-
|
18
|
+
# use ':writerRequested' from hResponseObj to build directory path to writer
|
19
|
+
# writer's high-level folder must be placed in 'lib/adiwg/mdtranslator/writers/'
|
20
|
+
# writer's code must must be in folder named '{writer}'
|
21
|
+
# '{writer}' must contain a module named '{writer}_writer.rb'
|
22
|
+
# '{writer}_writer.rb' must have a method named 'startWriter()'
|
23
|
+
# 'startWriter()' must pass two parameters (intObj, hResponseObj)
|
24
|
+
# all writer modules and classes must remain in their private namespace
|
25
|
+
# writer namespace is 'ADIWG::Mdtranslator::Writers::{writer}'
|
26
|
+
|
27
|
+
# the writer's high-level
|
28
|
+
thisDir = File.dirname(File.expand_path(__FILE__))
|
29
|
+
writerDir = File.join(thisDir, hResponseObj[:writerRequested])
|
20
30
|
if File.directory?(writerDir)
|
21
31
|
|
22
|
-
#
|
23
|
-
|
24
|
-
require
|
32
|
+
# writer folder
|
33
|
+
writerModule = File.join(writerDir, hResponseObj[:writerRequested] + '_writer')
|
34
|
+
require writerModule
|
25
35
|
|
26
|
-
#
|
27
|
-
writerNS =
|
36
|
+
# writer namespace
|
37
|
+
writerNS = hResponseObj[:writerRequested].dup
|
28
38
|
writerNS[0] = writerNS[0].upcase
|
29
39
|
|
30
|
-
# pass internal object and
|
31
|
-
|
40
|
+
# pass internal object and hResponseObj to the writer
|
41
|
+
hResponseObj[:writerOutput] = ADIWG::Mdtranslator::Writers.const_get(writerNS).startWriter(intObj, hResponseObj)
|
32
42
|
|
33
43
|
else
|
34
|
-
|
35
|
-
|
36
|
-
responseObj[:writerMessages] << 'Writer not called - see following message(s):\n'
|
37
|
-
responseObj[:writerMessages] << "Writer name '#{responseObj[:writerName]}' is not supported."
|
38
|
-
return false
|
44
|
+
hResponseObj[:writerMessages] << "Requested writer '#{hResponseObj[:writerRequested]}' cannot be found."
|
45
|
+
hResponseObj[:writerPass] = false
|
39
46
|
end
|
40
47
|
|
41
|
-
|
48
|
+
return hResponseObj
|
42
49
|
|
43
|
-
# return path to writers
|
44
|
-
def self.path_to_writers
|
45
|
-
File.dirname(File.expand_path(__FILE__))
|
46
50
|
end
|
47
51
|
|
48
52
|
# return writer readme text
|
49
53
|
# this is called from the Rails API
|
50
54
|
def self.get_writer_readme(writer)
|
51
|
-
|
52
|
-
|
55
|
+
|
56
|
+
thisDir = File.dirname(File.expand_path(__FILE__))
|
57
|
+
path = File.join(thisDir, writer, 'readme.md')
|
53
58
|
if File.exist?(path)
|
54
59
|
file = File.open(path, 'r')
|
55
60
|
readmeText = file.read
|
56
61
|
file.close
|
62
|
+
return readmeText
|
63
|
+
else
|
64
|
+
return 'Readme file not found'
|
57
65
|
end
|
58
|
-
|
66
|
+
|
59
67
|
end
|
60
68
|
|
61
69
|
end
|
data/lib/adiwg/mdtranslator.rb
CHANGED
@@ -1,156 +1,178 @@
|
|
1
|
-
# MdTranslator - ADIwg MdTranslator
|
1
|
+
# MdTranslator - ADIwg MdTranslator entry point
|
2
2
|
|
3
3
|
# History:
|
4
|
-
#
|
5
|
-
# Stan Smith
|
6
|
-
# Stan Smith
|
4
|
+
# Stan Smith 2016-11-11 refactor for mdTranslator 2.0
|
5
|
+
# Stan Smith 2015-07-17 added support for user supplied CSS for html writer
|
6
|
+
# Stan Smith 2015-07-16 moved module_coordinates from mdJson reader to internal
|
7
|
+
# Stan Smith 2015-07-14 renamed readerVersionFound to readerVersionRequested
|
8
|
+
# Stan Smith 2015-07-14 deleted readerFound
|
9
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
10
|
+
# ... created as an instance of class ResponseHash
|
11
|
+
# Stan Smith 2015-03-04 moved addFinalMessages into this module from rails app
|
12
|
+
# Stan Smith 2015-01-15 changed translate() to keyword parameter list
|
13
|
+
# Stan Smith 2014-12-11 refactored to handle namespacing readers and writers
|
14
|
+
# Stan Smith 2014-12-02 organized shared class/code/units folders for 19115-2, 19110
|
15
|
+
# Stan Smith 2014-12-01 added translator version to $response
|
16
|
+
# Stan Smith 2014-12-01 added writer iso19110 (feature catalogue)
|
17
|
+
# Stan Smith 2014-12-01 changed adiwgJson to mdJson
|
18
|
+
# Stan Smith 2014-10-11 added methods to return content of readme files
|
19
|
+
# Stan Smith 2014-10-10 added method to return path to readers and writers
|
20
|
+
# Stan Smith 2014-09-26 added processing of minor release numbers
|
7
21
|
# Stan Smith 2014-07-23 moved all validations to readers/adiwg/adiwg_validator.rb
|
8
22
|
# ... each reader will have it's own validator
|
9
|
-
# Stan Smith 2014-
|
10
|
-
# Stan Smith 2014-
|
11
|
-
#
|
12
|
-
# Stan Smith 2014-12-01 changed adiwgJson to mdJson
|
13
|
-
# Stan Smith 2014-12-01 added writer iso19110 (feature catalogue)
|
14
|
-
# Stan Smith 2014-12-01 added translator version to $response
|
15
|
-
# Stan Smith 2014-12-02 organized shared class/code/units folders for 19115-2, 19110
|
16
|
-
# Stan Smith 2014-12-11 refactored to handle namespacing readers and writers
|
17
|
-
# Stan Smith 2015-01-15 changed translate() to keyword parameter list
|
18
|
-
# Stan Smith 2015-03-04 moved addFinalMessages into this module from rails app
|
19
|
-
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
|
20
|
-
# ... created as an instance of class ResponseHash
|
21
|
-
# Stan Smith 2015-07-14 deleted readerFound
|
22
|
-
# Stan Smith 2015-07-14 renamed readerVersionFound to readerVersionRequested
|
23
|
-
# Stan Smith 2015-07-16 moved module_coordinates from mdJson reader to internal
|
24
|
-
# Stan Smith 2015-07-17 added support for user supplied CSS for html writer
|
23
|
+
# Stan Smith 2014-07-21 added validation of json structure
|
24
|
+
# Stan Smith 2014-07-21 added ADIWG namespace
|
25
|
+
# Stan Smith 2014-07-02 original script
|
25
26
|
|
26
27
|
# required by readers and writers
|
27
28
|
require 'adiwg/mdtranslator/version'
|
28
29
|
require 'adiwg/mdtranslator/readers/mdReaders'
|
29
30
|
require 'adiwg/mdtranslator/writers/mdWriters'
|
30
|
-
require 'adiwg/mdtranslator/internal/internal_metadata_obj'
|
31
|
-
require 'adiwg/mdtranslator/internal/module_dateTimeFun'
|
32
|
-
require 'adiwg/mdtranslator/internal/module_geoFormat'
|
33
|
-
require 'adiwg/mdtranslator/internal/module_coordinates'
|
34
|
-
require 'adiwg/mdtranslator/internal/module_point'
|
35
|
-
require 'adiwg/mdtranslator/internal/module_lineString'
|
36
31
|
|
37
32
|
module ADIWG
|
38
33
|
module Mdtranslator
|
39
34
|
|
40
|
-
def self.translate(file:, reader
|
35
|
+
def self.translate(file:, reader: 'mdJson', writer: nil, validate: 'normal', showAllTags: false, cssLink: nil)
|
41
36
|
|
42
|
-
# the reader and writer specified in the translate parameter string
|
37
|
+
# the reader and writer specified in the translate module parameter string will load and
|
43
38
|
# return this hash ...
|
39
|
+
# ====================================================================================
|
40
|
+
# readerRequested: name of the reader requested by the user
|
41
|
+
# - set from the parameter list (reader) (default = 'mdJson')
|
42
|
+
# ------------------------------------------------------------------------------------
|
43
|
+
# readerVersionRequested: version of the reader requested in input file
|
44
|
+
# - set in reader
|
45
|
+
# ------------------------------------------------------------------------------------
|
46
|
+
# readerVersionUsed: actual reader version use in processing the input file
|
47
|
+
# - set by the reader
|
48
|
+
# ------------------------------------------------------------------------------------
|
49
|
+
# readerStructurePass: false if input file structure is determined to be invalid
|
50
|
+
# - set by the reader
|
51
|
+
# ------------------------------------------------------------------------------------
|
52
|
+
# readerStructureMessages: an array of parser warning and error messages
|
53
|
+
# - set by the reader
|
44
54
|
# ------------------------------------------------------------------------------------
|
45
|
-
# readerFormat: the anticipated format of the input file, parsing by the reader will
|
46
|
-
# proceed assuming this format, set by reader
|
47
|
-
# readerStructurePass: 'true' if input file structure is determined to be valid.
|
48
|
-
# Set by the reader.
|
49
|
-
# readerStructureMessages: an array of quoted string messages. If readerStructurePass
|
50
|
-
# is false, set one or more messages to assist the user in fixing file structure
|
51
|
-
# problems. Set by reader.
|
52
|
-
# readerRequested: name of the reader requested by the user, set from the translate
|
53
|
-
# parameter list
|
54
|
-
# readerVersionRequested: version of the reader requested by the input file, set by reader
|
55
|
-
# readerVersionUsed: version of the reader the reader method decided to use in processing
|
56
|
-
# the input file. Set by the reader. Default 'normal'.
|
57
55
|
# readerValidationLevel: validation level requested to be applied to the input file, set
|
58
|
-
#
|
59
|
-
#
|
60
|
-
#
|
61
|
-
#
|
62
|
-
#
|
63
|
-
#
|
64
|
-
#
|
65
|
-
#
|
66
|
-
#
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
72
|
-
#
|
73
|
-
#
|
74
|
-
#
|
75
|
-
#
|
76
|
-
#
|
77
|
-
#
|
78
|
-
#
|
79
|
-
#
|
80
|
-
#
|
81
|
-
#
|
56
|
+
# - set from the parameter list (reader)
|
57
|
+
# ------------------------------------------------------------------------------------
|
58
|
+
# readerValidationPass: false if fails requested level of validation
|
59
|
+
# - set by the reader
|
60
|
+
# ------------------------------------------------------------------------------------
|
61
|
+
# readerValidationMessages: an array of schema warning and error messages
|
62
|
+
# - set by the reader
|
63
|
+
# ------------------------------------------------------------------------------------
|
64
|
+
# readerExecutionPass: false if the reader finds fatal errors in input file
|
65
|
+
# - set by the reader
|
66
|
+
# ------------------------------------------------------------------------------------
|
67
|
+
# readerExecutionMessages: an array of reader warning and error messages
|
68
|
+
# - set by the reader
|
69
|
+
# ------------------------------------------------------------------------------------
|
70
|
+
# writerRequested: name of the writer requested by the user
|
71
|
+
# - set from the parameter list (writer)
|
72
|
+
# ------------------------------------------------------------------------------------
|
73
|
+
# writerVersion: current version of the requested writer
|
74
|
+
# - set by the writer
|
75
|
+
# ------------------------------------------------------------------------------------
|
76
|
+
# writerFormat: format of writer output
|
77
|
+
# - set by the writer
|
78
|
+
# ------------------------------------------------------------------------------------
|
79
|
+
# writerPass: false if the writer fails to complete creation of output file
|
80
|
+
# - set by the writer
|
81
|
+
# ------------------------------------------------------------------------------------
|
82
|
+
# writerMessages: an array of writer warning and error messages
|
83
|
+
# - set by the writer
|
84
|
+
# ------------------------------------------------------------------------------------
|
85
|
+
# writerOutput: the output file returned by the writer
|
86
|
+
# - set by the writer
|
87
|
+
# ------------------------------------------------------------------------------------
|
88
|
+
# writerShowTags: include tags in XML output for any empty elements
|
89
|
+
# - set from the parameter list (showAllTags)
|
90
|
+
# ------------------------------------------------------------------------------------
|
91
|
+
# writerCSSlink: CSS link to append to HTML writer output
|
92
|
+
# - set from the parameter list (showAllTags)
|
93
|
+
# ------------------------------------------------------------------------------------
|
94
|
+
# writerMissingIdCount: counter for creating unique element IDs as needed
|
95
|
+
# - set by the writer
|
96
|
+
# ------------------------------------------------------------------------------------
|
82
97
|
# translatorVersion: current version of the mdTranslator
|
98
|
+
# - set by the translator
|
99
|
+
# ------------------------------------------------------------------------------------
|
83
100
|
|
84
|
-
|
85
|
-
readerFormat: nil,
|
86
|
-
readerStructurePass: nil,
|
87
|
-
readerStructureMessages: [],
|
101
|
+
hResponseObj = {
|
88
102
|
readerRequested: nil,
|
89
103
|
readerVersionRequested: nil,
|
90
104
|
readerVersionUsed: nil,
|
105
|
+
readerStructurePass: true,
|
106
|
+
readerStructureMessages: [],
|
91
107
|
readerValidationLevel: nil,
|
92
|
-
readerValidationPass:
|
108
|
+
readerValidationPass: true,
|
93
109
|
readerValidationMessages: [],
|
94
|
-
readerExecutionPass:
|
110
|
+
readerExecutionPass: true,
|
95
111
|
readerExecutionMessages: [],
|
96
|
-
|
97
|
-
|
98
|
-
writerFormat: nil,
|
99
|
-
writerPass: nil,
|
112
|
+
writerRequested: nil,
|
113
|
+
writerPass: true,
|
100
114
|
writerMessages: [],
|
115
|
+
writerOutputFormat: nil,
|
101
116
|
writerOutput: nil,
|
102
117
|
writerShowTags: false,
|
118
|
+
writerCSSlink: nil,
|
103
119
|
writerMissingIdCount: '_000',
|
104
120
|
translatorVersion: nil
|
105
121
|
}
|
106
122
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
123
|
+
# parameter - file (required)
|
124
|
+
if file.nil? || file == ''
|
125
|
+
hResponseObj[:readerExecutionPass] = false
|
126
|
+
hResponseObj[:readerExecutionMessages] << "Parameter 'file:' was not provided"
|
127
|
+
return hResponseObj
|
128
|
+
end
|
111
129
|
|
112
|
-
#
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
130
|
+
# parameter - reader (required)
|
131
|
+
if reader == ''
|
132
|
+
hResponseObj[:readerExecutionPass] = false
|
133
|
+
hResponseObj[:readerExecutionMessages] << "Parameter 'reader:' was not provided"
|
134
|
+
return hResponseObj
|
135
|
+
end
|
136
|
+
|
137
|
+
# add passed in parameters to the response hash
|
138
|
+
hResponseObj[:readerRequested] = reader
|
139
|
+
hResponseObj[:readerValidationLevel] = validate
|
140
|
+
hResponseObj[:writerRequested] = writer
|
141
|
+
hResponseObj[:writerShowTags] = showAllTags
|
142
|
+
hResponseObj[:writerCSSlink] = cssLink
|
117
143
|
|
118
144
|
# add mdTranslator version to response hash
|
119
|
-
|
120
|
-
|
121
|
-
# handle
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
# the read operation is assumed to have been successful and pass is set to true.
|
138
|
-
if responseObj[:readerExecutionPass].nil?
|
139
|
-
responseObj[:readerExecutionPass] = true
|
140
|
-
elsif !responseObj[:readerExecutionPass]
|
141
|
-
return responseObj
|
142
|
-
end
|
145
|
+
hResponseObj[:translatorVersion] = ADIWG::Mdtranslator::VERSION
|
146
|
+
|
147
|
+
# handle reader
|
148
|
+
intObj = ADIWG::Mdtranslator::Readers.handleReader(file, hResponseObj)
|
149
|
+
|
150
|
+
# if reader file structure failed - exit
|
151
|
+
if hResponseObj[:readerStructurePass] === false
|
152
|
+
return hResponseObj
|
153
|
+
end
|
154
|
+
|
155
|
+
# if reader file validation failed - exit
|
156
|
+
if hResponseObj[:readerValidationPass] === false
|
157
|
+
return hResponseObj
|
158
|
+
end
|
159
|
+
|
160
|
+
# if reader file execution failed - exit
|
161
|
+
if hResponseObj[:readerExecutionPass] === false
|
162
|
+
return hResponseObj
|
143
163
|
end
|
144
164
|
|
145
|
-
#
|
165
|
+
#handle writers
|
146
166
|
if writer.nil? || writer == ''
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
ADIWG::Mdtranslator::Writers.handleWriter(intObj, responseObj, paramsObj)
|
167
|
+
hResponseObj[:writerMessages] << "Parameter 'writer:' was not provided"
|
168
|
+
hResponseObj[:writerPass] = false
|
169
|
+
return hResponseObj
|
151
170
|
end
|
152
171
|
|
153
|
-
|
172
|
+
require File.join(File.dirname(__FILE__), 'mdtranslator/writers/mdWriters')
|
173
|
+
ADIWG::Mdtranslator::Writers.handleWriter(intObj, hResponseObj)
|
174
|
+
|
175
|
+
return hResponseObj
|
154
176
|
|
155
177
|
end
|
156
178
|
|
@@ -0,0 +1,191 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# ADIwg mdTranslator - Thor CLI for mdtranslator
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2017-04-21 removed inline CSS option
|
6
|
+
# Stan Smith 2015-07-17 added method_options to provide custom CSS
|
7
|
+
# Stan Smith 2014-01-16 changed ADIWG::Mdtranslator.translate() to keyword parameter list
|
8
|
+
# Stan Smith 2014-12-29 changed default reader from adiwgJson to mdJson
|
9
|
+
# Stan Smith 2014-10-09 added version command to the CLI
|
10
|
+
# Stan Smith 2014-09-21 coded cli to 0.8.0 api
|
11
|
+
# Stan Smith 2014-09-02 changed name to mdtranslator
|
12
|
+
# Stan Smith 2014-07-15 original script
|
13
|
+
|
14
|
+
require 'thor'
|
15
|
+
|
16
|
+
class MdtranslatorCLI < Thor
|
17
|
+
|
18
|
+
# exit_on_failure added to exit with code 1 if thor cannot complete task
|
19
|
+
# such as if required parameters are missing
|
20
|
+
def self.exit_on_failure?
|
21
|
+
true
|
22
|
+
end
|
23
|
+
|
24
|
+
# basic cli description
|
25
|
+
desc 'translate [FILE]', %q{Pass JSON string or filename plus parameters to mdtranslator translate}
|
26
|
+
long_desc <<-LONGDESC
|
27
|
+
'mdtranslator translate' provides command line access to the ADIwg metadata translator, mdTranslator. The 'translate'
|
28
|
+
method converts input metadata to supported established metadata metadata formats. The CLI accepts an input metadata
|
29
|
+
file with options to select the input reader format, writer output format, display empty tags in XML outputs, and choose
|
30
|
+
level of validation for mdJson input files.
|
31
|
+
LONGDESC
|
32
|
+
# define cli options
|
33
|
+
method_option :reader, :aliases => '-r', :desc => 'Reader to read your input metadata file', :enum => %w{mdJson sbJson}, :required => true
|
34
|
+
method_option :writer, :aliases => '-w', :desc => 'Writer to create your output metadata file, leave blank to validate input only', :enum => %w{iso19115_2 iso19110 html mdJson sbJson}
|
35
|
+
method_option :validate, :aliases => '-v', :desc => 'Specify level of validation to be performed', :enum => %w{none normal strict}, :default => 'normal'
|
36
|
+
method_option :showAllTags, :aliases => '-s', :desc => 'Include tags for unused attributes', :type => :boolean, :default => false
|
37
|
+
method_option :messages, :aliases => '-m', :desc => 'On error return messages as formatted text or json object', :enum => %w{json text}, :default => 'text'
|
38
|
+
method_option :returnObject, :aliases => '-o', :desc => 'Return full JSON object generated by translator', :type => :boolean, :default => false
|
39
|
+
method_option :cssLink, :desc => 'Fully qualified link to a CSS file to customize HTML writer output', :type => :string
|
40
|
+
|
41
|
+
# accept command and options
|
42
|
+
def translate(file)
|
43
|
+
|
44
|
+
# test to see if file parameter is a local file name
|
45
|
+
# if not ... assumed it is a JSON string
|
46
|
+
# note: this will need to be modified if/when a reader is added that is not in JSON format
|
47
|
+
if File.exist?(file)
|
48
|
+
# read file
|
49
|
+
my_file = File.open(file, 'r')
|
50
|
+
fileObj = my_file.read
|
51
|
+
my_file.close
|
52
|
+
else
|
53
|
+
fileObj = file
|
54
|
+
end
|
55
|
+
|
56
|
+
# for testing parameters
|
57
|
+
# puts 'reader: ' + options[:reader]
|
58
|
+
# puts 'writer: ' + options[:writer]
|
59
|
+
# puts 'validation level: ' + options[:validate]
|
60
|
+
# puts 'showAllTags: ' + options[:showAllTags].to_s
|
61
|
+
# puts 'message format: ' + options[:messages]
|
62
|
+
# puts 'return object: ' + options[:returnObject].to_s
|
63
|
+
# puts 'css link: ' + options[:cssLink]
|
64
|
+
|
65
|
+
# call mdtranslator
|
66
|
+
mdReturn = ADIWG::Mdtranslator.translate(
|
67
|
+
file: fileObj,
|
68
|
+
reader: options[:reader],
|
69
|
+
writer: options[:writer],
|
70
|
+
validate: options[:validate],
|
71
|
+
showAllTags: options[:showAllTags],
|
72
|
+
cssLink: options[:cssLink])
|
73
|
+
|
74
|
+
# determine return content and type of return ...
|
75
|
+
if mdReturn[:readerStructurePass] && mdReturn[:readerValidationPass]
|
76
|
+
|
77
|
+
# no problem was found with the input file
|
78
|
+
if options[:writer].nil?
|
79
|
+
# if no writer was specified the input was being validated only,
|
80
|
+
# ...no writer output will have been generated,
|
81
|
+
# ...and the return will be a string unless json was requested
|
82
|
+
if options[:messages] == 'json'
|
83
|
+
$stdout.write mdReturn.to_json
|
84
|
+
return
|
85
|
+
else
|
86
|
+
$stdout.write 'Success'
|
87
|
+
return
|
88
|
+
end
|
89
|
+
else
|
90
|
+
# a writer was specified,
|
91
|
+
# output is expected from the translator's writer
|
92
|
+
if mdReturn[:writerPass]
|
93
|
+
# writer output was generated
|
94
|
+
# ...return the writer output in its native format unless json was requested
|
95
|
+
if options[:returnObject]
|
96
|
+
$stdout.write mdReturn.to_json
|
97
|
+
return
|
98
|
+
else
|
99
|
+
$stdout.write mdReturn[:writerOutput].to_s
|
100
|
+
return
|
101
|
+
end
|
102
|
+
else
|
103
|
+
# the writer failed or generated warnings to be reported
|
104
|
+
# ...return the messages as a string unless json was requested
|
105
|
+
if options[:messages] == 'json'
|
106
|
+
$stdout.write mdReturn.to_json
|
107
|
+
return
|
108
|
+
else
|
109
|
+
# build a string with messages issues from parser and validator
|
110
|
+
s = ''
|
111
|
+
s += "Failed\n"
|
112
|
+
s += "Writer failed to generate output or issued significant warnings\n"
|
113
|
+
s += "See following messages for further information\n"
|
114
|
+
|
115
|
+
# post structure messages
|
116
|
+
i = 0
|
117
|
+
mdReturn[:writerMessages].each do |message|
|
118
|
+
i += 1
|
119
|
+
s += "\nMessage: #{i}\n"
|
120
|
+
s += message + "\n"
|
121
|
+
end
|
122
|
+
|
123
|
+
$stdout.write s
|
124
|
+
return
|
125
|
+
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
else
|
131
|
+
|
132
|
+
# problems were found with the input file
|
133
|
+
|
134
|
+
# if no writer was specified the input was being validated only,
|
135
|
+
# ...no writer output will have been generated,
|
136
|
+
# ...and return is always expected to be a string
|
137
|
+
if options[:messages] == 'json'
|
138
|
+
$stdout.write mdReturn.to_json
|
139
|
+
return
|
140
|
+
else
|
141
|
+
# build a string with messages issues from parser and validator
|
142
|
+
s = ''
|
143
|
+
s += "Failed\n"
|
144
|
+
s += "Input failed to pass either file structure validation or content does not match schema\n"
|
145
|
+
s += "See following messages for further information\n"
|
146
|
+
|
147
|
+
# post structure messages
|
148
|
+
if mdReturn[:readerStructurePass]
|
149
|
+
s += "Success - Input structure is valid\n"
|
150
|
+
else
|
151
|
+
s += "Fail - Structure of input file is invalid - see following message(s):\n"
|
152
|
+
i = 0
|
153
|
+
mdReturn[:readerStructureMessages].each do |message|
|
154
|
+
i += 1
|
155
|
+
s += "\nMessage: #{i}\n"
|
156
|
+
s += message.to_s + "\n"
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
# post validator messages
|
161
|
+
unless mdReturn[:readerValidationPass].nil?
|
162
|
+
if mdReturn[:readerValidationPass]
|
163
|
+
s += "Success - Input content passes schema definition\n"
|
164
|
+
else
|
165
|
+
s += "Fail - Input content did not pass schema validation - see following message(s):\n"
|
166
|
+
i = 0
|
167
|
+
mdReturn[:readerValidationMessages].each do |message|
|
168
|
+
i += 1
|
169
|
+
s += "\nMessage: #{i}\n"
|
170
|
+
s += message.to_s + "\n"
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
$stdout.write s
|
176
|
+
return
|
177
|
+
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
end
|
182
|
+
|
183
|
+
desc 'version', %q{Returns the version of mdTranslator}
|
184
|
+
long_desc <<-LONGDESC
|
185
|
+
'mdtranslator version' returns the version number for mdTranslator
|
186
|
+
LONGDESC
|
187
|
+
|
188
|
+
def version
|
189
|
+
$stdout.write ADIWG::Mdtranslator::VERSION
|
190
|
+
end
|
191
|
+
end
|