From bb1e1c1f976a2e6499896be6f15ae86f1cde8d36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Mon, 25 Mar 2019 10:13:02 +0100 Subject: [PATCH 1/9] Modifications in the ETS to solve the issue #180 The assertion checks that there is a non-empty value of the element . --- ...emplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml | 5 +++++ metadata/iso/ets-md-iso-bsxets.xml | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml b/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml index af6b3d237..10a6a5c69 100644 --- a/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml +++ b/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml @@ -542,6 +542,11 @@ XML document '{filename}', record '{id}': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the date or date type is not correct. Date should be '2008-06-01' and date type 'publication'. The keywords are: {keywords}. + + + XML document '{filename}', record '{id}': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the gmd:CI_DateTypeCode element is empty. The keywords are: {keywords}. + + XML document '{filename}', record '{id}': Every service metadata record must have a service type that is one of the codes from the code list at {url}. Found: {type}. diff --git a/metadata/iso/ets-md-iso-bsxets.xml b/metadata/iso/ets-md-iso-bsxets.xml index a53c2bcc3..fd2c6f4b8 100644 --- a/metadata/iso/ets-md-iso-bsxets.xml +++ b/metadata/iso/ets-md-iso-bsxets.xml @@ -12,7 +12,7 @@ Source: Conformance Class 'XML encoding of ISO 19115/19119 metadata']]> ../../inspire-md-bsxets.xq - 0.2.7 + 0.2.9 interactive instruments GmbH 2016-08-30T00:00:00Z interactive instruments GmbH @@ -1272,6 +1272,8 @@ let $messages := local:addMessage('TR.noKeywordFromINSPIREThemes', map { 'filename': local:filename($record), 'id': $rid, 'url': $inspireThemesCodeListURL, 'keywords': fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) else if (not($hasExpectedDate)) then local:addMessage('TR.invalidDateForThesaurusGemet', map { 'filename': local:filename($record), 'id': $rid, 'keywords' : fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) + else if (string-length(normalize-space($relevantDescriptiveKeywordsBlocks/gmd:thesaurusName/*/gmd:date/*/gmd:dateType/*/text())) = 0) then + local:addMessage('TR.emptyDateTypeCode', map { 'filename': local:filename($record), 'id': $rid, 'keywords' : fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) else () )[position() le $limitErrors] } catch * { @@ -1286,6 +1288,7 @@ return + From c39079072c0fd23928efcf98868ea74d73f1d46c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Tue, 9 Apr 2019 08:16:34 +0200 Subject: [PATCH 2/9] Test 1 to solve the issue 29 --- service/ds-wfs-pre-defined-soapui-project.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/service/ds-wfs-pre-defined-soapui-project.xml b/service/ds-wfs-pre-defined-soapui-project.xml index ab76e0595..84a710775 100755 --- a/service/ds-wfs-pre-defined-soapui-project.xml +++ b/service/ds-wfs-pre-defined-soapui-project.xml @@ -2393,8 +2393,6 @@ public class OutputFormat { outputFormat.indexOf("gml")!=-1) { type=FormatType.XML; - }else if(outputFormat.indexOf("json")!=-1) { - type=FormatType.JSON; }else if(outputFormat.indexOf("text")!=-1) { type=FormatType.TEXT; } From 8bd1be7e5928d9a0a7eb6954ddcdb6cd349b61fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Tue, 9 Apr 2019 15:56:46 +0200 Subject: [PATCH 3/9] Test 2 to solve the issue 29 --- service/ds-wfs-pre-defined-soapui-project.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/service/ds-wfs-pre-defined-soapui-project.xml b/service/ds-wfs-pre-defined-soapui-project.xml index 84a710775..672af26c1 100755 --- a/service/ds-wfs-pre-defined-soapui-project.xml +++ b/service/ds-wfs-pre-defined-soapui-project.xml @@ -2393,6 +2393,8 @@ public class OutputFormat { outputFormat.indexOf("gml")!=-1) { type=FormatType.XML; + }else if(outputFormat.indexOf("json")!=-1) { + type=FormatType.JSON; }else if(outputFormat.indexOf("text")!=-1) { type=FormatType.TEXT; } @@ -2576,10 +2578,14 @@ if(schemaLocations!=null) { } 30000200import de.interactive_instruments.etf.suim.* Assert a = new Assert(messageExchange, context, log, Assert.INSPIRE_DS_NS); -a.exists("/*:schema", "TR.missingSchemaRootElement");BasicBasicGlobal HTTP Settingsservice${#TestSuite#service}QUERYversion${#TestSuite#version}QUERYrequestDescribeFeatureTypeQUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERYGet the number of available Feature Types with a GetFeature request with RESULTTYPE=hits. Called by 'Analyze WFS Capabilities'.<xml-fragment/>${#Project#endpt.GetFeature.Get}exists(/*:ServiceExceptionReport) or (/*:ExceptionReport)falsefalsefalsefalsefalse20030000import de.interactive_instruments.etf.suim.* +a.exists("/*:schema", "TR.missingSchemaRootElement");BasicBasicGlobal HTTP Settingsservice${#TestSuite#service}QUERYversion${#TestSuite#version}QUERYrequestDescribeFeatureTypeQUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERY + + Dieser Testfall wird lediglich für die Persistierung von XTF-OWSGTL Objekten genutzt und ist deaktiviert. This test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.de.interactive_instruments.xtf.wfs.CapabilitiesThis test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.qaf.ShortDescriptionqaf.Authorherrmannqaf.CreationDate2014-01-13T12:24:44.132+01:00qaf.Version1.0.0qaf.AssociatedRequirementsqaf.ExpectedResultsqaf.StatusIMPLEMENTEDqaf.LastUpdateDate2014-01-13T14:10:42.868+01:00etf.technicalSteptrueCheck if the service is available and the Test initialisation phase has been completed successfully. From 7284c15141ab8e9e00bb6ed9fea8fef9887f6464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Wed, 10 Apr 2019 07:43:57 +0200 Subject: [PATCH 4/9] Test 3 to solve the issue 29 --- service/ds-wfs-pre-defined-soapui-project.xml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/service/ds-wfs-pre-defined-soapui-project.xml b/service/ds-wfs-pre-defined-soapui-project.xml index 672af26c1..ab76e0595 100755 --- a/service/ds-wfs-pre-defined-soapui-project.xml +++ b/service/ds-wfs-pre-defined-soapui-project.xml @@ -2578,14 +2578,10 @@ if(schemaLocations!=null) { } 30000200import de.interactive_instruments.etf.suim.* Assert a = new Assert(messageExchange, context, log, Assert.INSPIRE_DS_NS); -a.exists("/*:schema", "TR.missingSchemaRootElement");BasicBasicGlobal HTTP Settingsservice${#TestSuite#service}QUERYversion${#TestSuite#version}QUERYrequestDescribeFeatureTypeQUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERY - - +a.exists("/wfs:FeatureCollection", "TR.missingFeatureCollectionRootElement");BasicBasicGlobal HTTP SettingsSERVICE${#TestSuite#service}QUERYVERSION${#TestSuite#version}QUERYREQUESTGetFeatureQUERYRESULTTYPEhitsQUERYTYPENAMES${Transfer_Properties#featureTypeName}QUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERYNAMESPACES${Transfer_Properties#featureTypeNamespaceWfs2}QUERY#Project#endpt.GetFeature.Get#Project#endpt.GetFeature.GetTEMPLATE#Project#endpt.GetFeature.Get Dieser Testfall wird lediglich für die Persistierung von XTF-OWSGTL Objekten genutzt und ist deaktiviert. This test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.de.interactive_instruments.xtf.wfs.CapabilitiesThis test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.qaf.ShortDescriptionqaf.Authorherrmannqaf.CreationDate2014-01-13T12:24:44.132+01:00qaf.Version1.0.0qaf.AssociatedRequirementsqaf.ExpectedResultsqaf.StatusIMPLEMENTEDqaf.LastUpdateDate2014-01-13T14:10:42.868+01:00etf.technicalSteptrueCheck if the service is available and the Test initialisation phase has been completed successfully. From 55fdf8bbf729297d93bc4b1bc6db6cc5e1435524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Wed, 10 Apr 2019 07:44:31 +0200 Subject: [PATCH 5/9] Revert "Test 3 to solve the issue 29" This reverts commit 7284c15141ab8e9e00bb6ed9fea8fef9887f6464. --- service/ds-wfs-pre-defined-soapui-project.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/service/ds-wfs-pre-defined-soapui-project.xml b/service/ds-wfs-pre-defined-soapui-project.xml index ab76e0595..672af26c1 100755 --- a/service/ds-wfs-pre-defined-soapui-project.xml +++ b/service/ds-wfs-pre-defined-soapui-project.xml @@ -2578,10 +2578,14 @@ if(schemaLocations!=null) { } 30000200import de.interactive_instruments.etf.suim.* Assert a = new Assert(messageExchange, context, log, Assert.INSPIRE_DS_NS); -a.exists("/*:schema", "TR.missingSchemaRootElement");BasicBasicGlobal HTTP Settingsservice${#TestSuite#service}QUERYversion${#TestSuite#version}QUERYrequestDescribeFeatureTypeQUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERYGet the number of available Feature Types with a GetFeature request with RESULTTYPE=hits. Called by 'Analyze WFS Capabilities'.<xml-fragment/>${#Project#endpt.GetFeature.Get}exists(/*:ServiceExceptionReport) or (/*:ExceptionReport)falsefalsefalsefalsefalse20030000import de.interactive_instruments.etf.suim.* +a.exists("/*:schema", "TR.missingSchemaRootElement");BasicBasicGlobal HTTP Settingsservice${#TestSuite#service}QUERYversion${#TestSuite#version}QUERYrequestDescribeFeatureTypeQUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERY + + Dieser Testfall wird lediglich für die Persistierung von XTF-OWSGTL Objekten genutzt und ist deaktiviert. This test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.de.interactive_instruments.xtf.wfs.CapabilitiesThis test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.qaf.ShortDescriptionqaf.Authorherrmannqaf.CreationDate2014-01-13T12:24:44.132+01:00qaf.Version1.0.0qaf.AssociatedRequirementsqaf.ExpectedResultsqaf.StatusIMPLEMENTEDqaf.LastUpdateDate2014-01-13T14:10:42.868+01:00etf.technicalSteptrueCheck if the service is available and the Test initialisation phase has been completed successfully. From 76071139390f3b9a3c98ee6d61a079c373acb65b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Wed, 10 Apr 2019 07:44:42 +0200 Subject: [PATCH 6/9] Revert "Test 2 to solve the issue 29" This reverts commit 8bd1be7e5928d9a0a7eb6954ddcdb6cd349b61fa. --- service/ds-wfs-pre-defined-soapui-project.xml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/service/ds-wfs-pre-defined-soapui-project.xml b/service/ds-wfs-pre-defined-soapui-project.xml index 672af26c1..84a710775 100755 --- a/service/ds-wfs-pre-defined-soapui-project.xml +++ b/service/ds-wfs-pre-defined-soapui-project.xml @@ -2393,8 +2393,6 @@ public class OutputFormat { outputFormat.indexOf("gml")!=-1) { type=FormatType.XML; - }else if(outputFormat.indexOf("json")!=-1) { - type=FormatType.JSON; }else if(outputFormat.indexOf("text")!=-1) { type=FormatType.TEXT; } @@ -2578,14 +2576,10 @@ if(schemaLocations!=null) { } 30000200import de.interactive_instruments.etf.suim.* Assert a = new Assert(messageExchange, context, log, Assert.INSPIRE_DS_NS); -a.exists("/*:schema", "TR.missingSchemaRootElement");BasicBasicGlobal HTTP Settingsservice${#TestSuite#service}QUERYversion${#TestSuite#version}QUERYrequestDescribeFeatureTypeQUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERY - - +a.exists("/wfs:FeatureCollection", "TR.missingFeatureCollectionRootElement");BasicBasicGlobal HTTP SettingsSERVICE${#TestSuite#service}QUERYVERSION${#TestSuite#version}QUERYREQUESTGetFeatureQUERYRESULTTYPEhitsQUERYTYPENAMES${Transfer_Properties#featureTypeName}QUERYOUTPUTFORMAT${Transfer_Properties#outputFormat}QUERYNAMESPACES${Transfer_Properties#featureTypeNamespaceWfs2}QUERY#Project#endpt.GetFeature.Get#Project#endpt.GetFeature.GetTEMPLATE#Project#endpt.GetFeature.Get Dieser Testfall wird lediglich für die Persistierung von XTF-OWSGTL Objekten genutzt und ist deaktiviert. This test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.de.interactive_instruments.xtf.wfs.CapabilitiesThis test step stores objects that can be accessed via the de.interactive_instruments.ObjectSaver class.qaf.ShortDescriptionqaf.Authorherrmannqaf.CreationDate2014-01-13T12:24:44.132+01:00qaf.Version1.0.0qaf.AssociatedRequirementsqaf.ExpectedResultsqaf.StatusIMPLEMENTEDqaf.LastUpdateDate2014-01-13T14:10:42.868+01:00etf.technicalSteptrueCheck if the service is available and the Test initialisation phase has been completed successfully. From 717c46fee56bb69a71905eb50a9812c495d8e0f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Wed, 10 Apr 2019 07:44:51 +0200 Subject: [PATCH 7/9] Revert "Test 1 to solve the issue 29" This reverts commit c39079072c0fd23928efcf98868ea74d73f1d46c. --- service/ds-wfs-pre-defined-soapui-project.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/service/ds-wfs-pre-defined-soapui-project.xml b/service/ds-wfs-pre-defined-soapui-project.xml index 84a710775..ab76e0595 100755 --- a/service/ds-wfs-pre-defined-soapui-project.xml +++ b/service/ds-wfs-pre-defined-soapui-project.xml @@ -2393,6 +2393,8 @@ public class OutputFormat { outputFormat.indexOf("gml")!=-1) { type=FormatType.XML; + }else if(outputFormat.indexOf("json")!=-1) { + type=FormatType.JSON; }else if(outputFormat.indexOf("text")!=-1) { type=FormatType.TEXT; } From 440da6dc78957a0607d0528062179d7f5f6cd2a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Wed, 10 Apr 2019 08:42:37 +0200 Subject: [PATCH 8/9] Revert "Modifications in the ETS to solve the issue #180" This reverts commit bb1e1c1f976a2e6499896be6f15ae86f1cde8d36. --- ...emplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml | 5 ----- metadata/iso/ets-md-iso-bsxets.xml | 5 +---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml b/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml index 10a6a5c69..af6b3d237 100644 --- a/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml +++ b/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml @@ -542,11 +542,6 @@ XML document '{filename}', record '{id}': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the date or date type is not correct. Date should be '2008-06-01' and date type 'publication'. The keywords are: {keywords}. - - - XML document '{filename}', record '{id}': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the gmd:CI_DateTypeCode element is empty. The keywords are: {keywords}. - - XML document '{filename}', record '{id}': Every service metadata record must have a service type that is one of the codes from the code list at {url}. Found: {type}. diff --git a/metadata/iso/ets-md-iso-bsxets.xml b/metadata/iso/ets-md-iso-bsxets.xml index fd2c6f4b8..a53c2bcc3 100644 --- a/metadata/iso/ets-md-iso-bsxets.xml +++ b/metadata/iso/ets-md-iso-bsxets.xml @@ -12,7 +12,7 @@ Source: Conformance Class 'XML encoding of ISO 19115/19119 metadata']]> ../../inspire-md-bsxets.xq - 0.2.9 + 0.2.7 interactive instruments GmbH 2016-08-30T00:00:00Z interactive instruments GmbH @@ -1272,8 +1272,6 @@ let $messages := local:addMessage('TR.noKeywordFromINSPIREThemes', map { 'filename': local:filename($record), 'id': $rid, 'url': $inspireThemesCodeListURL, 'keywords': fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) else if (not($hasExpectedDate)) then local:addMessage('TR.invalidDateForThesaurusGemet', map { 'filename': local:filename($record), 'id': $rid, 'keywords' : fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) - else if (string-length(normalize-space($relevantDescriptiveKeywordsBlocks/gmd:thesaurusName/*/gmd:date/*/gmd:dateType/*/text())) = 0) then - local:addMessage('TR.emptyDateTypeCode', map { 'filename': local:filename($record), 'id': $rid, 'keywords' : fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) else () )[position() le $limitErrors] } catch * { @@ -1288,7 +1286,6 @@ return - From 2d8a56c4c346e10f06ec272b003331e82864493f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki?= Date: Wed, 10 Apr 2019 08:45:17 +0200 Subject: [PATCH 9/9] Revert "Revert "Modifications in the ETS to solve the issue #180"" This reverts commit 440da6dc78957a0607d0528062179d7f5f6cd2a1. --- ...emplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml | 5 +++++ metadata/iso/ets-md-iso-bsxets.xml | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml b/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml index af6b3d237..10a6a5c69 100644 --- a/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml +++ b/include-metadata/TranslationTemplateBundle-EID70a263c0-0ad7-42f2-9d4d-0d8a4ca71b52.xml @@ -542,6 +542,11 @@ XML document '{filename}', record '{id}': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the date or date type is not correct. Date should be '2008-06-01' and date type 'publication'. The keywords are: {keywords}. + + + XML document '{filename}', record '{id}': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the gmd:CI_DateTypeCode element is empty. The keywords are: {keywords}. + + XML document '{filename}', record '{id}': Every service metadata record must have a service type that is one of the codes from the code list at {url}. Found: {type}. diff --git a/metadata/iso/ets-md-iso-bsxets.xml b/metadata/iso/ets-md-iso-bsxets.xml index a53c2bcc3..fd2c6f4b8 100644 --- a/metadata/iso/ets-md-iso-bsxets.xml +++ b/metadata/iso/ets-md-iso-bsxets.xml @@ -12,7 +12,7 @@ Source: Conformance Class 'XML encoding of ISO 19115/19119 metadata']]> ../../inspire-md-bsxets.xq - 0.2.7 + 0.2.9 interactive instruments GmbH 2016-08-30T00:00:00Z interactive instruments GmbH @@ -1272,6 +1272,8 @@ let $messages := local:addMessage('TR.noKeywordFromINSPIREThemes', map { 'filename': local:filename($record), 'id': $rid, 'url': $inspireThemesCodeListURL, 'keywords': fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) else if (not($hasExpectedDate)) then local:addMessage('TR.invalidDateForThesaurusGemet', map { 'filename': local:filename($record), 'id': $rid, 'keywords' : fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) + else if (string-length(normalize-space($relevantDescriptiveKeywordsBlocks/gmd:thesaurusName/*/gmd:date/*/gmd:dateType/*/text())) = 0) then + local:addMessage('TR.emptyDateTypeCode', map { 'filename': local:filename($record), 'id': $rid, 'keywords' : fn:string-join($relevantDescriptiveKeywordsBlocks/gmd:keyword/*/text(),'; ') }) else () )[position() le $limitErrors] } catch * { @@ -1286,6 +1288,7 @@ return +