From a4662f421b88e6d68b82c68c73679ad4e29540f4 Mon Sep 17 00:00:00 2001 From: anmunoz Date: Mon, 5 Sep 2022 13:51:37 +0200 Subject: [PATCH] Add aliasses to create datastore --- .../ngsi/ngsi/backends/ckan/CKANBackend.java | 18 ++++++++++-------- .../ngsi/backends/ckan/model/DataStore.java | 3 +++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/CKANBackend.java b/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/CKANBackend.java index 8ef8f8b2..7d07a8b2 100755 --- a/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/CKANBackend.java +++ b/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/CKANBackend.java @@ -103,7 +103,7 @@ private String resourceLookupOrCreateDynamicFields(String orgName, String pkgNam cache.addRes(orgName, pkgName, resName); cache.setResId(orgName, pkgName, resName, resId); if(createDataStore){ - createDataStoreWithFields(resId,records); + createDataStoreWithFields(resId,resName,records); createView(resId); } return resId; @@ -123,7 +123,7 @@ private String resourceLookupOrCreateDynamicFields(String orgName, String pkgNam cache.addRes(orgName, pkgName, resName); cache.setResId(orgName, pkgName, resName, resId); if(createDataStore){ - createDataStoreWithFields(resId,records); + createDataStoreWithFields(resId,resName,records); createView(resId); } return resId; @@ -140,7 +140,7 @@ private String resourceLookupOrCreateDynamicFields(String orgName, String pkgNam cache.addRes(orgName, pkgName, resName); cache.setResId(orgName, pkgName, resName, resId); if(createDataStore){ - createDataStoreWithFields(resId,records); + createDataStoreWithFields(resId, resName, records); createView(resId); } return resId; @@ -169,7 +169,7 @@ private String resourceLookupOrCreate(String orgName, String pkgName, String res cache.addRes(orgName, pkgName, resName); cache.setResId(orgName, pkgName, resName, resId); if(createDataStore){ - createDataStore(resId); + createDataStore(resId, resName); createView(resId); } return resId; @@ -192,7 +192,7 @@ private String resourceLookupOrCreate(String orgName, String pkgName, String res cache.addRes(orgName, pkgName, resName); cache.setResId(orgName, pkgName, resName, resId); if(createDataStore){ - createDataStore(resId); + createDataStore(resId, resName); createView(resId); } return resId; @@ -212,7 +212,7 @@ private String resourceLookupOrCreate(String orgName, String pkgName, String res cache.addRes(orgName, pkgName, resName); cache.setResId(orgName, pkgName, resName, resId); if(createDataStore){ - createDataStore(resId); + createDataStore(resId, resName); createView(resId); } return resId; @@ -460,10 +460,11 @@ private String createResource(String resName, String pkgId, DCATMetadata dcatMet * @param resId Identifies the resource whose datastore is going to be created. * @throws Exception */ - private void createDataStore(String resId) throws Exception { + private void createDataStore(String resId, String resName) throws Exception { // create the CKAN request JSON // CKAN types reference: http://docs.ckan.org/en/ckan-2.2/datastore.html#valid-types String jsonString = "{ \"resource_id\": \"" + resId + + "\", \"aliases\": [\""+resName+"\"+ ]," + "\", \"fields\": [ " + "{ \"id\": \"" + NGSIConstants.RECV_TIME_TS + "\", \"type\": \"int\"}," + "{ \"id\": \"" + NGSIConstants.RECV_TIME + "\", \"type\": \"timestamp\"}," @@ -498,7 +499,7 @@ private void createDataStore(String resId) throws Exception { * @param records Array list with the attributes names for being used as fields with column mode * @throws Exception */ - private void createDataStoreWithFields(String resId, String records) throws Exception { + private void createDataStoreWithFields(String resId, String resName, String records) throws Exception { // create the CKAN request JSON // CKAN types reference: http://docs.ckan.org/en/ckan-2.2/datastore.html#valid-types org.json.JSONObject jsonContent = new org.json.JSONObject(records); @@ -521,6 +522,7 @@ private void createDataStoreWithFields(String resId, String records) throws Exce } dataStore.setResource_id(resId); + dataStore.setAliases(resName); dataStore.setFields(jsonArray); dataStore.setForce("true"); String jsonString = gson.toJson(dataStore); diff --git a/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/model/DataStore.java b/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/model/DataStore.java index bd48689d..4a2528d7 100644 --- a/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/model/DataStore.java +++ b/nifi-ngsi-bundle/nifi-ngsi-processors/src/main/java/org/apache/nifi/processors/ngsi/ngsi/backends/ckan/model/DataStore.java @@ -9,6 +9,7 @@ public class DataStore { private String resource_id; private ArrayList fields; private String force; + private String aliases; public DataStore(){} @@ -35,4 +36,6 @@ public String getForce() { public void setForce(String force) { this.force = force; } + + public void setAliases(String aliases) { this.aliases = aliases; } }