[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