more filtering of output - follow up to PR https://github.com/apache/brooklyn-server/pull/1389

Some tweaks:
* tidy name of methods and params - call it filterOutputFields instead of suppressOutput (to me, suppress hints at security)
* expose the capability on the generic resolver (used for some sensors, below)
* when doing the filter, don't bother if it's short/trivial, and if it's not a string include the type for info
* change implementation of filter to run even if suppress secrets is false
* (in UI, remove one redundant activities call)

And some additional restrictions:
* exclude detail from tasks when doing a recursive/children lookup
* filter output fields in tasks when detail is excluded
* filter output fields from children and recursive task requests by default
* filter output fields for selected sensors (name starts with "internal") when doing a batch read of sensors (this affects the workflow cache which contains all output)

Impact for a simple test is:
* 3 med size workflows - call to list - reduced from 126kb to 2kb
* recursive task call for the above - from 25k to 5k
* sensor batch read - from 120k to 2k
* details of 1 workflow - 42kb to access -> unchanged
5 files changed
tree: 1a15d3de6a06d67f32fb79589eb8e942866c328d
  1. api/
  2. camp/
  3. core/
  4. karaf/
  5. launcher/
  6. launcher-common/
  7. locations/
  8. logging/
  9. parent/
  10. policy/
  11. rest/
  12. server-cli/
  13. software/
  14. test-framework/
  15. test-support/
  16. utils/
  17. .gitattributes
  18. .gitignore
  19. DEPENDENCIES
  20. Dockerfile
  21. Jenkinsfile
  22. LICENSE
  23. NOTICE
  24. pom.xml
  25. README.md
README.md

Brooklyn

Apache Brooklyn Server Sub-Project

This repo contains the core elements to run a Brooklyn server, from the API and utils through to the core implementation and the REST server.

Building the project

Two methods are available to build this project: within a docker container or directly with maven.

Using docker

The project comes with a Dockerfile that contains everything you need to build this project. First, build the docker image:

docker build -t brooklyn:server .

Then run the build:

docker run -i --rm --name brooklyn-server -v ${HOME}/.m2:/root/.m2 -v ${PWD}:/usr/build -w /usr/build brooklyn:server mvn clean install

Using maven

Simply run:

mvn clean install