Skip to content

Commit

Permalink
Server - Update API to have many metadataUrl for a layer
Browse files Browse the repository at this point in the history
  • Loading branch information
Gustry committed Sep 16, 2021
1 parent 235a285 commit d8413c8
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 23 deletions.
13 changes: 5 additions & 8 deletions src/server/services/wfs/qgswfsgetcapabilities.cpp
Expand Up @@ -612,15 +612,15 @@ namespace QgsWfs
layerElem.appendChild( bBoxElement );

// layer metadata URL
const QString metadataUrl = layer->metadataUrl();
if ( !metadataUrl.isEmpty() )
const QList<QgsMapLayerServerProperties::MetadataUrl> urls = layer->serverProperties()->metadataUrls();
for ( const QgsMapLayerServerProperties::MetadataUrl &url : urls )
{
QDomElement metaUrlElem = doc.createElement( QStringLiteral( "MetadataURL" ) );
const QString metadataUrlType = layer->metadataUrlType();
const QString metadataUrlType = url.type;
metaUrlElem.setAttribute( QStringLiteral( "type" ), metadataUrlType );
const QString metadataUrlFormat = layer->metadataUrlFormat();
const QString metadataUrlFormat = url.format;
metaUrlElem.setAttribute( QStringLiteral( "format" ), metadataUrlFormat );
const QDomText metaUrlText = doc.createTextNode( metadataUrl );
const QDomText metaUrlText = doc.createTextNode( url.url );
metaUrlElem.appendChild( metaUrlText );
layerElem.appendChild( metaUrlElem );
}
Expand All @@ -632,6 +632,3 @@ namespace QgsWfs
}

} // namespace QgsWfs



10 changes: 5 additions & 5 deletions src/server/services/wfs/qgswfsgetcapabilities_1_0_0.cpp
Expand Up @@ -370,13 +370,13 @@ namespace QgsWfs
layerElem.appendChild( bBoxElement );

// layer metadata URL
const QString metadataUrl = layer->metadataUrl();
if ( !metadataUrl.isEmpty() )
const QList<QgsMapLayerServerProperties::MetadataUrl> urls = layer->serverProperties()->metadataUrls();
for ( const QgsMapLayerServerProperties::MetadataUrl &url : urls )
{
QDomElement metaUrlElem = doc.createElement( QStringLiteral( "MetadataURL" ) );
const QString metadataUrlType = layer->metadataUrlType();
const QString metadataUrlType = url.type;
metaUrlElem.setAttribute( QStringLiteral( "type" ), metadataUrlType );
const QString metadataUrlFormat = layer->metadataUrlFormat();
const QString metadataUrlFormat = url.format;
if ( metadataUrlFormat == QLatin1String( "text/xml" ) )
{
metaUrlElem.setAttribute( QStringLiteral( "format" ), QStringLiteral( "XML" ) );
Expand All @@ -385,7 +385,7 @@ namespace QgsWfs
{
metaUrlElem.setAttribute( QStringLiteral( "format" ), QStringLiteral( "TXT" ) );
}
const QDomText metaUrlText = doc.createTextNode( metadataUrl );
const QDomText metaUrlText = doc.createTextNode( url.url );
metaUrlElem.appendChild( metaUrlText );
layerElem.appendChild( metaUrlElem );
}
Expand Down
10 changes: 5 additions & 5 deletions src/server/services/wms/qgswmsgetcapabilities.cpp
Expand Up @@ -1172,11 +1172,11 @@ namespace QgsWms
}

// layer metadata URL
QString metadataUrl = l->metadataUrl();
if ( !metadataUrl.isEmpty() )
const QList<QgsMapLayerServerProperties::MetadataUrl> urls = l->serverProperties()->metadataUrls();
for ( const QgsMapLayerServerProperties::MetadataUrl &url : urls )
{
QDomElement metaUrlElem = doc.createElement( QStringLiteral( "MetadataURL" ) );
QString metadataUrlType = l->metadataUrlType();
QString metadataUrlType = url.type;
if ( version == QLatin1String( "1.1.1" ) )
{
metaUrlElem.setAttribute( QStringLiteral( "type" ), metadataUrlType );
Expand All @@ -1193,7 +1193,7 @@ namespace QgsWms
{
metaUrlElem.setAttribute( QStringLiteral( "type" ), metadataUrlType );
}
QString metadataUrlFormat = l->metadataUrlFormat();
QString metadataUrlFormat = url.format;
if ( !metadataUrlFormat.isEmpty() )
{
QDomElement metaUrlFormatElem = doc.createElement( QStringLiteral( "Format" ) );
Expand All @@ -1204,7 +1204,7 @@ namespace QgsWms
QDomElement metaUrlORElem = doc.createElement( QStringLiteral( "OnlineResource" ) );
metaUrlORElem.setAttribute( QStringLiteral( "xmlns:xlink" ), QStringLiteral( "http://www.w3.org/1999/xlink" ) );
metaUrlORElem.setAttribute( QStringLiteral( "xlink:type" ), QStringLiteral( "simple" ) );
metaUrlORElem.setAttribute( QStringLiteral( "xlink:href" ), metadataUrl );
metaUrlORElem.setAttribute( QStringLiteral( "xlink:href" ), url.url );
metaUrlElem.appendChild( metaUrlORElem );
layerElem.appendChild( metaUrlElem );
}
Expand Down
9 changes: 4 additions & 5 deletions src/server/services/wms/qgswmsgetcontext.cpp
Expand Up @@ -412,16 +412,15 @@ namespace QgsWms
}

// layer metadata URL
const QString metadataUrl = l->metadataUrl();
if ( !metadataUrl.isEmpty() )
const QList<QgsMapLayerServerProperties::MetadataUrl> urls = l->serverProperties()->metadataUrls();
for ( const QgsMapLayerServerProperties::MetadataUrl &url : urls )
{
QDomElement metaUrlElem = doc.createElement( QStringLiteral( "MetadataURL" ) );
const QString metadataUrlFormat = l->metadataUrlFormat();
metaUrlElem.setAttribute( QStringLiteral( "format" ), metadataUrlFormat );
metaUrlElem.setAttribute( QStringLiteral( "format" ), url.format );
QDomElement metaUrlORElem = doc.createElement( QStringLiteral( "OnlineResource" ) );
metaUrlORElem.setAttribute( QStringLiteral( "xmlns:xlink" ), QStringLiteral( "http://www.w3.org/1999/xlink" ) );
metaUrlORElem.setAttribute( QStringLiteral( "xlink:type" ), QStringLiteral( "simple" ) );
metaUrlORElem.setAttribute( QStringLiteral( "xlink:href" ), metadataUrl );
metaUrlORElem.setAttribute( QStringLiteral( "xlink:href" ), url.url );
metaUrlElem.appendChild( metaUrlORElem );
layerElem.appendChild( metaUrlElem );
}
Expand Down

0 comments on commit d8413c8

Please sign in to comment.