This commit is contained in:
Fabio Sinibaldi 2019-10-11 15:07:45 +00:00
parent c3be6b2e78
commit ace34bee2d
33 changed files with 17668 additions and 482 deletions

View File

@ -32,5 +32,10 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources/org/gcube/spatial/data/geonetwork">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

1
GeonetworkSE.xml Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Resource version="0.4.x"><ID>c851b81c-78cf-491d-8df9-c46a68908fc4</ID><Type>RuntimeResource</Type><Profile><Category>Gis</Category><Platform><Name>geonetwork</Name><Version>3</Version><MinorVersion>0</MinorVersion><RevisionVersion>5</RevisionVersion><BuildVersion>0</BuildVersion></Platform><RunTime><HostedOn>node3-d-d4s.d4science.org</HostedOn><Status>READY</Status></RunTime><AccessPoint><Interface><Endpoint EntryName="geonetwork">http://node3-d-d4s.d4science.org/geonetwork</Endpoint></Interface><AccessData><Username>admin</Username><Password>5jykeFZrlF1Xfa4vohyDYg==</Password></AccessData><Properties><Property><Name>priority</Name><Value encrypted="false">1</Value></Property></Properties></AccessPoint></Profile></Resource>

View File

@ -1,391 +1,298 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gmd:MD_Metadata xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:fra="http://www.cnig.gouv.fr/2005/fra" xmlns:gmx="http://www.isotc211.org/2005/gmx"
xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:gmd="http://www.isotc211.org/2005/gmd"
xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink">
<gmd:fileIdentifier>
<gco:CharacterString>b973ab8b-fc26-4c9a-b96b-0f42db7c3daf</gco:CharacterString>
</gmd:fileIdentifier>
<gmd:language>
<gmd:LanguageCode codeListValue="eng"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">English</gmd:LanguageCode>
</gmd:language>
<gmd:characterSet>
<gmd:MD_CharacterSetCode codeListValue="utf8"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_CharacterSetCode">UTF-8</gmd:MD_CharacterSetCode>
</gmd:characterSet>
<gmd:hierarchyLevel>
<gmd:MD_ScopeCode codeSpace="eng" codeListValue="dataset"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_ScopeCode">Dataset</gmd:MD_ScopeCode>
</gmd:hierarchyLevel>
<gmd:contact>
<gmd:CI_ResponsibleParty>
<gmd:individualName>
<gco:CharacterString>fabio.sinibaldi</gco:CharacterString>
</gmd:individualName>
<gmd:organisationName>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:organisationName>
<gmd:role>
<gmd:CI_RoleCode codeListValue="author"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode">Author</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:contact>
<gmd:CI_ResponsibleParty>
<gmd:individualName>
<gco:CharacterString>iMarine.eu</gco:CharacterString>
</gmd:individualName>
<gmd:organisationName>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:organisationName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:address>
<gmd:CI_Address>
<gmd:electronicMailAddress>
<gco:CharacterString>info@i-marine.eu</gco:CharacterString>
</gmd:electronicMailAddress>
</gmd:CI_Address>
</gmd:address>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.i-marine.eu</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>WWW:LINK-1.0-http--link
</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>iMarine Consortium site.
</gco:CharacterString>
</gmd:name>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<gmd:role>
<gmd:CI_RoleCode codeListValue="distributor"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode">Distributor</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:contact>
<gmd:CI_ResponsibleParty>
<gmd:individualName>
<gco:CharacterString>iMarine Consortium Technical Support
</gco:CharacterString>
</gmd:individualName>
<gmd:organisationName>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:organisationName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:address>
<gmd:CI_Address>
<gmd:electronicMailAddress>
<gco:CharacterString>support@i-marine.eu</gco:CharacterString>
</gmd:electronicMailAddress>
</gmd:CI_Address>
</gmd:address>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.i-marine.eu</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>WWW:LINK-1.0-http--link
</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>iMarine Consortium site.
</gco:CharacterString>
</gmd:name>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<gmd:role>
<gmd:CI_RoleCode codeListValue="resourceProvider"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode">Resource provider</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:dateStamp>
<gco:DateTime>2017-01-09T15:15:16.685+01:00</gco:DateTime>
</gmd:dateStamp>
<gmd:spatialRepresentationInfo>
<gmd:MD_VectorSpatialRepresentation>
<gmd:topologyLevel>
<gmd:MD_TopologyLevelCode codeListValue="geometryOnly"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_TopologyLevelCode">Geometry only</gmd:MD_TopologyLevelCode>
</gmd:topologyLevel>
<gmd:geometricObjects>
<gmd:MD_GeometricObjects>
<gmd:geometricObjectType>
<gmd:MD_GeometricObjectTypeCode
codeListValue="surface"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_GeometricObjectTypeCode">Surface</gmd:MD_GeometricObjectTypeCode>
</gmd:geometricObjectType>
<gmd:geometricObjectCount>
<gco:Integer>0</gco:Integer>
</gmd:geometricObjectCount>
</gmd:MD_GeometricObjects>
</gmd:geometricObjects>
</gmd:MD_VectorSpatialRepresentation>
</gmd:spatialRepresentationInfo>
<gmd:identificationInfo>
<gmd:MD_DataIdentification>
<gmd:citation>
<gmd:CI_Citation>
<gmd:title>
<gco:CharacterString>TrueMarble_/gcube/devsec_test
</gco:CharacterString>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:DateTime>2017-01-09T15:15:16.655+01:00</gco:DateTime>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeSpace="eng"
codeListValue="creation"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode">Creation</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>b973ab8b-fc26-4c9a-b96b-0f42db7c3daf
</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:identifier>
<gmd:presentationForm>
<gmd:CI_PresentationFormCode
codeListValue="imageDigital"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_PresentationFormCode">Image digital</gmd:CI_PresentationFormCode>
</gmd:presentationForm>
</gmd:CI_Citation>
</gmd:citation>
<gmd:abstract>
<gco:CharacterString>This layer is used as a base layer for GIS
VIewer widget</gco:CharacterString>
</gmd:abstract>
<gmd:purpose>
<gco:CharacterString>This layer is used as a base layer for GIS
VIewer widget</gco:CharacterString>
</gmd:purpose>
<gmd:credit>
<gco:CharacterString>This layer has been produced by iMarine
(www.i-marine.eu). iMarine (283644) is funded by the European
Commission under Framework Programme 7</gco:CharacterString>
</gmd:credit>
<gmd:resourceMaintenance>
<gmd:MD_MaintenanceInformation>
<gmd:maintenanceAndUpdateFrequency>
<gmd:MD_MaintenanceFrequencyCode
codeListValue="asNeeded"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode">As needed</gmd:MD_MaintenanceFrequencyCode>
</gmd:maintenanceAndUpdateFrequency>
</gmd:MD_MaintenanceInformation>
</gmd:resourceMaintenance>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gco:CharacterString>True Marble</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeListValue="theme"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode">Theme</gmd:MD_KeywordTypeCode>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gco:CharacterString>General</gco:CharacterString>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:DateTime>2013-07-04T14:09:55.783+02:00</gco:DateTime>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeSpace="eng"
codeListValue="creation"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode">Creation</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:spatialResolution>
<gmd:MD_Resolution>
<gmd:distance>
<gco:Distance
uom="http://schemas.opengis.net/iso/19139/20070417/resources/uom/gmxUom.xml#xpointer(//*[@gml:id='m'])">0.5</gco:Distance>
</gmd:distance>
</gmd:MD_Resolution>
</gmd:spatialResolution>
<gmd:language>
<gmd:LanguageCode codeListValue="eng"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">English</gmd:LanguageCode>
</gmd:language>
<gmd:topicCategory>
<gmd:MD_TopicCategoryCode>environment</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>
<gmd:extent>
<gmd:EX_Extent>
<gmd:geographicElement>
<gmd:EX_GeographicBoundingBox>
<gmd:extentTypeCode>
<gco:Boolean>true</gco:Boolean>
</gmd:extentTypeCode>
<gmd:westBoundLongitude>
<gco:Decimal>-180.0</gco:Decimal>
</gmd:westBoundLongitude>
<gmd:eastBoundLongitude>
<gco:Decimal>180.0</gco:Decimal>
</gmd:eastBoundLongitude>
<gmd:southBoundLatitude>
<gco:Decimal>-90.0</gco:Decimal>
</gmd:southBoundLatitude>
<gmd:northBoundLatitude>
<gco:Decimal>90.0</gco:Decimal>
</gmd:northBoundLatitude>
</gmd:EX_GeographicBoundingBox>
</gmd:geographicElement>
</gmd:EX_Extent>
</gmd:extent>
</gmd:MD_DataIdentification>
</gmd:identificationInfo>
<gmd:distributionInfo>
<gmd:MD_Distribution>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>WMS</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.3.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>WFS</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.0.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>WCS</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.0.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>HTTP</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.0.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:transferOptions>
<gmd:MD_DigitalTransferOptions>
<gmd:onLine>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://geoserver-dev.d4science.org/geoserver/wms?service=wms&amp;amp;version=1.1.0&amp;amp;request=GetMap&amp;amp;layers=TrueMarble.16km.2700x1350&amp;amp;styles=raster&amp;amp;bbox=-180.0,-90.0,180.0,90.0&amp;amp;width=676&amp;amp;height=330&amp;amp;srs=EPSG:4326&amp;amp;crs=EPSG:4326&amp;amp;format=application/openlayers
</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>OGC:WMS-1.3.0-http-get-map
</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>WMS link to layer.</gco:CharacterString>
</gmd:name>
<gmd:description>
<gco:CharacterString>WMS link to resource.</gco:CharacterString>
</gmd:description>
</gmd:CI_OnlineResource>
</gmd:onLine>
<gmd:onLine>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://geoserver-dev.d4science.org/geoserver/ows?service=wfs&amp;amp;version=1.0.0&amp;amp;request=GetFeature&amp;amp;typeName=TrueMarble.16km.2700x1350&amp;amp;format=json
</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>OGC:WFS-1.0.0-http-get-feature
</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>WFS link to layer.</gco:CharacterString>
</gmd:name>
<gmd:description>
<gco:CharacterString>WFS link to resource.</gco:CharacterString>
</gmd:description>
</gmd:CI_OnlineResource>
</gmd:onLine>
<gmd:onLine>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://geoserver-dev.d4science.org/geoserver/wcs?service=wcs&amp;amp;version=1.0.0&amp;amp;request=GetCoverage&amp;amp;coverage=TrueMarble.16km.2700x1350&amp;amp;CRS=EPSG:4326&amp;amp;bbox=-180.0,-90.0,180.0,90.0&amp;amp;width=676&amp;amp;height=330&amp;amp;format=geotiff
</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>WWW:LINK-1.0-http--link
</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>WCS link to layer.</gco:CharacterString>
</gmd:name>
<gmd:description>
<gco:CharacterString>WCS link to resource.</gco:CharacterString>
</gmd:description>
</gmd:CI_OnlineResource>
</gmd:onLine>
</gmd:MD_DigitalTransferOptions>
</gmd:transferOptions>
</gmd:MD_Distribution>
</gmd:distributionInfo>
<gmd:metadataConstraints>
<gmd:MD_LegalConstraints>
<gmd:useLimitation>
<gco:CharacterString>CC-BY-SA</gco:CharacterString>
</gmd:useLimitation>
<gmd:accessConstraints>
<gmd:MD_RestrictionCode codeListValue="license"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode">License</gmd:MD_RestrictionCode>
</gmd:accessConstraints>
<gmd:useConstraints>
<gmd:MD_RestrictionCode codeListValue="license"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode">License</gmd:MD_RestrictionCode>
</gmd:useConstraints>
<gmd:otherConstraints>
<gco:CharacterString>other restrictions</gco:CharacterString>
</gmd:otherConstraints>
</gmd:MD_LegalConstraints>
</gmd:metadataConstraints>
<gmd:MD_Metadata xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:fra="http://www.cnig.gouv.fr/2005/fra" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
<gmd:fileIdentifier>
<gco:CharacterString>a9dfe3b7-6b46-4013-ab1c-313ef2128d31</gco:CharacterString>
</gmd:fileIdentifier>
<gmd:language>
<gmd:LanguageCode codeListValue="eng" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">English</gmd:LanguageCode>
</gmd:language>
<gmd:characterSet>
<gmd:MD_CharacterSetCode codeListValue="utf8" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_CharacterSetCode">UTF-8</gmd:MD_CharacterSetCode>
</gmd:characterSet>
<gmd:hierarchyLevel>
<gmd:MD_ScopeCode codeSpace="eng" codeListValue="dataset" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_ScopeCode">Dataset</gmd:MD_ScopeCode>
</gmd:hierarchyLevel>
<gmd:contact>
<gmd:CI_ResponsibleParty>
<gmd:individualName>
<gco:CharacterString>fabio.sinibaldi</gco:CharacterString>
</gmd:individualName>
<gmd:organisationName>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:organisationName>
<gmd:role>
<gmd:CI_RoleCode codeListValue="author" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode">Author</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:contact>
<gmd:CI_ResponsibleParty>
<gmd:individualName>
<gco:CharacterString>iMarine.eu</gco:CharacterString>
</gmd:individualName>
<gmd:organisationName>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:organisationName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:address>
<gmd:CI_Address>
<gmd:electronicMailAddress>
<gco:CharacterString>info@i-marine.eu</gco:CharacterString>
</gmd:electronicMailAddress>
</gmd:CI_Address>
</gmd:address>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.i-marine.eu</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>iMarine Consortium site.</gco:CharacterString>
</gmd:name>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<gmd:role>
<gmd:CI_RoleCode codeListValue="distributor" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode">Distributor</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:contact>
<gmd:CI_ResponsibleParty>
<gmd:individualName>
<gco:CharacterString>iMarine Consortium Technical Support</gco:CharacterString>
</gmd:individualName>
<gmd:organisationName>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:organisationName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:address>
<gmd:CI_Address>
<gmd:electronicMailAddress>
<gco:CharacterString>support@i-marine.eu</gco:CharacterString>
</gmd:electronicMailAddress>
</gmd:CI_Address>
</gmd:address>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.i-marine.eu</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>iMarine Consortium site.</gco:CharacterString>
</gmd:name>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<gmd:role>
<gmd:CI_RoleCode codeListValue="resourceProvider" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode">Resource provider</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:contact>
<gmd:dateStamp>
<gco:DateTime>2019-10-02T17:50:11.671+02:00</gco:DateTime>
</gmd:dateStamp>
<gmd:spatialRepresentationInfo>
<gmd:MD_VectorSpatialRepresentation>
<gmd:topologyLevel>
<gmd:MD_TopologyLevelCode codeListValue="geometryOnly" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_TopologyLevelCode">Geometry only</gmd:MD_TopologyLevelCode>
</gmd:topologyLevel>
<gmd:geometricObjects>
<gmd:MD_GeometricObjects>
<gmd:geometricObjectType>
<gmd:MD_GeometricObjectTypeCode codeListValue="surface" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_GeometricObjectTypeCode">Surface</gmd:MD_GeometricObjectTypeCode>
</gmd:geometricObjectType>
<gmd:geometricObjectCount>
<gco:Integer>0</gco:Integer>
</gmd:geometricObjectCount>
</gmd:MD_GeometricObjects>
</gmd:geometricObjects>
</gmd:MD_VectorSpatialRepresentation>
</gmd:spatialRepresentationInfo>
<gmd:identificationInfo>
<gmd:MD_DataIdentification>
<gmd:citation>
<gmd:CI_Citation>
<gmd:title>
<gco:CharacterString>TrueMarble_/gcube/devNext_test</gco:CharacterString>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:DateTime>2019-10-02T17:50:11.652+02:00</gco:DateTime>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeSpace="eng" codeListValue="creation" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode">Creation</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>a9dfe3b7-6b46-4013-ab1c-313ef2128d31</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:identifier>
<gmd:presentationForm>
<gmd:CI_PresentationFormCode codeListValue="imageDigital" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_PresentationFormCode">Image digital</gmd:CI_PresentationFormCode>
</gmd:presentationForm>
</gmd:CI_Citation>
</gmd:citation>
<gmd:abstract>
<gco:CharacterString>This layer is used as a base layer for GIS VIewer widget</gco:CharacterString>
</gmd:abstract>
<gmd:purpose>
<gco:CharacterString>This layer is used as a base layer for GIS VIewer widget</gco:CharacterString>
</gmd:purpose>
<gmd:credit>
<gco:CharacterString>This layer has been produced by iMarine (www.i-marine.eu). iMarine (283644) is funded by the European Commission under Framework Programme 7</gco:CharacterString>
</gmd:credit>
<gmd:resourceMaintenance>
<gmd:MD_MaintenanceInformation>
<gmd:maintenanceAndUpdateFrequency>
<gmd:MD_MaintenanceFrequencyCode codeListValue="asNeeded" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode">As needed</gmd:MD_MaintenanceFrequencyCode>
</gmd:maintenanceAndUpdateFrequency>
</gmd:MD_MaintenanceInformation>
</gmd:resourceMaintenance>
<gmd:descriptiveKeywords>
<gmd:MD_Keywords>
<gmd:keyword>
<gco:CharacterString>iMarine Consortium</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>True Marble</gco:CharacterString>
</gmd:keyword>
<gmd:type>
<gmd:MD_KeywordTypeCode codeListValue="theme" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode">Theme</gmd:MD_KeywordTypeCode>
</gmd:type>
<gmd:thesaurusName>
<gmd:CI_Citation>
<gmd:title>
<gco:CharacterString>General</gco:CharacterString>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:DateTime>2013-07-04T14:09:55.783+02:00</gco:DateTime>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeSpace="eng" codeListValue="creation" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode">Creation</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
</gmd:thesaurusName>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
<gmd:spatialResolution>
<gmd:MD_Resolution>
<gmd:distance>
<gco:Distance uom="http://schemas.opengis.net/iso/19139/20070417/resources/uom/gmxUom.xml#xpointer(//*[@gml:id='m'])">0.5</gco:Distance>
</gmd:distance>
</gmd:MD_Resolution>
</gmd:spatialResolution>
<gmd:language>
<gmd:LanguageCode codeListValue="eng" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">English</gmd:LanguageCode>
</gmd:language>
<gmd:topicCategory>
<gmd:MD_TopicCategoryCode>environment</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>
<gmd:extent>
<gmd:EX_Extent>
<gmd:geographicElement>
<gmd:EX_GeographicBoundingBox>
<gmd:extentTypeCode>
<gco:Boolean>true</gco:Boolean>
</gmd:extentTypeCode>
<gmd:westBoundLongitude>
<gco:Decimal>-180.0</gco:Decimal>
</gmd:westBoundLongitude>
<gmd:eastBoundLongitude>
<gco:Decimal>180.0</gco:Decimal>
</gmd:eastBoundLongitude>
<gmd:southBoundLatitude>
<gco:Decimal>-90.0</gco:Decimal>
</gmd:southBoundLatitude>
<gmd:northBoundLatitude>
<gco:Decimal>90.0</gco:Decimal>
</gmd:northBoundLatitude>
</gmd:EX_GeographicBoundingBox>
</gmd:geographicElement>
</gmd:EX_Extent>
</gmd:extent>
</gmd:MD_DataIdentification>
</gmd:identificationInfo>
<gmd:distributionInfo>
<gmd:MD_Distribution>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>WMS</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.3.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>WFS</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.0.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>WCS</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.0.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:distributionFormat>
<gmd:MD_Format>
<gmd:name>
<gco:CharacterString>HTTP</gco:CharacterString>
</gmd:name>
<gmd:version>
<gco:CharacterString>1.0.0</gco:CharacterString>
</gmd:version>
</gmd:MD_Format>
</gmd:distributionFormat>
<gmd:transferOptions>
<gmd:MD_DigitalTransferOptions/>
</gmd:transferOptions>
</gmd:MD_Distribution>
</gmd:distributionInfo>
<gmd:metadataConstraints>
<gmd:MD_LegalConstraints>
<gmd:useLimitation>
<gco:CharacterString>CC-BY-SA</gco:CharacterString>
</gmd:useLimitation>
<gmd:accessConstraints>
<gmd:MD_RestrictionCode codeListValue="license" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode">License</gmd:MD_RestrictionCode>
</gmd:accessConstraints>
<gmd:useConstraints>
<gmd:MD_RestrictionCode codeListValue="license" codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode">License</gmd:MD_RestrictionCode>
</gmd:useConstraints>
<gmd:otherConstraints>
<gco:CharacterString>other restrictions</gco:CharacterString>
</gmd:otherConstraints>
</gmd:MD_LegalConstraints>
</gmd:metadataConstraints>
</gmd:MD_Metadata>

16867
log.txt Normal file

File diff suppressed because one or more lines are too long

View File

@ -15,14 +15,15 @@ import org.gcube.common.authorization.library.AuthorizationEntry;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portlets.user.uriresolvermanager.exception.IllegalArgumentException;
import org.gcube.portlets.user.uriresolvermanager.exception.UriResolverMapException;
import org.gcube.spatial.data.geonetwork.iso.tpl.DistributionInfo;
import org.gcube.spatial.data.geonetwork.iso.tpl.ISOMetadataByTemplate;
import org.gcube.spatial.data.geonetwork.iso.tpl.Keyword;
import org.gcube.spatial.data.geonetwork.iso.tpl.MetadataDescriptor;
import org.gcube.spatial.data.geonetwork.iso.tpl.OnlineResource;
import org.gcube.spatial.data.geonetwork.iso.tpl.ResponsibleParty;
import org.gcube.spatial.data.geonetwork.iso.tpl.DistributionInfo.DistributionInfoType;
import org.gcube.spatial.data.geonetwork.iso.tpl.ResponsibleParty.Contact;
import org.gcube.spatial.data.geonetwork.iso.tpl.distribution.DistributionInfo;
import org.gcube.spatial.data.geonetwork.iso.tpl.distribution.OnlineResource;
import org.gcube.spatial.data.geonetwork.iso.tpl.distribution.DistributionInfo.DistributionInfoType;
import org.gcube.spatial.data.geonetwork.iso.tpl.extent.BoundingBox;
import org.gcube.spatial.data.geonetwork.iso.tpl.parties.ResponsibleParty;
import org.gcube.spatial.data.geonetwork.iso.tpl.parties.ResponsibleParty.Contact;
import org.gcube.spatial.data.geonetwork.utils.StringValidator;
import org.geotoolkit.metadata.iso.extent.DefaultExtent;
import org.geotoolkit.xml.XML;

View File

@ -16,6 +16,7 @@ import java.util.UUID;
import org.gcube.portlets.user.uriresolvermanager.UriResolverManager;
import org.gcube.portlets.user.uriresolvermanager.exception.IllegalArgumentException;
import org.gcube.portlets.user.uriresolvermanager.exception.UriResolverMapException;
import org.gcube.spatial.data.geonetwork.iso.tpl.extent.BoundingBox;
import org.gcube.spatial.data.geonetwork.utils.ScopeUtils;
import org.geotoolkit.metadata.iso.DefaultIdentifier;
import org.geotoolkit.metadata.iso.DefaultMetadata;

View File

@ -3,18 +3,30 @@ package org.gcube.spatial.data.geonetwork.iso.tpl;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import org.gcube.portlets.user.uriresolvermanager.exception.IllegalArgumentException;
import org.gcube.portlets.user.uriresolvermanager.exception.UriResolverMapException;
import org.gcube.spatial.data.geonetwork.iso.BoundingBox;
import org.gcube.spatial.data.geonetwork.iso.ISOMetadataFactory;
import org.gcube.spatial.data.geonetwork.iso.tpl.DistributionInfo.DistributionInfoType;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.Language;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.MaintenanceUpdateFrequency;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.ScopeCode;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.TopicCategory;
import org.gcube.spatial.data.geonetwork.iso.tpl.constraints.ResourceConstraints;
import org.gcube.spatial.data.geonetwork.iso.tpl.distribution.DistributionInfo;
import org.gcube.spatial.data.geonetwork.iso.tpl.distribution.OnlineResource;
import org.gcube.spatial.data.geonetwork.iso.tpl.distribution.DistributionInfo.DistributionInfoType;
import org.gcube.spatial.data.geonetwork.iso.tpl.extent.BoundingBox;
import org.gcube.spatial.data.geonetwork.iso.tpl.keys.KeywordSet;
import org.gcube.spatial.data.geonetwork.iso.tpl.parties.ResponsibleParty;
import org.gcube.spatial.data.geonetwork.iso.tpl.spatial.SpatialRepresentation;
import org.gcube.spatial.data.geonetwork.iso.tpl.spatial.VectorRepresentation;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.ToString;
@Data
@ -23,36 +35,65 @@ import lombok.ToString;
@NoArgsConstructor
public class MetadataDescriptor {
@NonNull
private String UUIDIdentifier;
@NonNull
private Language language=Language.ENGLISH;
@NonNull
private ScopeCode scope=ScopeCode.DATASET;
@NonNull
private Collection<ResponsibleParty> responsibleParties;
// SPATIAL REPRESENTATION
@NonNull
private Date creationTime;
private Long geometricObjectCount;
@NonNull
private SpatialRepresentation spatialRepresentation=new VectorRepresentation();
@NonNull
private Date publicationTime;
private String title;
private String abstractField;
private String purpose;
private String credit;
@NonNull
private String title;
@NonNull
private String abstractField;
@NonNull
private String purpose;
@NonNull
private HashSet<String> credits=new HashSet<>();
@NonNull
private MaintenanceUpdateFrequency maintenanceUpdateFrequency=MaintenanceUpdateFrequency.AS_NEEDED;
@NonNull
private ArrayList<KeywordSet> keywordSets=new ArrayList<>();
@NonNull
private ResourceConstraints constraints;
@NonNull
private DistributionInfo distributionInfo;
@NonNull
private BoundingBox boundingBox;
@NonNull
private Double spatialResolution;
private String topicCategory;
@NonNull
private HashSet<TopicCategory> topicCategories=new HashSet<>();
@NonNull
private String referenceSystem="WGS:84";
@NonNull
private String lineageStatement;
public void setGeoServerDistributionInfo(String geoServerUrl,String layerName, String workspace, String style, String CRS) throws UriResolverMapException, IllegalArgumentException{
List<OnlineResource> resources=new ArrayList<OnlineResource>();
String bbox=this.getBoundingBox().toString();

View File

@ -0,0 +1,21 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum GeometricObjectType {
COMPLEX("complex","Complex"),
COMPOSITE("composite","Composite"),
CURVE("curve","Curve"),
POINT("point","Point"),
SOLID("solid","Solid"),
SURFACE("surface","Surface");
private String id;
private String label;
}

View File

@ -1,5 +1,11 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.keys;
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.Getter;
import lombok.AllArgsConstructor;
@Getter
@AllArgsConstructor
public enum KeywordType {
DISCIPLINE("discipline"),
PLACE("place"),
@ -10,12 +16,5 @@ public enum KeywordType {
private final String id;
KeywordType(String id) {
this.id=id;
}
public String getId() {
return id;
}
}

View File

@ -0,0 +1,19 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Language {
ENGLISH("eng","English"),
FRENCH("fra","French");
private String code;
private String label;
}

View File

@ -0,0 +1,27 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum MaintenanceUpdateFrequency {
CONTINUAL("continual","Continual"),
DAILY("daily","Daily"),
WEEKLY("weekly","Weekly"),
FORTNIGHTLY("fortnightly","Fortnightly"),
MONTHLY("monthly","Monhtly"),
QUARTERLY("quarterly","Quarterly"),
BIANNUALLY("biannually","Biannually"),
ANNUALLY("annually","Annually"),
AS_NEEDED("asNeeded","As needed"),
IRREGULAR("irregular","Irregular"),
NOT_PLANNED("notPlanned","Not planned"),
UNKNOWN("unknown","Unknown");
private String id;
private String label;
}

View File

@ -0,0 +1,23 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum RestrictionCode {
COPYRIGHT("copyright","Copyright"),
PATENT("patent","Patent"),
PATENT_PENDING("patentPending","Patent pending"),
TRADEMARK("trademark","Trademark"),
LICENSE("license","License"),
INTELLECTUAL_PROPERTY_RIGHTS("intellectualPropertyRights","Intellectual Property Rights"),
RESTRICTED("restricted","Restricted"),
OTHER_RESTRICTIONS("otherRestrictions","Other restrictions");
private String id;
private String label;
}

View File

@ -0,0 +1,24 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ScopeCode {
ATTRIBUTE("attribute","Attribute"),
ATTRIBUTE_TYPE("attributeType","Attribute Type"),
DATASET("dataset","Dataset"),
SERIES("series","Series"),
NON_GEOGRAPHIC_DATASET("nonGeographicDataset","Non Geographic Dataset"),
FEATURE("feature","Feature"),
FEATURE_TYPE("featureType","Feature Type"),
PROPERTY_TYPE("propertyType","Property Type"),
TILE("tile","Tile");
private String id;
private String label;
}

View File

@ -0,0 +1,34 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum TopicCategory {
FARMING("farming","Farming"),
BIOTA("biota","Biota"),
BOUNDARIES("boundaries","Boundaries"),
CLIMATOLOGY_METEOROLOGY_ATMOSPHERE("climatologyMeteorologyAtmosphere","Climatology, Meteorology & Atmosphere"),
ECONOMY("economy","Economy"),
ELEVATION("elevation","Elevation"),
ENVIRONMENT("environment","Environment"),
GEOSCIENTIFIC_INFORMATION("geoscientificInformation","Geoscientific information"),
HEALTH("health","Health"),
IMAGERY_BASE_MAPS_EARTH_COVER("imageryBaseMapsEarthCover","Imagery, Base maps, Earth cover"),
INTELLIGENCE_MILITARY("intelligenceMilitary","Intelligence, Military"),
INLAND_WATERS("inlandWaters","Inland waters"),
LOCATION("location","Location"),
OCEANS("oceans","Oceans"),
PLANNING_CADASTRE("planningCadastre","Planning cadestre"),
SOCIETY("society","Society"),
STRUCTURE("structure","Structure"),
TRASNPORTATION("transportation","Transportation"),
UTILITIES_COMMUNICATION("utilitiesCommunication","Utilities, communication");
private String id;
private String label;
}

View File

@ -0,0 +1,23 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.codelists;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum TopologyLevel {
GEOMETRY_ONLY("geometryOnly","Geometry only"),
TOPOLOGY_1D("topology1D","Topology 1D"),
PLANAR_GRAPH("planarGraph","Planar graph"),
FULL_PLANAR_GRAPH("fullPlanarGraph","Full planar graph"),
SURFACE_GRAPH("surfaceGraph","Surface graph"),
FULL_SURFACE_GRAPH("fullSurfaceGraph","Full surface graph"),
TOPOLOGY_3D("topology3D","Topology 3D"),
ABSTRACT("abstract","Abstract");
private String id;
private String label;
}

View File

@ -0,0 +1,23 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.constraints;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.RestrictionCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@RequiredArgsConstructor
@AllArgsConstructor
public class LegalConstraints {
@NonNull
private RestrictionCode code;
private String otherRestrictionValue;
}

View File

@ -0,0 +1,22 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.constraints;
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@RequiredArgsConstructor
public class ResourceConstraints {
@NonNull
private String useLimitation;
@NonNull
private LegalConstraints accessConstraints;
@NonNull
private LegalConstraints useConstraints;
}

View File

@ -1,4 +1,4 @@
package org.gcube.spatial.data.geonetwork.iso.tpl;
package org.gcube.spatial.data.geonetwork.iso.tpl.distribution;
import java.util.Collection;
import java.util.HashSet;

View File

@ -1,4 +1,4 @@
package org.gcube.spatial.data.geonetwork.iso.tpl;
package org.gcube.spatial.data.geonetwork.iso.tpl.distribution;
import org.gcube.spatial.data.geonetwork.iso.Protocol;

View File

@ -1,18 +1,25 @@
package org.gcube.spatial.data.geonetwork.iso;
package org.gcube.spatial.data.geonetwork.iso.tpl.extent;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@Data
@AllArgsConstructor
public class BoundingBox {
@Getter
@Setter
@RequiredArgsConstructor
public class BoundingBox extends GeographicExtent{
public static final BoundingBox WORLD_EXTENT=new BoundingBox(90d, -90d, 180d, -180d);
private Double north=90d;
private Double south=-90d;
private Double west=180d;
private Double east=-180d;
@NonNull
private Double north;
@NonNull
private Double south;
@NonNull
private Double west;
@NonNull
private Double east;
// public BoundingBox(double n, double s, double w, double e) {
// North = n;
@ -41,6 +48,9 @@ public class BoundingBox {
return east+","+south+","+west+","+north;
}
@Override
public Type getType() {
return Type.BOUNDING_BOX;
}
}

View File

@ -0,0 +1,12 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.extent;
public class BoundingPolygon extends GeographicExtent {
@Override
public Type getType() {
return Type.BOUNDING_POLYGON;
}
}

View File

@ -0,0 +1,24 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.extent;
import java.util.HashSet;
import org.opengis.metadata.extent.TemporalExtent;
import org.opengis.metadata.extent.VerticalExtent;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
@Getter
@Setter
public class Extent {
private String description;
@NonNull
private HashSet<GeographicExtent> geographicExtent=new HashSet<>();
@NonNull
private HashSet<TemporalExtent> temporalExtent=new HashSet<>();
@NonNull
private HashSet<VerticalExtent> verticalExtent=new HashSet<>();
}

View File

@ -0,0 +1,10 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.extent;
public abstract class GeographicExtent {
protected enum Type{
BOUNDING_POLYGON, BOUNDING_BOX, DESCRIPTION
}
public abstract Type getType();
}

View File

@ -4,6 +4,7 @@ import java.util.HashSet;
import java.util.Set;
import org.gcube.spatial.data.geonetwork.iso.tpl.InvalidValueException;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.KeywordType;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package org.gcube.spatial.data.geonetwork.iso.tpl;
package org.gcube.spatial.data.geonetwork.iso.tpl.parties;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package org.gcube.spatial.data.geonetwork.iso.tpl;
package org.gcube.spatial.data.geonetwork.iso.tpl.parties;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package org.gcube.spatial.data.geonetwork.iso.tpl;
package org.gcube.spatial.data.geonetwork.iso.tpl.parties;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -0,0 +1,11 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.spatial;
public abstract class SpatialRepresentation {
protected static enum Type{
VECTOR,GRID,
}
public abstract Type getType();
}

View File

@ -0,0 +1,31 @@
package org.gcube.spatial.data.geonetwork.iso.tpl.spatial;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.GeometricObjectType;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.TopologyLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class VectorRepresentation extends SpatialRepresentation {
@Override
public Type getType() {
return Type.VECTOR;
}
@NonNull
private TopologyLevel topologyLevel=TopologyLevel.GEOMETRY_ONLY;
private int geometricObjectCount=0;
@NonNull
private GeometricObjectType geometricObjectType=GeometricObjectType.POINT;
}

View File

@ -8,14 +8,19 @@ import java.util.UUID;
import org.gcube.spatial.data.geonetwork.GeoNetworkPublisher;
import org.gcube.spatial.data.geonetwork.LoginLevel;
import org.gcube.spatial.data.geonetwork.iso.BoundingBox;
import org.gcube.spatial.data.geonetwork.iso.tpl.ISOMetadataByTemplate;
import org.gcube.spatial.data.geonetwork.iso.tpl.MetadataDescriptor;
import org.gcube.spatial.data.geonetwork.iso.tpl.ResponsibleParty;
import org.gcube.spatial.data.geonetwork.iso.tpl.ResponsibleParty.Contact;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.KeywordType;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.RestrictionCode;
import org.gcube.spatial.data.geonetwork.iso.tpl.codelists.TopicCategory;
import org.gcube.spatial.data.geonetwork.iso.tpl.constraints.LegalConstraints;
import org.gcube.spatial.data.geonetwork.iso.tpl.constraints.ResourceConstraints;
import org.gcube.spatial.data.geonetwork.iso.tpl.extent.BoundingBox;
import org.gcube.spatial.data.geonetwork.iso.tpl.keys.KeywordSet;
import org.gcube.spatial.data.geonetwork.iso.tpl.keys.KeywordType;
import org.gcube.spatial.data.geonetwork.iso.tpl.keys.Thesaurus;
import org.gcube.spatial.data.geonetwork.iso.tpl.parties.ResponsibleParty;
import org.gcube.spatial.data.geonetwork.iso.tpl.parties.ResponsibleParty.Contact;
import org.gcube.spatial.data.geonetwork.iso.tpl.spatial.VectorRepresentation;
import it.geosolutions.geonetwork.util.GNInsertConfiguration;
@ -126,20 +131,30 @@ public class TrueMarbleMeta {
desc.setAbstractField("My Abstract Field");
desc.setCredit("Fatto io");
desc.getCredits().add("Fatto io");
desc.setCreationTime(new GregorianCalendar().getTime());
desc.setGeometricObjectCount(1000l);
((VectorRepresentation)desc.getSpatialRepresentation()).setGeometricObjectCount(1000);
desc.getKeywordSets().add(new KeywordSet(KeywordType.THEME,Collections.singleton("Species distribution"),Thesaurus.INSPIRE_THEMES));
desc.setPublicationTime(desc.getCreationTime());
desc.setPurpose("Just for fun");
desc.setTitle("Il mio bel titolone");
desc.setUUIDIdentifier(UUID.randomUUID().toString());
desc.setBoundingBox(BoundingBox.WORLD_EXTENT);
desc.setGeoServerDistributionInfo("http://geoserver.d4science.org/geoserver", "ws","wmpa", "speciesProb", "EPSG:4326");
desc.setSpatialResolution(0.5d);
desc.setTopicCategory("environment");
desc.setConstraints(new ResourceConstraints("I'll tell you when",
new LegalConstraints(RestrictionCode.COPYRIGHT),
new LegalConstraints(RestrictionCode.PATENT)));
desc.getTopicCategories().add(TopicCategory.ENVIRONMENT);
desc.setLineageStatement("I made with my own hands");
System.out.println(desc.getBoundingBox());
File metaFile=ISOMetadataByTemplate.createXML(desc);

View File

@ -11,16 +11,16 @@
<gco:CharacterString>${UUIDIdentifier}</gco:CharacterString>
</gmd:fileIdentifier>
<gmd:language>
<gmd:LanguageCode codeListValue="eng"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">eng</gmd:LanguageCode>
</gmd:language>
<gmd:LanguageCode codeListValue="${language.code}"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">${language.code}</gmd:LanguageCode>
</gmd:language>
<gmd:characterSet>
<gmd:MD_CharacterSetCode codeListValue="utf8"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_CharacterSetCode">UTF-8</gmd:MD_CharacterSetCode>
</gmd:characterSet>
<gmd:hierarchyLevel>
<gmd:MD_ScopeCode codeSpace="eng" codeListValue="dataset"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_ScopeCode">Dataset</gmd:MD_ScopeCode>
<gmd:MD_ScopeCode codeSpace="eng" codeListValue="${scope.id}"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_ScopeCode">${scope.label}</gmd:MD_ScopeCode>
</gmd:hierarchyLevel>
<!-- RESPONSIBLE PARTIES : contact-->
@ -46,27 +46,8 @@
</gmd:metadataStandardVersion>
<!-- SPATIAL REPRESENTATION INFO -->
<gmd:spatialRepresentationInfo>
<gmd:MD_VectorSpatialRepresentation>
<gmd:topologyLevel>
<gmd:MD_TopologyLevelCode codeListValue="geometryOnly"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_TopologyLevelCode">Geometry only</gmd:MD_TopologyLevelCode>
</gmd:topologyLevel>
<gmd:geometricObjects>
<gmd:MD_GeometricObjects>
<gmd:geometricObjectType>
<gmd:MD_GeometricObjectTypeCode
codeListValue="surface"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_GeometricObjectTypeCode">Surface</gmd:MD_GeometricObjectTypeCode>
</gmd:geometricObjectType>
<gmd:geometricObjectCount>
<gco:Integer>${geometricObjectCount?c}</gco:Integer>
</gmd:geometricObjectCount>
</gmd:MD_GeometricObjects>
</gmd:geometricObjects>
</gmd:MD_VectorSpatialRepresentation>
</gmd:spatialRepresentationInfo>
<#include "Spatial.ftlx">
<!-- REFERENCE SYSTEM -->
@ -124,26 +105,31 @@
<gmd:purpose>
<gco:CharacterString>${purpose}</gco:CharacterString>
</gmd:purpose>
<#list credits as credit>
<gmd:credit>
<gco:CharacterString>${credit}</gco:CharacterString>
</gmd:credit>
</#list>
<!-- RESPONSIBLE PARTIES -->
<gmd:pointOfContact>
<#list responsibleParties as party>
<#if party.role == "pointOfContact">
<gmd:pointOfContact>
<@responsibleParty party.individualName party.organization party.contact.email party.contact.site party.role/>
</gmd:pointOfContact>
</#if>
</#list>
</gmd:pointOfContact>
<!-- MAINTENANCE -->
<gmd:resourceMaintenance>
<gmd:MD_MaintenanceInformation>
<gmd:maintenanceAndUpdateFrequency>
<gmd:MD_MaintenanceFrequencyCode
codeListValue="asNeeded"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode">As needed</gmd:MD_MaintenanceFrequencyCode>
codeListValue="${maintenanceUpdateFrequency.id}"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode">${maintenanceUpdateFrequency.label}</gmd:MD_MaintenanceFrequencyCode>
</gmd:maintenanceAndUpdateFrequency>
</gmd:MD_MaintenanceInformation>
</gmd:resourceMaintenance>
@ -158,21 +144,12 @@
<gmd:resourceConstraints>
<gmd:MD_Constraints>
<gmd:useLimitation>
<gco:CharacterString>The global seafloor geomorphic feature map is available for download from bluehabitats.org</gco:CharacterString>
<gco:CharacterString>${constraints.useLimitation}</gco:CharacterString>
</gmd:useLimitation>
</gmd:MD_Constraints>
</gmd:resourceConstraints>
<gmd:resourceConstraints>
<gmd:MD_LegalConstraints>
<gmd:accessConstraints>
<gmd:MD_RestrictionCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions"/>
</gmd:accessConstraints>
<gmd:otherConstraints>
<gco:CharacterString>no limitations</gco:CharacterString>
</gmd:otherConstraints>
</gmd:MD_LegalConstraints>
</gmd:resourceConstraints>
<@legalConstraints constraints.accessConstraints 'access'/>
<@legalConstraints constraints.useConstraints 'use'/>
<!-- SPATIAL RESOLUTION & TOPIC CATEGORY-->
@ -184,13 +161,19 @@
</gmd:distance>
</gmd:MD_Resolution>
</gmd:spatialResolution>
<gmd:language>
<gmd:LanguageCode codeListValue="eng"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">English</gmd:LanguageCode>
<gmd:LanguageCode codeListValue="${language.code}"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/ML_gmxCodelists.xml#LanguageCode">${language.label}</gmd:LanguageCode>
</gmd:language>
<#list topicCategories as topic>
<gmd:topicCategory>
<gmd:MD_TopicCategoryCode>${topicCategory}</gmd:MD_TopicCategoryCode>
<gmd:MD_TopicCategoryCode>${topic.id}</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>
</#list>

View File

@ -82,4 +82,28 @@
</#if>
</gmd:MD_Keywords>
</gmd:descriptiveKeywords>
</#macro>
</#macro>
<#macro legalConstraints legal type>
<gmd:resourceConstraints>
<gmd:MD_LegalConstraints>
<#if type=='access'>
<gmd:accessConstraints>
<gmd:MD_RestrictionCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode" codeListValue="${legal.code.id}"/>
</gmd:accessConstraints>
<#elseif type=='use'>
<gmd:useConstraints>
<gmd:MD_RestrictionCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_RestrictionCode" codeListValue="${legal.code.id}"/>
</gmd:useConstraints>
</#if>
<#if legal.code.id == 'otherRestrictions'>
<gmd:otherConstraints>
<gco:CharacterString>${legal.otherRestrictionValue}</gco:CharacterString>
</gmd:otherConstraints>
</#if>
</gmd:MD_LegalConstraints>
</gmd:resourceConstraints>
</#macro>

View File

@ -0,0 +1,27 @@
<gmd:spatialRepresentationInfo>
<#if spatialRepresentation.type == 'VECTOR'>
<gmd:MD_VectorSpatialRepresentation>
<gmd:topologyLevel>
<gmd:MD_TopologyLevelCode codeListValue="${spatialRepresentation.topologyLevel.id}"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_TopologyLevelCode">${spatialRepresentation.topologyLevel.label}</gmd:MD_TopologyLevelCode>
</gmd:topologyLevel>
<gmd:geometricObjects>
<gmd:MD_GeometricObjects>
<gmd:geometricObjectType>
<gmd:MD_GeometricObjectTypeCode
codeListValue="${spatialRepresentation.geometricObjectType.id}"
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_GeometricObjectTypeCode">${spatialRepresentation.geometricObjectType.label}</gmd:MD_GeometricObjectTypeCode>
</gmd:geometricObjectType>
<gmd:geometricObjectCount>
<gco:Integer>${spatialRepresentation.geometricObjectCount?c}</gco:Integer>
</gmd:geometricObjectCount>
</gmd:MD_GeometricObjects>
</gmd:geometricObjects>
</gmd:MD_VectorSpatialRepresentation>
<#elseif spatialRepresentation.type=='GRID'>
</#if>
</gmd:spatialRepresentationInfo>