Skip to content

Commit 50f044f

Browse files
committed
Updated BDR query #3169
1 parent 9b6463b commit 50f044f

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

grails-app/services/au/org/ala/merit/BdrService.groovy

+19-4
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ import com.azure.storage.blob.BlobContainerClient
99
import com.azure.storage.blob.BlobServiceClient
1010
import com.azure.storage.blob.BlobServiceClientBuilder
1111
import com.nimbusds.jwt.JWT
12+
import grails.converters.JSON
1213
import grails.core.GrailsApplication
1314
import groovy.util.logging.Slf4j
1415
import com.azure.identity.ClientAssertionCredential
16+
import net.sf.json.JSONArray
1517
import org.pac4j.oidc.profile.OidcProfile
1618
import software.amazon.awssdk.services.cognitoidentity.CognitoIdentityClient
1719
import software.amazon.awssdk.services.cognitoidentity.model.GetIdRequest
@@ -38,12 +40,15 @@ class BdrService {
3840
AccessTokenCache accessTokenCache
3941

4042
void downloadDataSet(String projectId, String dataSetId, String format, HttpServletResponse response) {
41-
String bdrBaseUrl = grailsApplication.config.getProperty('bdr.api.url')
43+
String azureToken = getAzureAccessToken()
4244

45+
String bdrBaseUrl = grailsApplication.config.getProperty('bdr.api.url')
4346
format = URLEncoder.encode(format, 'UTF-8')
44-
//String url = bdrBaseUrl+'/collections/ns3:'+projectId+'/items?_mediatype='+format
45-
String url = 'https://bdr.azure-api.net/merit/v2/catalogs/bdr-cat:merit-datasets/collections/bdr-ds:dabc7e5d-81ce-40bf-8f74-8ecf3c7ce055/features/collections'
46-
String azureToken = getAzureAccessToken()
47+
String url = bdrBaseUrl+'/cql?_mediatype='+format
48+
String query = (dataSetQuery(dataSetId) as JSON).toString()
49+
String encodedQuery = URLEncoder.encode(query, "UTF-8")
50+
51+
url+="&filter="+encodedQuery
4752

4853
log.info("Downloading data set from BDR: $url")
4954

@@ -83,6 +88,16 @@ class BdrService {
8388
accessToken.getToken()
8489
}
8590

91+
private Map dataSetQuery(String dataSetId) {
92+
Map query = [
93+
"op": "and",
94+
"args": [
95+
["op":"=","args":[["property":"nrm-submission"], dataSetId]],
96+
["op":"=","args":[["property":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"],"http://www.opengis.net/ont/geosparql#Feature"]]
97+
]
98+
]
99+
}
100+
86101

87102
String getTokenFromCognitoIdentityPool(String userToken) {
88103

0 commit comments

Comments
 (0)