All notable changes to this project will be documented in this file.
- Update IDS messaging services version from 6.0.1 to 6.1.0.
- Set content type of payload when logging to the Clearing House, so that logged items are not encoded in the Clearing House's response to a query.
- Use connector fingerprints instead of IDs to create processes at the Clearing House.
- Add relation annotation to
DatabaseDataSourceView
to display allDataSources
in the same array. - Add missing semicolons in baseline.sql to comply with proper SQL syntax for flyway.
- Add custom view for
DatabaseDataSource
to display URL and driver class.
- Update swagger-annotations version from 1.6.4 to 1.6.5.
- Update postgresql version from 42.3.2 to 42.3.3.
This version is not available in the main
branch but in release/v7.0.1-ra
.
Details on how to run the DSC with remote attestation can be found here.
- Add
mvn-local
directory and allow the usage of locally published artifacts in thepom.xml
. - Add maven dependencies for velocity, idscp2-tpm2d, idscp2-cmc, grpc-netty, and netty.
- Add functionality to run the Connector with remote attestation.
- Update
.dockerignore
,docker-compose.yml
andDockerfile
. - Increase camel-idscp2 version from 0.6.0 to 0.9.1.
- Add
portainer.application.connector.network
toapplication.properties.
. Default is set tolocal
.
- Update equalsverifier version from 3.8.3 to 3.9.
- Update postgresql version from 42.3.1 to 42.3.2.
- Update flyway-core version from 8.4.3 to 8.4.4.
- Update pitest-maven version from 1.7.3 to 1.7.4.
- Update camel version from 3.14.1 to 3.15.0.
- Update springdoc.version from 1.6.5 to 1.6.6.
- Update maven-project-info-reports-plugin version from 3.1.2 to 3.2.1.
- Deployment of DataApps via Portainer.
- Escape data source URL before creating data source bean.
WARNING - MAJOR CHANGES: Before updating, please read this guide!
- Allow using route ID (URI) as access URL for artifacts.
- Allow using route ID (URI) as location for subscriptions.
- Allow specifying route IDs when calling
GET /data
endpoint to automatically dispatch data via these routes.- When a route is specified, requested data will not be persisted in the local database.
- Allow using API key authentication for
DataSource
. - Create sub-types for
DataSourceDesc
for typesREST
andDATABASE
to allow adding database driver and URL. - Create datasource beans from
DataSources
of typeDATABASE
automatically. - Add database migration feature.
- Offer possibility to migrate databases to
v7.0.0
starting fromv5.0.0
.
- Offer possibility to migrate databases to
- Add
portainer.application.scheme
toapplication.properties.
. Default is set tohttp
.
- Change jdk version from 11 to 17.
- Change encoding of local data from
UTF-16
toUTF-8
. - Change relation between
Route
andArtifact
to one-to-one (previously one-to-many).- Link is created automatically when an artifact is created with a route reference as access URL.
- Change field
location
ofEndpoint
from URI to String. - Replace template engine
Velocity
withFreemarker
. - Remove suffix settings from
ConfigurationDesc
attributes (truststore
,proxy
,keystore
). - Log header and payload of sent message in
AbstractMessageService
. - Ignore IDS InfoModel version incompatibility for incoming messages. Add log message level warn.
- Rearrange Swagger UI.
- Rename tags.
- Rename tag
Messages
to_Messaging
. - Rename tag
Camel
toRoutes (Apache Camel)
. - Rename tag
Connector
to_Connector
. - Rename tag
Configurations
to_Configurations
.
- Rename tag
- Create tag
_Utils
.- Move
/api/examples/validation
and/api/examples/policy
to_Utils
. - Move
/api/utils/enum
to_Utils
.
- Move
- Remove annotation
@hidden
from the following REST endpoints:/api
/api/beans
/api/beans/{beanId}
/api/camel/routes
/api/camel/routes/{routeId}
/api/camel/routes/error
- Move contract agreement endpoints to
Contracts
. - Move
/api/configuration/negotiation
and/api/configuration/pattern
to_Configurations
.
- Rename tags.
- Change REST endpoints.
- PUT
/api/routes/{id}/endpoint/start
expects a URI instead of a UUID. - PUT
/api/routes/{id}/endpoint/end
expects a URI instead of a UUID. - Change
POST /api/configmanaer/enum/{enumName}
toGET /api/utils/enums
and change it to return all types within one call.- Add enum types
POLICY_PATTERN
,UPDATE_TYPE
,ENDPOINT_TYPE
,EVENT_TYPE
,ERROR_MESSAGE
,USAGE_CONTROL_FRAMEWORK
,ACTION_TYPE
, andDATA_SOURCE_TYPE
. - Change return value of
SECURITY_PROFILE
to the internal model. AddIDS_SECURITY_PROFILE
for the ids enum. - Change return value of
CONNECTOR_STATUS
to the internal model. AddIDS_CONNECTOR_STATUS
for the ids enum.
- Add enum types
- Change
/api/configmanaer/route/error
to/api/camel/routes/error
.
- PUT
- Change response bodies to JSON objects for the following REST endpoints:
/api/routes/{id}/endpoint/start
/api/routes/{id}/endpoint/end
/api/examples/validation
/api/examples/policy
/api/ids/app/actions
/api/routes/{id}/endpoint/start
/api/routes/{id}/endpoint/end
/api/beans
/api/beans/{beanId}
/api/camel/routes
/api/camel/routes/{routeId}
- Of every endpoint that builds an error response with
ResponseUtils
.
- Add correct content type to the following endpoints:
/api/notify
/api/configurations/{id}/active
/api/ids/app
/api/examples/validation
/api/examples/policy
- Make field
type
inDataSource
transient, as type information is persisted through thedtype
column created through the@Inheritance
annotation. - Rename param of
/describe
fromactionType
totype
and change it to typeActionType
. - Change strings of the following enums:
PolicyPattern
: added strings.UsageControlFramework
: e.g.INTERNAL
toInternal
.ActionType
: e.g.START
toStart
.EndpointType
: e.g.APP
toApp
.Event
: e.g.UPDATED
toUpdated
.
- Update dependencies.
- Increase camel version from 3.12.0 to 3.14.1.
- Increase spring-boot-starter-parent version from 2.5.6 to 2.6.3.
- Increase spotbugs version from 4.4.2 to 4.5.3.
- Increase okhttp version from 4.9.2 to 4.9.3.
- Increase checkstyle version from 9.1 to 9.3.
- Increase pmd version from 6.40.0 to 6.42.0.
- Increase springdoc version from 1.5.3 to 1.6.5.
- Increase modelmapper version from 2.4.4 to 3.0.0.
- Increase equalsverifier version from 3.7.2 to 3.8.3.
- Increase log4j2 version from 2.14.0 to 2.17.1.
- Increase dependency-check-maven from 6.5.0 to 6.5.3.
- Increase maven-site-plugin version from 3.9.1 to 3.10.0.
- Increase protobuf version from 3.15.5 to 3.19.4.
- Increase jackson version from 2.13.0 to 2.13.1.
- Increase swagger-annotations version from 1.6.3 to 1.6.4.
- Increase messaging services version from 5.1.1 to 6.0.1.
- Increase maven-plugin version from 2.8.1 to 2.9.0.
- Increase taglist-maven-plugin version from 2.4 to 3.0.0.
- XML-escape URLs before injecting them into Camel route templates.
- Add exception handling for
SSLHandshakeExceptions
caused by PKIX errors. - Insert user input for
title
anddescription
to example policies at/api/examples/policy
. - Make
/database
accessible again. - Add class type check to rule comparison.
- Remove
@column(unique = true)
fromAppStore
entity. - Keep keystore settings for active config if not present in the updated one.
- Add missing brackets to Camel route templates, so that properties get inserted correctly.
- Remove entity
ConnectorEndpoint
and all corresponding classes.
- Increase log4j2 version from 2.16.0 to 2.17.1.
- Increase log4j2 version to 2.16.0.
- Change base image from debian 10 to 11.
- Increase checkstyle version from 9.0.1 to 9.1.
- Increase postgresql version from 42.3.0 to 42.3.1.
- Increase pmd version from 6.39.0 to 6.40.0.
- Increase pitest-maven version from 1.7.2 to 1.7.3.
- Increase dependency-check-maven version from 6.4.1 to 6.5.0.
- Setting
spring.security.enabled=false
will disable BasicAuth and other security checks. - Always use default base URL when creating self-links.
- Check if dat is null before building an ids message. Remove stack trace, only log the error message.
- New
application.properties
settingconfiguration.force.reload
that forces reloading the configuration from theconfig.json
instead of using the latest active configuration from the database. If not set, the default value isfalse
.
- Increase spring version from 2.5.5 to 2.5.6.
- Increase messaging services version from 5.0.1 to 5.1.1.
- Only create agreements from contract offers with valid start and end date.
- Check if agreement has expired before returning data.
- Fix
TransientObjectException
while updating an artifact. - Add default constructor to
ApiKey
class, to avoidInstantiationException
.
- Add
ids
field to/actuator/info
endpoint, to monitor the connectors certificate expiration status and DAT infos (if one can be received).
- Increase description column length to 4096.
- Increase
BasicAuth
(username, password) andApiKey
(key, value) column length to 2048. - Increase dependency-check-maven version from 6.3.1 to 6.4.1.
- Increase pitest version from 1.7.1 to 1.7.2.
- Increase spotbugs version from 4.4.1 to 4.4.2.
- Increase equalsverifier version from 3.7.1 to 3.7.2.
- Increase postgresql version from 42.2.24 to 42.3.0.
- Increase springdoc version from 1.5.11 to 1.5.12.
- Increase camel-idscp2 version from 0.5.0 to 0.6.0.
ArtifactFactory::updateByteSize
setsbyteSize
andchecksum
to 0 when data is removed.- Add nullcheck to
ArtifactService::toInputStream
. - Check if representations are null or empty in
getMediaTypeOfArtifact
. - Data to be deleted from a consumed artifact, if necessary, is now deleted only once and not with each scheduler call.
- Fix collisions in bootstrapping process setting a unique path for the
bootstrap.path
property.
- Increase pitest-maven version from 1.7.0 to 1.7.1.
- Increase swagger-annotations version from 1.6.2 to 1.6.3.
- Increase dependency-check-maven version from 6.3.1 to 6.3.2.
- Increase jackson version from 2.12.5 to 2.13.0.
- Increase checkstyle version from 9.0.0 to 9.0.1.
- Increase okhttp version from 4.9.1 to 4.9.2.
- Increase springdoc version from 1.5.10 to 1.5.11.
- Increase camel version from 3.11.2 to 3.12.0.
- Check for
maxDepth
inIdsResourceBuilder
when resolving samples to avoid possibleStackOverFlowError
.
- 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.
- Add
ServiceResolver
to remove some Spring annotations from service classes. - Refactor and speed up tests.
- Increase checkstyle version from 8.45.1 to 9.0.0.
- Increase pmd version from 6.37.0 to 6.38.0.
- Increase IDS messaging services version from 4.2.2 to 5.0.1.
- Increase pitest version from 1.69.0 to 1.70.0.
- Increase dependency-check-maven version from 6.2.2 to 6.3.1.
- Increase maven-javadoc-plugin version from 3.3.0 to 3.3.1.
- Increase pmd-maven-plugin version from 3.14.0 to 3.15.0.
- Increase camel version from 3.11.1 to 3.11.2.
- Increase pitest-junit-plugin version from 0.14 to 0.15.
- Increase spotbugs version from 4.3.0 to 4.4.1.
- Increase postgresql version from 42.2.23 to 42.2.24.
- 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.
- 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 the request's context path as delimiter for determining additional path for data requests. - Create broker in database upon bootstrap start.
- 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.
- Increase spring-boot-starter-parent version from 2.5.3 to 2.5.4
- Increase jackson version from 2.12.4 to 2.12.5.
- Increase IDS messaging services version from 3.1.0 to 4.2.2.
- Set whitelabel error page default value to
enabled
to remove thrown ServletException. - Fix connector id mapping from IDS object and to IDS object.
- Set meaningful default values for mandatory attributes of
ids:ConfigurationModel
. - Restrict access to non-functional POST/PUT/DELETE endpoints from contract-request-controllers.
- Add null checking to object mappers.
- Add
paymentModality
enums to GUI controller.
- Remove ids endpoint definition from Bootstrapping files.
- Add value
securityprofile
to GUI helper endpoint. - Add default
ids:depth
toDescriptionRequestMessage
. - Add property for specifying the path from which Camel routes are loaded.
- Defaults to the
camel-routes
directory in theresources
folder. - Allow changing Camel routes without recompilation if an external directory is used.
- Defaults to the
- Add
paymentModality
andsamples
to resource (for documentation, see here). - Add online status validator. Provides the possibility to set the connector
offline
. See how to use this here. - Add
connectorId
to configuration entity. - Add alias to keystore and truststore entities.
- Automatically notify subscribers on a local data update via
PUT /data
.
- Increase pitest version from 1.6.7 to 1.6.9.
- Use XML DSL instead of Java DSL for definition of Camel routes.
- Dropping jsonld dependency.
- Increase maven-enforcer-plugin version from 3.0.0-M3 to 3.0.0.
- Increase springdoc version from 1.5.9 to 1.5.10.
- 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.
- Set default status in
config.json
toCONNECTOR_ONLINE.
- Increase equalsverifier from 3.7.0 to 3.7.1.
- Restrict access to POST/PUT/DELETE
{entity}/subscriptions
for artifacts and representations. - Restrict access to POST/PUT/DELETE
offers/{id}/brokers
. - Fix eager service loading causing "Bean not eligable for..." messages.
- Make configuration attributes read-only: inbound model versions, security profile.
- Remove error path from
application.properties
. - Set correct default properties for new configurations.
- Fix persistence errors for configurations.
- Rename
connectorEndpoint
todefaultEndpoint
.
- 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.
- Integrate Camel-Spring-Boot version 3.10.0.
- Integrate DSC Camel Instance repository.
- Provide REST endpoints for adding and removing Camel routes and Spring beans at runtime.
- Send
ArtifactRequest
andArtifactResponse
messages to the Clearing House. - 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!
- Add property
- 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.
- 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.
- 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.
- Choose active configuration from list of configurations.
- Add policy pattern for security profile restricted data usage.
- 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. - Artifact PUT
/api/data
changed response code from Ok (200) to NoContent (204). - Change naming of the resource's license attribute from
licence
tolicense
. - Change
AbstractEntity
toEntity
andNamedEntity
. - Refactor message handlers using Camel routes.
- Increase postgres version to 42.2.23.
- Increase jackson version to 2.12.4.
- Increase equalsverifier from 3.6.1 to 3.7.0.
- Increase spotbugs from 4.2.3 to 4.3.0.
- Increase spring version from 2.5.2 to 2.5.3.
- Increase spring-boot version to 2.5.2.
- Increase checkstyle version to 8.44.
- Increase pmd version to 6.36.0.
- Make bootstrapping feature optional. It can be enabled in the
application.properties
.
- Add
BootstrapConfiguration
.- 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
toapplication.properties
to define the base path where bootstrapping data can be found.
- Change
ConnectorService
to use the connector's ID fromconfig.json
whengetAllCatalogsWithOfferedResources
is called. - Increase IDS Framework version to 5.0.4.
- Update default Infomodel version to 4.0.10.
- Increase postgres version to 42.2.22.
- Fixed missing IDS context in
/api/examples/policy
. - Disable autocommit on database transactions.
- Remove encoding from optional path segment in
HttpService
.
- Increase postgresql version to 42.2.21.
- Increase spring-boot version to 2.5.1.
- Fixed deletion of artifact data before the set time.
- Fixed tags with different descriptions in openapi schema.
- Fixed missing paging information in openapi schema.
- Add missing hateoas information in openapi schema.
- Add telemetry collection via Jaeger.
- Replace deprecated JPA calls (
getOne
->getById
). - Increase length restriction for URIs in database columns to 2048.
- Increase modelmapper version to 2.4.4.
- Increase equalsverifier version to 3.6.1.
- Increase spring-openApi-security version to 1.5.9.
- Increase spring-openapi-ui version to 1.5.9.
- Increase maven-javadoc-plugin version to 3.3.0.
- Increase spring-boot version to 2.5.0.
- Increase checkstyle version to 8.43.
- Increase pmd version to 6.35.0.
- Increase pitest version from 1.6.6 to 1.6.7.
- Representations have now only one self-link.
- Set Basic Auth Header on (provider) backend calls.
- Ignore empty extension
/**
onGET **/artifacts/{id}/data/**
. GET **/artifacts/{id}/data
andPOST **/artifacts/{id}/data
will now return the same output.
- Make the Clearing House url setting optional in
application.properties
.
- Persist URIs as strings in database.
- H2 does not persist database to files.
- Change additional list mapping for received attribute list with a single item.
- Disable unused rolling file appender in
log4j2.xml
.
- Partially support of HATEOAS.
- Add pagination for REST calls on resources.
- Integration and configuration of Jaeger for using open telemetry.
- Set default application name to
Dataspace Connector
inapplication.properties
. - Add custom spring banner.
- Add separate controller methods for each IDS message type.
- Add global exception handlers for
ResourceNotFoundException
,JsonProcessingException
, and anyRuntimeException
. - 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.
- Add possibility to send
DescriptionRequestMessages
for other elements than resources.
- Add remote IDs to each object for tracking origin.
- Support multiple policy patterns in one contract.
- Add Unit tests and integration tests.
- Add quality checks and project reports to
pom.xml
: execute withmvn verify site
. - Improve contract negotiation and usage control.
- Add contract agreement validation in
ContractAgreementHandler
. - Note pre-defined providers for contract offers in
ContractRequestHandler
. - Use contract agreements for policy enforcement.
- Handle out contract agreements for multiple artifacts (targets) within one negotiation sequence.
- Restrict agreement processing to confirmed agreements.
- Add relation between artifacts and agreements.
- Add contract agreement validation in
- Add possibility to subscribe backend URLs for updates to a requested resource.
- Support of IDS Infomodel v4.0.4 (direct import in
pom.xml
). - Change IDS Framework version to v4.0.7.
- Http tracer is limited to 10000 characters per log line.
- Log file creation is disabled by default.
- 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.
- Separate
ResourceRepresentation
intoRepresentation
andArtifact
. - Separate
ResourceContract
intoContract
andRule
. - Handle data in own database entity.
- Separate management of resources and its relations.
- Define clear interfaces between data model and the IDS Infomodel objects.
- Add IDS object builder classes.
- Build ids:Resource only if at least 1 representation and 1 contract is present.
- Build ids:Representation only if at least 1 artifact is present.
- Build ids:ContractOffer only if at least 1 rule is present.
- Move remote information from
BackendSource
toArtifact
.
- Separate
- Strict implementation of model view controller pattern for data management.
- 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 automatedDescriptionRequestMessage
andArtifactRequestMessage
. - Improve data transfer.
- Process bytes instead of strings.
- Remove limit for data in internal database.
- Establish connection via
ArtifactRequestMessage
for always pulling recent data.
- Fix of buffer overflow in http tracer.
- Make message handler stateless.
- Prevent leaking of technology stack in case of errors/exceptions.
- Logger sanitizes inputs to prevent CRLF injections.
- Mass Bindings.
- Timezone independence.
- Set builder image to JDK 11.
- Configure timeout values for http connections via
application.properties
.
- New policy pattern: connector-restricted data usage.
- Validate
CONNECTOR_RESTRICTED_USAGE
on data request (as a provider).
- Handle
ResourceUpdateMessage
: Update the local copy of resource upon receiving aResourceUpdateMessage
. - Add attribute for endpoint documentation reference to
ResourceMetadata
. - Store
ownerURI
,contractID
,artifactID
, andoriginalUUID
inRequestedResource
. - Add support for query params, path variables, and additional headers when requesting artifacts.
- Add input validation for query params, path variables, and headers.
- Add usage control framework checking to the classes
PolicyEnforcement
andPolicyHandler
. - Add example files for deployment in Kubernetes.
- Configure Spring to fail on unknown properties in request bodies.
- Move settings for policy negotiation and allowing unsupported patterns to
application.properties
. - Refactor HttpUtils to use the IDS Framework's
HttpService
. - Add data string as request body instead of request parameter.
- Exclusive use of the
ConfigurationContainer
for processing the connector's self-description and configurations to avoid state errors (relevant for the broker communication).
- Add message handler for
ContractAgreementMessage
.
- Answer with a
MessageProcessedNotificationMessage
to the consumer'sContractAgreementMessage
. - Save the
ContractAgreement
to the database and the Clearing House when the secondAgreementMessage
has been processed. - Refine exception handling in the message building and sending process.
- Update from IDS Framework v4.0.2 to v4.0.3.
- Send
ContractAgreementMessage
as request message.
- Update from IDS Framework v4.0.1 to v4.0.2.
- Add public endpoint for self-description without resource catalog and public key.
- Add example endpoints.
- Add exceptions and detailed exception handling.
- Create
UUIDUtils
for uuid handling. - Create
ControllerUtils
for http responses. - Add endpoints for contract negotiation.
- Add http tracing and improved logging.
- Add custom profiles for Maven.
- Add negotiation service.
- Add Spring actuators.
- Add contract agreement repository.
- Change object handling and model classes.
- Move attribute
system
fromBackendSource
asname
toResourceRepresentation
. - Move attribute
sourceType
fromResourceRepresentation
astype
toBackendSource
. - Migrate
ResourceRepresentation
to map.
- Move attribute
- Remove requested resource list from description response.
- Rename broker communication and self-description endpoints.
- Improve exception handling.
- Improve message handler and sending request messages in
de.fraunhofer.isst.dataspaceconnector.services.messages
. - Change package structure.
- Add abstract class to resource service implementations.
- Edit policy handler.
- Improve
pom.xml
. - Remove local caching of ids resources.
- Update to IDS Framework v4.0.1.
- Restructure
README.md
and wiki. - Move code of conduct from
CONTRIBUTING.md
toCODE_OF_CONDUCT.md
. - Add response code annotations to endpoint methods.
- Change http response formatting.
- Replace Log4j1 with Log4j2.
- Update connector of configuration container before sending a broker message.
- Enforce access counter usage by moving it to an isolated method.
- Update and delete resources from broker.
- Add configuration controller for GET and PUT configuration model.
- Add possibility to set a resource id on create.
- Add possibility to set a representation id on create.
- Add a description of how the internal database can be replaced by another.
- Add .dockerignore file.
- Update to IDS framework v3.2.3.
- Move self-service and example endpoints to admin API.
- Improve Dockerfile.
- Add key- and truststore to example configuration.
- Add default policy (provide access) to resource on creation.
- Add representation.
- Fix token error in test classes.
- Fix file path in packaged jar.
- Autowire ConfigurationContainer in constructor to instantiate Connector, KeyStoreManager or ConfigurationModel (previously directly autowired).
- Add ClientProvider field to all classes using an OkHttpClient (create instance in constructor from autowired ConfigurationContainer) & replace calls to IDSUtils.getClient() with clientProvider.getClient().
- Add file URI scheme to paths of KeyStore and TrustStore in config.json.
- Add test classes: SelfDescriptionTest, RequestDescriptionTest, RequestArtifactTest, DescriptionRequestMessageHandlingTest, ArtifactRequestMessageHandlingTest.
- Change call to BrokerService constructor (parameters changed) in BrokerController.
- Change call to IDSHttpService constructor (parameters changed) in ConnectorRequestServiceImpl.
- Replace ConfigProducer with ConfigurationContainer in IdsUtils, MainController and DescriptionMessageHandler.
- IDS Connector certificate file.
- Detailed Javadoc.
- Endpoint for example usage policies.
- Create NotificationMessageHandler for incoming notification messages. (TODO: not yet working, due to a pending IDS Framework update)
- Integrate IDS policy language.
- Modify policy patterns.
- Adapt policy reader to new policy language.
- Adapt usage control implementation to new patterns.
- Old ODRL and policy resource examples.
- Custom ODRL model.
- Remove external backend application from test setups.
- Update to Information Model v4.0.0.
- Update to Framework v3.1.0.
- Replace config.yaml with config.json.
- Redesign resource model.
- Add representations and multiple source types.
- Distinguish between offered and requested resources in two separate database tables.
- Redesign connector open API.
- Add contract endpoints.
- Add representation endpoints.
- Request data by resource id and endpoint id.
- Removed parameters from connector requests.
- Add two separated resource services.
- Keep the self-description up to data at runtime with every resource change.
- Move the automated policy check to a separate policy enforcement class.
- Improve the requested metadata and data deserializing and saving.
- Improve http utils.
- Improve message handler.
- Return description in IDS format with an odrl usage policy as property.
- Request a specific artifact instead of a data resource.
- Remove IDS configmodel.
- Remove unused communication service classes.
- Remove token service classes.
- Remove ISST private repository and settings.
- Add public ISST repository.
- Add DAT request every hour.
- Add RequestMessageServiceUtils class for response handling.
- Add operator check on COUNT_ACCESS.
- Add h2 remote access.
- Add NO_POLICY pattern.
- Add prohibition of requested metadata update for data consumer.
- Change odrl model (minimize).
- Changed requested metadata + data saving.
- Fix DescriptionMessageHandler policy check.
- Fix request DAT from DAPS.
- Add data resource values: created, internal.
- Add odrl policy model.
- Add example odrl policies.
- Add requested resource (resourceMetadata + data) saving.
- Add policy pattern recognition: PROVIDE_ACCESS, TIME_INTERVAL, INHIBIT_ACCESS, LOG_ACCESS, COUNT_ACCESS, DELETE_AFTER (duration/date).
- Add usage control implementation as data provider: at artifact message handler (PROVIDE_ACCESS, TIME_INTERVAL, INHIBIT_ACCESS).
- Add usage control implementation as data consumer: at data access (TIME_INTERVAL, LOG_ACCESS, COUNT_ACCESS).
- Add automated usage control implementation as data consumer: COUNT_ACCESS, DELETE_AFTER (duration/date).
- Change data resource model: separated uuid and uri from resourceMetadata.
- Add connection to external data resource HTTP API.
- Add connection to external data resource HTTP API with basic auth.
- Change naming to Dataspace Connector.
- Change DescriptionRequestHandler to return IDS metainformation.
- Setup a basic Spring Boot application.
- Integrate the IDS Framework v2.0.12 and Infomodel v3.1.0.
- Provide REST endpoints for resource handling and IDS communication.
- Add a H2 database for saving resources (data & resourceMetadata).
- Provide a documentation for setting up the application with Maven and Docker.
- Add message handling for incoming ArtifactRequestMessages and DescriptionRequestMessages.
- Add IDS Broker communication (register, unregister, update, query).
- Setup a Swagger UI.
- Add basic authentication for the backend API.
- Add proxy and certification basic setup.
- Provide an example Postman collection.