[Mapbender-commits] r9877 - trunk/mapbender/http/geoportal
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Mon Feb 26 05:32:18 PST 2018
Author: armin11
Date: 2018-02-26 05:32:18 -0800 (Mon, 26 Feb 2018)
New Revision: 9877
Modified:
trunk/mapbender/http/geoportal/mod_pullInspireMonitoring.php
Log:
Fix for exportaing INSPIRE conformity declaration of dataset metadata
Modified: trunk/mapbender/http/geoportal/mod_pullInspireMonitoring.php
===================================================================
--- trunk/mapbender/http/geoportal/mod_pullInspireMonitoring.php 2018-02-21 17:07:20 UTC (rev 9876)
+++ trunk/mapbender/http/geoportal/mod_pullInspireMonitoring.php 2018-02-26 13:32:18 UTC (rev 9877)
@@ -18,7 +18,10 @@
require_once(dirname(__FILE__)."/../../core/globalSettings.php");
require_once dirname(__FILE__)."/../classes/class_connector.php";
require_once dirname(__FILE__) . "/../classes/class_Uuid.php";
+require_once dirname(__FILE__) . "/../classes/class_administration.php";
+$adminClass = new Administration();
+
if (defined("INSPIRE_CUSTOM_CAT_ID") && INSPIRE_CUSTOM_CAT_ID != "") {
$inspireCatId = INSPIRE_CUSTOM_CAT_ID;
} else {
@@ -222,7 +225,7 @@
//define sql to do a count of inspire relevant data (metadata)
$sqlCount = <<<SQL
-select count(metadata_id) from (select distinct (uuid), metadata_id, title, uuid from mb_metadata where metadata_id in (select distinct (metadata_id) from (select fkey_metadata_id as metadata_id from ows_relation_metadata inner join (select fkey_layer_id from layer_custom_category where fkey_custom_category_id = $inspireCatId ) as foo on foo.fkey_layer_id = ows_relation_metadata.fkey_layer_id
+select count(metadata_id) from (select distinct (uuid), metadata_id, title, inspire_interoperability, uuid from mb_metadata where metadata_id in (select distinct (metadata_id) from (select fkey_metadata_id as metadata_id from ows_relation_metadata inner join (select fkey_layer_id from layer_custom_category where fkey_custom_category_id = $inspireCatId ) as foo on foo.fkey_layer_id = ows_relation_metadata.fkey_layer_id
union
select fkey_metadata_id as metadata_id from ows_relation_metadata inner join (select fkey_featuretype_id from wfs_featuretype_custom_category where fkey_custom_category_id = $inspireCatId ) as foo on foo.fkey_featuretype_id = ows_relation_metadata.fkey_featuretype_id
union
@@ -245,7 +248,7 @@
if ($outputFormat == 'monitoring' || $outputFormat == 'table') {
$sql = <<<SQL
-select metadata_layer.title, metadata_layer.uuid, resource_id, resource_uuid, resource_type, inspire_actual_coverage, inspire_whole_area, service_id, inspire_download, wms_owner as service_owner, wms.inspire_annual_requests, fkey_mb_group_id as service_group, wms_title as service_title, f_collect_inspire_cat_layer(resource_id) as inspire_cat from (select title,uuid ,resource_uuid, layer_id as resource_id, 'layer' as resource_type, fkey_wms_id as service_id, inspire_download, inspire_actual_coverage, inspire_whole_area from (select layer.layer_id, layer.fkey_wms_id, layer.uuid as resource_uuid, layer.inspire_download, layer_custom_category.fkey_custom_category_id from layer inner join layer_custom_category on layer.layer_id = layer_custom_category.fkey_layer_id where layer_custom_category.fkey_custom_category_id = $inspireCatId AND layer_searchable = 1 ORDER BY layer_id) as layer_inspire inner join (select metadata_id, uuid, title, inspire_actual_coverage, inspire_whole_area, fkey_la
yer_id from mb_metadata inner join ows_relation_metadata on ows_relation_metadata.fkey_metadata_id = mb_metadata.metadata_id) as metadata_relation on metadata_relation.fkey_layer_id = layer_inspire.layer_id) as metadata_layer INNER JOIN wms ON metadata_layer.service_id = wms_id WHERE NOT(wms.wms_network_access = 1)
+select metadata_layer.title, metadata_layer.uuid, resource_id, resource_uuid, resource_type, inspire_actual_coverage, inspire_whole_area, service_id, inspire_download, inspire_interoperability, metadata_id, wms_owner as service_owner, wms.inspire_annual_requests, fkey_mb_group_id as service_group, wms_title as service_title, f_collect_inspire_cat_layer(resource_id) as inspire_cat from (select title,uuid ,resource_uuid, layer_id as resource_id, 'layer' as resource_type, fkey_wms_id as service_id, inspire_download, inspire_actual_coverage, inspire_whole_area, metadata_id, inspire_interoperability from (select layer.layer_id, layer.fkey_wms_id, layer.uuid as resource_uuid, layer.inspire_download, layer_custom_category.fkey_custom_category_id from layer inner join layer_custom_category on layer.layer_id = layer_custom_category.fkey_layer_id where layer_custom_category.fkey_custom_category_id = $inspireCatId AND layer_searchable = 1 ORDER BY layer_id) as layer_inspire inner join (select
metadata_id, uuid, title, inspire_actual_coverage, inspire_whole_area, inspire_interoperability, fkey_layer_id from mb_metadata inner join ows_relation_metadata on ows_relation_metadata.fkey_metadata_id = mb_metadata.metadata_id) as metadata_relation on metadata_relation.fkey_layer_id = layer_inspire.layer_id) as metadata_layer INNER JOIN wms ON metadata_layer.service_id = wms_id WHERE NOT(wms.wms_network_access = 1)
SQL;
@@ -261,11 +264,11 @@
$sql = <<<SQL
select distinct (uuid), * from (
-select metadata_layer.title, wms.uuid as service_uuid, wms_title || ':' || layer_title as inspire_service_title, metadata_layer.uuid, metadata_layer.datasetid, metadata_layer.datasetid_codespace, resource_id, resource_uuid, resource_type, service_id, inspire_download, wms_owner as service_owner, fkey_mb_group_id as service_group, wms_title as service_title, f_collect_inspire_cat_layer(resource_id) as inspire_cat from (select title, uuid, datasetid, datasetid_codespace, layer_id as resource_id, 'layer' as resource_type, fkey_wms_id as service_id, inspire_download, layer_title, resource_uuid from (select layer.layer_id, layer.layer_title, layer.fkey_wms_id, layer.uuid as resource_uuid, layer.inspire_download, layer_custom_category.fkey_custom_category_id from layer inner join layer_custom_category on layer.layer_id = layer_custom_category.fkey_layer_id where layer_custom_category.fkey_custom_category_id = $inspireCatId AND layer_searchable = 1 ORDER BY layer_id) as layer_inspire inner
join (select metadata_id, datasetid, datasetid_codespace, uuid, title, fkey_layer_id from mb_metadata inner join ows_relation_metadata on ows_relation_metadata.fkey_metadata_id = mb_metadata.metadata_id) as metadata_relation on metadata_relation.fkey_layer_id = layer_inspire.layer_id) as metadata_layer INNER JOIN wms ON metadata_layer.service_id = wms_id
+select metadata_layer.title, wms.uuid as service_uuid, wms_title || ':' || layer_title as inspire_service_title, metadata_layer.uuid, metadata_layer.datasetid, metadata_layer.datasetid_codespace, metadata_layer.inspire_interoperability, metadata_layer.metadata_id, resource_id, resource_uuid, resource_type, service_id, inspire_download, wms_owner as service_owner, fkey_mb_group_id as service_group, wms_title as service_title, f_collect_inspire_cat_layer(resource_id) as inspire_cat from (select title, uuid, datasetid, datasetid_codespace, metadata_id, inspire_interoperability, layer_id as resource_id, 'layer' as resource_type, fkey_wms_id as service_id, inspire_download, layer_title, resource_uuid from (select layer.layer_id, layer.layer_title, layer.fkey_wms_id, layer.uuid as resource_uuid, layer.inspire_download, layer_custom_category.fkey_custom_category_id from layer inner join layer_custom_category on layer.layer_id = layer_custom_category.fkey_layer_id where layer_custom_categor
y.fkey_custom_category_id = $inspireCatId AND layer_searchable = 1 ORDER BY layer_id) as layer_inspire inner join (select metadata_id, inspire_interoperability, datasetid, datasetid_codespace, uuid, title, fkey_layer_id from mb_metadata inner join ows_relation_metadata on ows_relation_metadata.fkey_metadata_id = mb_metadata.metadata_id) as metadata_relation on metadata_relation.fkey_layer_id = layer_inspire.layer_id) as metadata_layer INNER JOIN wms ON metadata_layer.service_id = wms_id
union
-select metadata_featuretype.title, wfs.uuid as service_uuid, wfs_title || ':' || featuretype_title as inspire_service_title, metadata_featuretype.uuid, metadata_featuretype.datasetid, metadata_featuretype.datasetid_codespace, resource_id, resource_uuid, resource_type, service_id, inspire_download, wfs_owner as service_owner, fkey_mb_group_id as service_group, wfs_title as service_title, f_collect_inspire_cat_wfs_featuretype(resource_id) as inspire_cat from (select title, uuid, datasetid, datasetid_codespace, featuretype_id as resource_id, 'wfs_featuretype' as resource_type, resource_uuid, fkey_wfs_id as service_id, inspire_download, featuretype_title from (select wfs_featuretype.featuretype_id , wfs_featuretype.featuretype_title, wfs_featuretype.fkey_wfs_id, wfs_featuretype.inspire_download, wfs_featuretype.uuid as resource_uuid from wfs_featuretype inner join wfs_featuretype_custom_category on wfs_featuretype.featuretype_id = wfs_featuretype_custom_category.fkey_featuretype_id whe
re wfs_featuretype_custom_category.fkey_custom_category_id = $inspireCatId AND featuretype_searchable = 1 ORDER BY featuretype_id) as featuretype_inspire inner join (select metadata_id, datasetid, datasetid_codespace, uuid, title, fkey_featuretype_id from mb_metadata inner join ows_relation_metadata on ows_relation_metadata.fkey_metadata_id = mb_metadata.metadata_id) as metadata_relation on metadata_relation.fkey_featuretype_id = featuretype_inspire.featuretype_id) as metadata_featuretype INNER JOIN wfs ON metadata_featuretype.service_id = wfs_id
+select metadata_featuretype.title, wfs.uuid as service_uuid, wfs_title || ':' || featuretype_title as inspire_service_title, metadata_featuretype.uuid, metadata_featuretype.datasetid, metadata_featuretype.datasetid_codespace, metadata_featuretype.inspire_interoperability, metadata_featuretype.metadata_id, resource_id, resource_uuid, resource_type, service_id, inspire_download, wfs_owner as service_owner, fkey_mb_group_id as service_group, wfs_title as service_title, f_collect_inspire_cat_wfs_featuretype(resource_id) as inspire_cat from (select title, uuid, datasetid, datasetid_codespace, inspire_interoperability, metadata_id, featuretype_id as resource_id, 'wfs_featuretype' as resource_type, resource_uuid, fkey_wfs_id as service_id, inspire_download, featuretype_title from (select wfs_featuretype.featuretype_id , wfs_featuretype.featuretype_title, wfs_featuretype.fkey_wfs_id, wfs_featuretype.inspire_download, wfs_featuretype.uuid as resource_uuid from wfs_featuretype inner join wfs
_featuretype_custom_category on wfs_featuretype.featuretype_id = wfs_featuretype_custom_category.fkey_featuretype_id where wfs_featuretype_custom_category.fkey_custom_category_id = $inspireCatId AND featuretype_searchable = 1 ORDER BY featuretype_id) as featuretype_inspire inner join (select metadata_id, inspire_interoperability, datasetid, datasetid_codespace, uuid, title, fkey_featuretype_id from mb_metadata inner join ows_relation_metadata on ows_relation_metadata.fkey_metadata_id = mb_metadata.metadata_id) as metadata_relation on metadata_relation.fkey_featuretype_id = featuretype_inspire.featuretype_id) as metadata_featuretype INNER JOIN wfs ON metadata_featuretype.service_id = wfs_id
@@ -302,8 +305,12 @@
$sqlTable['inspire_cat'][] = replaceCategories($row['inspire_cat'], $inspireCategories);
$sqlTable['inspire_cat_monitoring'][] = replaceCategoriesList($row['inspire_cat']);
$sqlTable['inspire_download'][] = $row['inspire_download'];
+ $sqlTable['inspire_interoperability'][] = $row['inspire_interoperability'];
+ $sqlTable['metadata_id'][] = $row['metadata_id'];
+ $metadataArray = array("datasetid_codespace" => $row['datasetid_codespace'], "datasetid" => $row['datasetid']);
+ $uniqueResourceIdentifierCodespace = $adminClass->getIdentifierCodespaceFromRegistry($adminClass->getOrgaInfoFromRegistry('metadata', $row['metadata_id']), $metadataArray);
//extract datasetid
- if (isset($row['datasetid']) && $row['datasetid'] != '') {
+ /*if (isset($row['datasetid']) && $row['datasetid'] != '') {
if (isset($row['datasetid_codespace']) && $row['datasetid_codespace'] != '') {
$sqlTable['datasetid'][] = $row['datasetid_codespace']."#".$row['datasetid'];
} else {
@@ -312,7 +319,12 @@
//$sqlTable['datasetid'][] = "test";
} else {
$sqlTable['datasetid'][] = METADATA_DEFAULT_CODESPACE.'#'.$row['uuid'];
- }
+ }*/
+ if (isset($row['datasetid']) && $row['datasetid'] !== "") {
+ $sqlTable['datasetid'][] = $uniqueResourceIdentifierCodespace.$row['datasetid'];
+ } else {
+ $sqlTable['datasetid'][] = $uniqueResourceIdentifierCodespace.$row['uuid'];
+ }
}
$groupOwnerArray = array();
$groupOwnerArray[0] = $sqlTable['service_group'];
@@ -412,7 +424,11 @@
$inspireMonitoring['datasets'][$metadataIndex]->viewServiceId = "";
$inspireMonitoring['datasets'][$metadataIndex]->downloadServiceAvailable = "";
$inspireMonitoring['datasets'][$metadataIndex]->downloadServiceId = "";
- $inspireMonitoring['datasets'][$metadataIndex]->datasetConform = "";
+ if (isset($sqlTable['inspire_interoperability'][$i]) && $sqlTable['inspire_interoperability'][$i] == "t") {
+ $inspireMonitoring['datasets'][$metadataIndex]->datasetConform = "[X]";
+ } else {
+ $inspireMonitoring['datasets'][$metadataIndex]->datasetConform = "";
+ }
$insCat = '';
$inspireMonitoring['datasets'][$metadataIndex]->inspireCategories = '';
$inspireMonitoring['datasets'][$metadataIndex]->numberViewServices = 0;
More information about the Mapbender_commits
mailing list