asterics / AsTeRICS

The Assistive Technology Rapid Integration & Construction Set
http://www.asterics.eu
Other
57 stars 27 forks source link

Add REST path for querying dynamic properties #308

Closed deinhofer closed 5 years ago

deinhofer commented 5 years ago

Provides support for a REST call, that returns a list of dynamic properties for a given plugin and property key combination.

The REST path

/runtime/model/components/{componentId}/properties/{componentKey}

This PR is related to the corresponding PR in the WebACS (https://github.com/asterics/WebACS/pull/36)

deinhofer commented 5 years ago

I think the REST path should be changed to

/runtime/model/components/
{componentId}/{componentKey}/dynamicproperty

Then it is the same as the path for fetching a static property value with a trailing path 'dynamicproperty'.

Otrher todos:

deinhofer commented 5 years ago

done

TODO

deinhofer commented 5 years ago

done

* renamed REST path for dynamic properties to `/runtime/model/components/ {componentId}/{propertyKey}/dynamicproperty`

* updated javascript client lib with function implementation

* updated Java client lib with function implementation

  * updated Java client test program
  * added build script to create asterics.are-REST-client.jar
  * fixed some demos

* update documentation:

  * Documentation/REST_API.doc/pdf
  * ARE_RestAPIlibraries/clientExample: add demo

TODO

* The REST function `/restfunctions` is not up2date as it uses a hardcoded list of RestFunction objects. This should be changed to automatically retrieve the existing functions using Reflection?
  or maybe we should skip the function??

* need to find a way to automatically document functions (JSDoc? Javadoc??), Editing REST_API.docx is very annoying and probably also not up2date!!

The REST function /restfunctions now uses Java Reflection to automatically create a list of REST functions at runtime. This way the list is always up2date. The function list is created by searching for public methods that have @Path and @GET|@PUT@POST@DELETE annotations in the classes RestServer.java and SseResource.java see this commit 0d9605ead

The files REST_API.doc|pdf will be removed in the future. Instead the generic contents will be put to asterics-docs