Skip to content
This repository has been archived by the owner on Mar 31, 2022. It is now read-only.

Commit

Permalink
release: v6.3.0 (#611)
Browse files Browse the repository at this point in the history
* fix: add null checking for object mappers

* docs: add contributor to README.md

* docs: update Camel documentation

* refactor: move update functionality to extension package

* fix: clean actuator info object + improve update checking

* refactor: clean up application.properties

* docs: update CHANGELOG.md

* refactor: rename RepoConfig to Repository and add attributes

* chore: add project details to /info endpoint

* chore: update camel information on actuator endpoint

* chore: remove root object

* docs: edit update.md

* fix: check input dates (closes #549)

* docs: update broken links (closes #599)

* docs: change order of sections

* docs: add guide for requesting an IDS certificate

* docs: update identityProvider.md

* docs: update CHANGELOG.md

* fix: rename extending class of CamelInfoContributor

* test: restructure update tests

* test: fix UpdateInfoContributorTest

* test: add CamelInfoContributorExtTest

* test: fix CamelInfoContributorExtTest

* test: add UpdateTypeTest

* docs: add missing license headers

* test: remove unchecked cast

* test: fix UpdateInfoServiceTest

* test: send request to mockwebserver in getLatestInformation_validRequest_returnFilledMap()

* docs: update openapi.yaml

* docs: close issue #553

* chore: increase versions

* docs: add missing images

* docs: fix broken links

* docs: update CHANGELOG.md

Co-authored-by: Pampus, Julia <[email protected]>
Co-authored-by: Ronja Quensel <[email protected]>
Co-authored-by: Julia Pampus <[email protected]>
Co-authored-by: vdakker <[email protected]>
  • Loading branch information
5 people authored Sep 30, 2021
1 parent 24195cf commit a71d738
Show file tree
Hide file tree
Showing 38 changed files with 3,148 additions and 2,655 deletions.
75 changes: 28 additions & 47 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# Changelog
All notable changes to this project will be documented in this file.

## [X.X.X] - XXXX-XX-XX
## [6.3.0] - 2021-30-09

### Added
- New `/actuator/info` API data `connector` to output the current version as well as information if a newer release is available on GitHub.
- Added `authenticationSet` as boolean indicator in output of configuration APIs whether authentication credentials for a proxy are present.
- Add `connector` object to `/actuator/info` endpoint to return available updates and further information.
- Add boolean `authenticationSet` to configuration entity as indicator for present proxy's authentication credentials.

### Fixed
- Fix self-reference of QueryInput in OpenApi schema.
- Fix global exceptionhandler intercepting checked exceptions.
- Fix self-reference of `QueryInput` in OpenApi schema.
- Fix global exception handler intercepting checked exceptions.
- Create Clearing House process before logging, so that consumer can log under same ID.
- When creating an artifact, check length of whole URL instead of just path.
- Use language code instead of language ID when creating TypedLiterals.
- Make SelfLinkHelper non-static, so that it can use Spring properties.
- Use only */data* and not request's context path as delimiter for determining additional path for data requests.
- Use language code instead of language ID when creating `TypedLiterals`.
- Make `SelfLinkHelper` non-static, so that it can use Spring properties.
- Use only `/data` and not the request's context path as delimiter for determining additional path for data requests.
- Create broker in database upon bootstrap start.

### Changed
Expand All @@ -34,16 +34,15 @@ All notable changes to this project will be documented in this file.
- Increase spring version from 2.5.4 to 2.5.5.
- Resolve spotbugs warnings.
- Increase pmd version from 6.38.0 to 6.39.0.
- Add additional representation for paymentMethod to GUI endpoint.
- Add additional representation for `paymentMethod` to GUI endpoint.

## [6.2.0] - 2021-09-01

### Added
- Add app, app store, and app endpoint entities to the data model.
- Provide REST endpoints for managing entities and its relations.
- Add REST endpoint for managing image/container deployment with Portainer.
- Add `POST api/ids/app` endpoint for downloading an IDS app's metadata and data from the IDS
AppStore.
- Add `POST api/ids/app` endpoint for downloading an IDS app's metadata and data from the IDS AppStore.

## [6.1.3] - 2021-08-27

Expand Down Expand Up @@ -79,10 +78,8 @@ All notable changes to this project will be documented in this file.
- Add property for specifying the path from which Camel routes are loaded.
* Defaults to the `camel-routes` directory in the `resources` folder.
* Allow changing Camel routes without recompilation if an external directory is used.
- Add `paymentModality` and `samples` to resource (for documentation, see
[here](https://international-data-spaces-association.github.io/DataspaceConnector/CommunicationGuide/v6/Provider#step-1-register-data-resources)).
- Add online status validator. Provides the possibility to set the connector `offline`. See how to
use this [here](https://international-data-spaces-association.github.io/DataspaceConnector/Deployment/Configuration#step-1-connector-properties).
- Add `paymentModality` and `samples` to resource (for documentation, see [here](https://international-data-spaces-association.github.io/DataspaceConnector/CommunicationGuide/v6/Provider#step-1-register-data-resources)).
- Add online status validator. Provides the possibility to set the connector `offline`. See how to use this [here](https://international-data-spaces-association.github.io/DataspaceConnector/Deployment/Configuration#step-1-connector-properties).
- Add `connectorId` to configuration entity.
- Add alias to keystore and truststore entities.
- Automatically notify subscribers on a local data update via `PUT /data`.
Expand All @@ -96,8 +93,7 @@ All notable changes to this project will be documented in this file.
- Increase checkstyle version from 8.44 to 8.45.1.
- Increase pmd version from 6.36.0 to 6.37.0.
- Increase camel version from 3.11.0 to 3.11.1.
- Return data with correct content-type in headers, if possible. Fallback stays
application/octet-stream.
- Return data with correct content-type in headers, if possible. Fallback stays application/octet-stream.
- Set default status in `config.json` to `CONNECTOR_ONLINE.`
- Increase equalsverifier from 3.7.0 to 3.7.1.

Expand All @@ -115,28 +111,24 @@ All notable changes to this project will be documented in this file.

### Added
- Provide REST endpoint for full-text search at the IDS Broker: `/ids/search`.
- Check if the issuer connector of an artifact request does correspond to the signed consumer of the
transfer contract.
- Check if the issuer connector of an artifact request does correspond to the signed consumer of the transfer contract.
- Integrate Camel-Spring-Boot version 3.10.0.
- Integrate [DSC Camel Instance repository](https://github.com/International-Data-Spaces-Association/DSC-Camel-Instance).
* Provide REST endpoints for adding and removing Camel routes and Spring beans at runtime.
- Send `ArtifactRequest` and `ArtifactResponse` messages to the Clearing House.
- Allow artifacts pointing to backend systems to be created with both BasicAuth and API key
authentication.
- Allow artifacts pointing to backend systems to be created with both BasicAuth and API key authentication.
- Integrate IDSCPv2 for IDS communication.
* Add property `idscp2.enabled` for enabling and disabling IDSCPv2 server. Is disabled by default.
* Add properties for configuring keystore and truststore for IDSCPv2.
* When enabling IDSCPv2, a valid IDS certificate is required!
- Implement subscription transfer pattern.
* Add user profile for apps/services with access to subscription REST endpoints.
* Allow subscriptions for offered & requested resources, representations, and artifacts via REST
endpoints.
* Allow subscriptions for offered & requested resources, representations, and artifacts via REST endpoints.
* Create `PUT /notify` endpoint to manually notify subscribers (ids & non-ids).
* Automatically notify subscribers on entity updates.
* Create REST endpoints for sending (un-)subscriptions via ids messages.
- Integrate [IDS ConfigManager repository](https://github.com/International-Data-Spaces-Association/IDS-ConfigurationManager).
* Extend data model and REST API by entities: auth, broker, configuration, datasource, endpoint,
keystore, proxy, route, and truststore.
* Extend data model and REST API by entities: auth, broker, configuration, datasource, endpoint, keystore, proxy, route, and truststore.
* Add Camel error handler for propagating errors in routes.
- Persist connector configuration to database.
* Load configuration from database.
Expand All @@ -145,12 +137,9 @@ All notable changes to this project will be documented in this file.

### Changed
- Replace IDS Connector Framework v5.0.4 by IDS Messaging Services v2.0.1.
- Edit response codes and response content for the following endpoints: `/ids/connector/unavailable`,
`/ids/connector/update`, `/ids/resource/unavailable`, `/ids/resource/update`, `/ids/query`.
- Move implementation for sending IDS query, connector, and resource messages to
`GlobalMessageService`.
- Handle DAT retrieving errors in `PRODUCTIVE_DEPLOYMENT` with status code 500 and a corresponding
message.
- Edit response codes and response content for the following endpoints: `/ids/connector/unavailable`, `/ids/connector/update`, `/ids/resource/unavailable`, `/ids/resource/update`, `/ids/query`.
- Move implementation for sending IDS query, connector, and resource messages to `GlobalMessageService`.
- Handle DAT retrieving errors in `PRODUCTIVE_DEPLOYMENT` with status code 500 and a corresponding message.
- Artifact PUT `/api/data` changed response code from Ok (200) to NoContent (204).
- Change naming of the resource's license attribute from `licence` to `license`.
- Change `AbstractEntity` to `Entity` and `NamedEntity`.
Expand All @@ -175,17 +164,14 @@ All notable changes to this project will be documented in this file.

### Added
- Add `BootstrapConfiguration`.
* Allow registering ids catalogs, offered resources, representations, artifacts, and contract
offers during start up.
* Allow registering ids catalogs, offered resources, representations, artifacts, and contract offers during start up.
* Allow registering offered resources as part of the catalogs to brokers.
- Add `CatalogTemplate` and matching mapping/build functions.
- Add a method to `AbstractIdsBuilder` that allows to create elements with a custom base URI.
- Add `bootstrap.path` to `application.properties` to define the base path where bootstrapping data
can be found.
- Add `bootstrap.path` to `application.properties` to define the base path where bootstrapping data can be found.

### Changed
- Change `ConnectorService` to use the connector's ID from `config.json` when
`getAllCatalogsWithOfferedResources` is called.
- Change `ConnectorService` to use the connector's ID from `config.json` when `getAllCatalogsWithOfferedResources` is called.

### Fixed
- Fixed missing IDS context in `/api/examples/policy`.
Expand Down Expand Up @@ -261,8 +247,7 @@ All notable changes to this project will be documented in this file.
- Set default application name to `Dataspace Connector` in `application.properties`.
- Add custom spring banner.
- Add separate controller methods for each IDS message type.
- Add global exception handlers for `ResourceNotFoundException`, `JsonProcessingException`, and any
`RuntimeException`.
- Add global exception handlers for `ResourceNotFoundException`, `JsonProcessingException`, and any `RuntimeException`.
- Add possibility to disable http tracer in `application.properties`.
- Add possibility to restrict depth of returned IDS information on `DescriptionRequest`.
* Change IDS self-description to returning only a list of catalogs instead of their whole content.
Expand All @@ -288,8 +273,7 @@ All notable changes to this project will be documented in this file.
- Move Swagger UI to `/api/docs`.
- Change response type from string to object.
- Use correct response codes as defined by RFC 7231.
- Replace old data model: catalogs, resources, representations, artifacts, contract, rules, and
agreements.
- Replace old data model: catalogs, resources, representations, artifacts, contract, rules, and agreements.
* Separate `ResourceRepresentation` into `Representation` and `Artifact`.
* Separate `ResourceContract` into `Contract` and `Rule`.
* Handle data in own database entity.
Expand All @@ -304,8 +288,7 @@ All notable changes to this project will be documented in this file.
* Controller methods for resources and representations.
* Provide strict access control to backend. Information can only be read and changed by services.
* Strict state validation for entities via factory classes.
- Change IDS messaging sequence: Start with `ContractRequestMessage` for automated
`DescriptionRequestMessage` and `ArtifactRequestMessage`.
- Change IDS messaging sequence: Start with `ContractRequestMessage` for automated `DescriptionRequestMessage` and `ArtifactRequestMessage`.
- Improve data transfer.
* Process bytes instead of strings.
* Remove limit for data in internal database.
Expand Down Expand Up @@ -355,8 +338,7 @@ All notable changes to this project will be documented in this file.
- Add data string as request body instead of request parameter.

### Fixed
- Exclusive use of the `ConfigurationContainer` for processing the connector's self-description and
configurations to avoid state errors (relevant for the broker communication).
- Exclusive use of the `ConfigurationContainer` for processing the connector's self-description and configurations to avoid state errors (relevant for the broker communication).

## [4.0.2] - 2021-02-04

Expand All @@ -365,8 +347,7 @@ All notable changes to this project will be documented in this file.

### Changed
- Answer with a `MessageProcessedNotificationMessage` to the consumer's `ContractAgreementMessage`.
- Save the `ContractAgreement` to the database and the Clearing House when the second
`AgreementMessage` has been processed.
- Save the `ContractAgreement` to the database and the Clearing House when the second `AgreementMessage` has been processed.
- Refine exception handling in the message building and sending process.
- Update from IDS Framework v4.0.2 to v4.0.3.

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ with significant contributions, comments, and support by (in alphabetical order)
* [Gökhan Kahriman](https://github.com/goekhanKahriman), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Haydar Qarawlus](https://github.com/hqarawlus), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Johannes Pieperbeck](https://github.com/jpieperbeck), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Omar Luiz Barreto Silva](https://github.com/ob-silva), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [René Brinkhege](https://github.com/renebrinkhege), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Steffen Biehs](https://github.com/steffen-biehs), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Tim Berthold](https://github.com/tmberthold), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
Expand Down
4 changes: 2 additions & 2 deletions charts/dataspace-connector/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.2
version: 0.2.3

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "6.2.0"
appVersion: "6.3.0"

dependencies:
- name: postgresql
Expand Down
Binary file added docs/assets/images/v6/swagger_app_download.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/v6/swagger_appstore_post.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/pages/communication.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: default
title: Communication Guide
nav_order: 6
nav_order: 7
description: ""
permalink: /CommunicationGuide
has_children: true
Expand Down
40 changes: 40 additions & 0 deletions docs/pages/communication/v6/camel.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,43 @@ route's end.
---

**Note**: In this case the URL specified for the generic endpoint will be called using HTTP POST.

## Deploying Camel routes from XML files

The API for deploying Camel routes from XML files, that was previously offered by the
[DSC Camel Instance](https://github.com/International-Data-Spaces-Association/DSC-Camel-Instance),
has been integrated into the Dataspace Connector, which now provides the following endpoints for
deploying and removing Camel routes and, if necessary, required beans:

* **POST /api/camel/routes** (*multipart/form-data* with part *file* for the XML file): add routes
* **DELETE /api/camel/routes/{route-id}**: remove route by ID
* **POST /api/beans** (*multipart/form-data* with part *file* for the XML file): add beans
* **DELETE /api/beans/{bean-id}**: remove bean by ID

The files sent to the application should have the following structures for routes and beans respectively:

```
<routes xmlns="http://camel.apache.org/schema/spring">
<route id="...">
...
</route>
</routes>
```

```
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="..." class="...">
...
</bean>
</beans>
```

More information and examples on XML Camel routes can be found in the *DSC Camel Instance* repository.
17 changes: 12 additions & 5 deletions docs/pages/communication/v6/ecosystem/appStore.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,35 @@ parent: IDS Ecosystem
grand_parent: Communication Guide
---

# IDS AppStore
# IDS App Store
{: .fs-9 }

This section provides a detailed guide on communication with the IDS AppStore.
{: .fs-6 .fw-300 }

---

The IDS AppStore is available at
The IDS App Store is available at
[https://binac.fit.fraunhofer.de/](https://binac.fit.fraunhofer.de/). It expects IDS
multipart messages at [https://binac.fit.fraunhofer.de/api/ids/data](https://binac.fit.fraunhofer.de/api/ids/data).
The GUI can be accessed at [https://binac.fit.fraunhofer.de/appstore/](https://binac.fit.fraunhofer.de/appstore/).
The access to all addresses is unrestricted.

The [repository](https://github.com/International-Data-Spaces-Association/IDS-AppStore)
is open source and can be accessed at GitHub. Further documentation about the IDS AppStore and IDS
apps in general can be seen [here](https://github.com/International-Data-Spaces-Association/IDS-G).
is open source and can be accessed at GitHub. Further documentation about the IDS App Store and IDS
apps in general can be seen
[here](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Components/AppStore/README.md).

The Dataspace Connector provides some endpoints to send IDS messages that can be processed by the
AppStore. A full flow of how to query the AppStore, download, and maintain an IDS App can be found
App Store. A full flow of how to query the App Store, download, and maintain an IDS App can be found
in the following.

## Prerequisites

Please ensure that your connector uses a valid IDS certificate. For this, take a look at
[these](../../../deployment/configuration.md#step-2-ids-certificate) configuration steps and
[this](identityProvider.md#aisec-daps-issuing-an-ids-certificate) guide for issuing a certificate.

## Step 1: Configuration

For managing and deploying images/containers via the provided API, Portainer has to run and be
Expand Down
8 changes: 7 additions & 1 deletion docs/pages/communication/v6/ecosystem/broker.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To get your IP address unblocked, please contact [us](mailto:info@dataspace-conn

The [repository](https://github.com/International-Data-Spaces-Association/metadata-broker-open-core)
is open source and can be accessed at GitHub. Further documentation about the IDS Metadata Broker
can be seen [here](https://github.com/International-Data-Spaces-Association/IDS-G/blob/master/core/MetaDataBroker/README.md).
can be seen [here](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Components/MetaDataBroker/README.md).

---

Expand Down Expand Up @@ -60,6 +60,12 @@ The recipient can be either a URL where the addressed Broker expects IDS message
brokers can be managed and persisted in the connector. So the broker can be referenced by its id
when sending messages. Therefore, follow these steps:

## Prerequisites

Please ensure that your connector uses a valid IDS certificate. For this, take a look at
[these](../../../deployment/configuration.md#step-2-ids-certificate) configuration steps and
[this](identityProvider.md#aisec-daps-issuing-an-ids-certificate) guide for issuing a certificate.

## Step 1: Create broker entity (optional)

First, create a broker via `POST /api/brokers`:
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/communication/v6/ecosystem/clearingHouse.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The Clearing House is available at [https://ch-ids.aisec.fraunhofer.de/](https:/
The repositories for [core](https://github.com/International-Data-Spaces-Association/ids-clearing-house-core)
and [service](https://github.com/International-Data-Spaces-Association/ids-clearing-house-service)
are open source and can be accessed at GitHub. Further documentation about the IDS Clearing House
can be seen [here](https://github.com/International-Data-Spaces-Association/IDS-G/blob/master/core/ClearingHouse/README.md).
can be seen [here](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Components/ClearingHouse/README.md).

The Dataspace Connector has local logging, that can be changed following
[these](../../../deployment/logging.md) steps. In addition, it logs some information to the Clearing
Expand Down
Loading

0 comments on commit a71d738

Please sign in to comment.