How to use Wirecloud sth-source operator - fiware

I have found a STH-Comet wirecloud operator(https://github.com/wirecloud-fiware/sth-source-operator). Now how can i use this operator in my mashup and which operator/widget i have to use to provide it data.Also, in which widget i can use sth-comet output. I also have no idea of it's wiring.for e.g: it have a input endpoint i.e. Entity, how this Entity endpoint get data from my orion i mean which widget/operator i have to connect with it,s input endpoint to get input.Same with the output endpoint for e.g. it have 2 o/p endpoints i.e. Values,Timestamp in which widget/operator i can use these endpoint output.Is there any GUI wirecloud widget which can show my sth-comet output.Any help will be appreciated.

In general you need a operator to extract data from STH-Comet (that operator have the query to obtain the data), then connect this operator with a widget to show the data obtained.
In this case, I think that you can fill the operator's preferences, and keep empty the inputendpoint. In the preferences, "Entity" can be empty, only fill it if you want obtain data from a particular dispositive.
The outputs of this operator are the data obtained from STH, so you can connect these outputs with a widget for show the data (for example in a table), if you don't found the appropiate widget, you can make it.
You can see the config.xml of sth-source-operator in https://github.com/wirecloud-fiware/sth-source-operator/blob/develop/src/config.xml
I hope this help you!

Related

Jenkins API xpath like functionality for JSON

I am trying to use the jenkins API to retrieve a list of running jobs buildURLs and this works with this the query
https://jenkins.server.com/computer/api/xml?tree=computer[executors[currentExecutable[url]]]&depth=1&xpath=//url&wrapper=buildUrls
By searching for all executors on given jenkins server and then grabbing the urls and wrapping them in a xml buildUrls object
(what I actually want is a count of total running jobs but I can filter in api then get a .size of this once client side)
However the application I am uses only accepts json, although I could convert to json I am wondering if there is a way I can have this return a json object which contains just the buildUrls. Currently if I change return to json the xpath modification is removed (since its xml only)
And I instead get returned the list of all executors and their status
I think my answer lies within Tree but i cant seem to get the result I want
To return a JSON object you can modify the URL as below
http://jenkins.server.com/computer/api/json?tree=computer[executors[currentExecutable[url]]]&depth=1&pretty=true
It will not be possible to get only the build urls you need to iterate through all the executables to get the total running jobs. The reason is that build urls alone cannot give you information where it is running. Hence, unfortunately we need to iterate through each executor.
The output you will get is something like below.
Another way of doing this same thing is parsing via jobs
http://jenkins.server.com/api/json?tree=jobs[name,url,lastBuild[building,timestamp]]&pretty=true
You can check for building parameter. But here too you will not be able to filter output from url diretly in jenkins. Iteration would be required through each and every job.

Where I can find list of API Management logging fields

I configured APIM logger to EventHub using article
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs
In the example some of the fields are given viz.
DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress
I want to configure more like who is referrer, result, time etc.
Where I can find complete list of the fields?
Valid types allowed in policy expressions are listed here https://learn.microsoft.com/en-us/azure/api-management/api-management-policy-expressions.

PoI filter Data WireCloud

I'm using WireCloud, I'm trying to connect the output of a Map Viewer (PoI selected) to the input of a WebBrowser Widget (filter the PoI and get the URL of the image field). I saw some examples on the web doing it, but I'm not able to find the operator. Does anybody knows where can I get it?
Thanks a lot
We had custom operators for that tasks, and I've been cleaning and updating code to publish it as a new operator.
Such operator is called Value Filter, and you can find it on: https://github.com/Wirecloud/value-filter-operator
It does require a preference in dot-sepparated syntax as the path to the data you want to filter. It does receive a JSON object, extracts the path-addressed data and outputs it, so it can be instantiated in-line. In case original data is a POI, the path should be something like poi.data.something.
Best regards

How to use JSON API without document

This might be a weird question but I am open for all the suggestions.
The background is I want to use script to automatically deploy/remove docker container on Jelastic, but unfortunately this part is not well documented in Jelastic official API document. Jelastic provided me a piece of sample code demonstrated how to use bash to create a new environment with a new docker container but it is not enough, I still don't know how to create/remove docker container by looking at the sample code.
Since Jelastic is using standard JSON API, I am wondering is there any tool which can automatically retrieve/detect that the parameters I can use with Jelastic JSON API?
If you were me, how would you get over this if there is no document as reference?
I am keen to use Jelastic, but this issue stopped me from onboarding, many thanks.
J.
All the parameters that can be used with Jelastic JSON API are specified at http://docs.jelastic.com/api/ page.
To use JSON API without document I suggests to you check the Postman API tool https://www.getpostman.com/. This application allows you to see all the sent/received data and allows you to passes JSON values without any document or any additional actions.
Simplest scenario for beginners: Go to API docs, section Users>Authorization, using Signin method you should to obtain the session value, that is necessary almost for all further actions. Then you need to obtain information about environment, section Environment>Environment, at first you should to executes GetEnvs method, then using the application identifier of the environment that was obtained from the previous command you should to executes GetEnvInfo method. As a results of the described scenario you will get all parameters and values that can be used with Jelastic JSON API for certain type of the environment.

JBPM rest calls with JSON

We want to start a process in JBPM6 using the rest API. We need to pass an object as a process variable.
We know how to do it JAXB and the execute call. But we want to do it with JSON and /runtime/{deploymentId}/process/{processDefId}/start
Is it possible? we try and have no success.
I am not sure whether my answer exactly addresses the question. But for someones use in future I place couple of lines here.
If you want to set a process variable when starting a process using the RESTful API, you can do it like this.
If your variable name is myVar just add the value as a URL parameter by appending the phrase "map_" to the parameter name. It means the parameter name should now be map_myVar. For an example see below request.
http://<host>:<port>/jbpm-console/rest/runtime/{deploymentId}/process/{processDefId}/start?map_myVar=myValue
You can confirm whether the value is set by writing below code in a script task.
Object var = kcontext.getVariable("myVar");
System.out.println("myVar : " + var);
See the 17.1.1.3. Map query parameters section of JBPM6 documentation.
After talking to the dev that is responsible for the REST API. I was able to confirm how it works.
The
/runtime/{deploymentId}/process/{processDefId}/start
Is a POST request where all the contents in the payload are ignored. The variables are written as key=value in the GET string.
With deployment id: com.web:work:1.0
With processDefId: work.worload
2 variables: var1 and var2
For example:
/runtime/com.web:work:1.0/process/work.worload/start?var1=a&var2=b
I'm still after trying to understand how to define objects with the remote API.
Meanwhile, I also confirmed that it is impossible to define objects using this way. The only way to define objects is only by using the JaxB. This uses the "/execute" path