The PSE is a service used in the blueprint selection phase of DITAS. It's responsible for filtering and ranking the security and privacy properties of a blueprint.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Java JDK 8 or later
- Maven 3 or later
For installation you have two options, building and running it on your local machine or using the docker approach.
For local testing and building for that you can follow the following steps:
install dependencies (only needs to be done once):
mvn clean install
compile
mvn build
to run locally:
mvn spring-boot:run
Alternatively you can build the provided docker image:
docker build -t ditas/privacy-security-evaluator -f Dockerfile.artifact .
and run it:
docker run -p 8080:8080 ditas/privacy-security-evaluator
For testing you can use:
mvn test
We implemented three different Strategies to rank the incoming blueprints:
- real - ranks the bluprints on how good they fit the requirements
- hashBased - ranks the blueprints based on their hash value
- random - ranks the blueprints randomly
The default strategy is real
but for development you can change the profile in the resources/application.properties file.
Api Documentation
Version: 1.0
License: Apache 2.0
legacy-filter
evaluates a given blueprint request
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
input | body | input | No | Request |
Code | Description | Schema |
---|---|---|
200 | ranked blueprint metrics | BlueprintRanking |
400 | Request input did not match expected format or could not be ranked |
filter
evaluates a given blueprint request
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
input | body | input | Yes | Request |
Code | Description | Schema |
---|---|---|
200 | ranked blueprint metrics | BlueprintRanking |
400 | Request input did not match expected format or could not be ranked |
Name | Type | Description | Required |
---|---|---|---|
blueprint | Feature | No | |
score | double | No |
Name | Type | Description | Required |
---|---|---|---|
description | string | No | |
id | string | No | |
properties | object | No | |
type | string | No |
Name | Type | Description | Required |
---|---|---|---|
unit | string | No | |
value | object | No |
Name | Type | Description | Required |
---|---|---|---|
blueprintAttributes | [ Feature ] | No | |
requirement | Feature | No |
- Apache Maven 3
- jre 8
- Tomcat 8
- SpringBoot
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the Apache 2.0 - see the LICENSE.md file for details.
This is being developed for the DITAS Project.