Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-14008

[fiware-stackoverflow] Non-Primitive Values from a Registered Content Provider are not showing a value

    Details

      Description

      Created question in FIWARE Q/A platform on 20-04-2018 at 17:04
      Please, ANSWER this question AT https://stackoverflow.com/questions/49945250/non-primitive-values-from-a-registered-content-provider-are-not-showing-a-value

      Question:
      Non-Primitive Values from a Registered Content Provider are not showing a value

      Description:
      I'm using the /v2/registrations endpoint to register a content provider with the legacyForwarding flag being set. Therefore my Content Provider is offering the v1/queryContext endpoint

      When I am returning a simple value (Integer, String etc.) such as a temperature the data is added to the context correctly:

      {
      "contextResponses": [
      {
      "contextElement": {
      "attributes": [

      { "name": "temperature", "type": "Number", "value": 27 }

      ],
      "id": "urn:ngsi-ld:Store:001",
      "isPattern": "false",
      "type": "Store"
      },
      "statusCode":

      { "code": "200", "reasonPhrase": "OK" }

      }
      ]
      }

      However when trying to return an array of strings as shown from a Context Provider.

      {
      "contextResponses": [
      {
      "contextElement": {
      "attributes": [

      { "name": "tweets", "type": "Array", "value": [ "String 1", "String 2" ] }

      ],
      "id": "urn:ngsi-ld:Store:002",
      "isPattern": "false",
      "type": "Store"
      },
      "statusCode":

      { "code": "200", "reasonPhrase": "OK" }

      }
      ]
      }

      I can see the request being sent in the log and I can retrieve the following entity:

      {
      "id": "urn:ngsi-ld:Store:002",
      "type": "Store",
      "address": {
      "type": "PostalAddress",
      "value": "",
      "metadata": {}
      },
      "location": {
      "type": "geo:json",
      "value": "",
      "metadata": {}
      },
      "name": {
      "type": "Text",
      "value": "Checkpoint Markt",
      "metadata": {}
      },
      "tweets": {
      "type": "Array",
      "value": "",
      "metadata": {}
      }
      }

      As you can see the "tweets" value is blank, but the attribute exists and the type has been successfully received.

      My question is how should I return an Array or an Object as a value from a Content Provider so that Orion is able to display the data received correctly?

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        4d 15h 40m 1 Jason Fox 25/Apr/18 9:46 AM
        In Progress In Progress Closed Closed
        2m 16s 1 Jason Fox 25/Apr/18 9:48 AM

          People

          • Assignee:
            jason.fox Jason Fox
            Reporter:
            backlogmanager Backlog Manager
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: