All notable changes to this project will be documented in this file.
- Add title and description to
AppView. - Add endpoint type to
AppEndpointView.
- 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
DatabaseDataSourceViewto display allDataSourcesin the same array. - Add missing semicolons in baseline.sql to comply with proper SQL syntax for flyway.
- Add custom view for
DatabaseDataSourceto 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-localdirectory 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.ymlandDockerfile. - Increase camel-idscp2 version from 0.6.0 to 0.9.1.
- Add
portainer.application.connector.networktoapplication.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 /dataendpoint 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
DataSourceDescfor typesRESTandDATABASEto allow adding database driver and URL. - Create datasource beans from
DataSourcesof typeDATABASEautomatically. - Add database migration feature.
- Offer possibility to migrate databases to
v7.0.0starting fromv5.0.0.
- Offer possibility to migrate databases to
- Add
portainer.application.schemetoapplication.properties.. Default is set tohttp.
- Change jdk version from 11 to 17.
- Change encoding of local data from
UTF-16toUTF-8. - Change relation between
RouteandArtifactto 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
locationofEndpointfrom URI to String. - Replace template engine
VelocitywithFreemarker. - Remove suffix settings from
ConfigurationDescattributes (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
Messagesto_Messaging. - Rename tag
CameltoRoutes (Apache Camel). - Rename tag
Connectorto_Connector. - Rename tag
Configurationsto_Configurations.
- Rename tag
- Create tag
_Utils.- Move
/api/examples/validationand/api/examples/policyto_Utils. - Move
/api/utils/enumto_Utils.
- Move
- Remove annotation
@hiddenfrom 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/negotiationand/api/configuration/patternto_Configurations.
- Rename tags.
- Change REST endpoints.
- PUT
/api/routes/{id}/endpoint/startexpects a URI instead of a UUID. - PUT
/api/routes/{id}/endpoint/endexpects a URI instead of a UUID. - Change
POST /api/configmanaer/enum/{enumName}toGET /api/utils/enumsand 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_PROFILEto the internal model. AddIDS_SECURITY_PROFILEfor the ids enum. - Change return value of
CONNECTOR_STATUSto the internal model. AddIDS_CONNECTOR_STATUSfor the ids enum.
- Add enum types
- Change
/api/configmanaer/route/errorto/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
typeinDataSourcetransient, as type information is persisted through thedtypecolumn created through the@Inheritanceannotation. - Rename param of
/describefromactionTypetotypeand change it to typeActionType. - Change strings of the following enums:
PolicyPattern: added strings.UsageControlFramework: e.g.INTERNALtoInternal.ActionType: e.g.STARTtoStart.EndpointType: e.g.APPtoApp.Event: e.g.UPDATEDtoUpdated.
- 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
SSLHandshakeExceptionscaused by PKIX errors. - Insert user input for
titleanddescriptionto example policies at/api/examples/policy. - Make
/databaseaccessible again. - Add class type check to rule comparison.
- Remove
@column(unique = true)fromAppStoreentity. - 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
ConnectorEndpointand 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=falsewill 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.propertiessettingconfiguration.force.reloadthat forces reloading the configuration from theconfig.jsoninstead 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
TransientObjectExceptionwhile updating an artifact. - Add default constructor to
ApiKeyclass, to avoidInstantiationException.
- Add
idsfield to/actuator/infoendpoint, 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::updateByteSizesetsbyteSizeandchecksumto 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.pathproperty.
- 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
maxDepthinIdsResourceBuilderwhen resolving samples to avoid possibleStackOverFlowError.
- Add
connectorobject to/actuator/infoendpoint to return available updates and further information. - Add boolean
authenticationSetto configuration entity as indicator for present proxy's authentication credentials.
- Add
ServiceResolverto 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
paymentMethodto GUI endpoint.
- Fix self-reference of
QueryInputin 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
SelfLinkHelpernon-static, so that it can use Spring properties. - Use only
/dataand 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/appendpoint 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
enabledto 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
paymentModalityenums to GUI controller.
- Remove ids endpoint definition from Bootstrapping files.
- Add value
securityprofileto GUI helper endpoint. - Add default
ids:depthtoDescriptionRequestMessage. - Add property for specifying the path from which Camel routes are loaded.
- Defaults to the
camel-routesdirectory in theresourcesfolder. - Allow changing Camel routes without recompilation if an external directory is used.
- Defaults to the
- Add
paymentModalityandsamplesto resource (for documentation, see here). - Add online status validator. Provides the possibility to set the connector
offline. See how to use this here. - Add
connectorIdto 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.jsontoCONNECTOR_ONLINE. - Increase equalsverifier from 3.7.0 to 3.7.1.
- Restrict access to POST/PUT/DELETE
{entity}/subscriptionsfor 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
connectorEndpointtodefaultEndpoint.
- 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
ArtifactRequestandArtifactResponsemessages 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.enabledfor 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 /notifyendpoint 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_DEPLOYMENTwith status code 500 and a corresponding message. - Artifact PUT
/api/datachanged response code from Ok (200) to NoContent (204). - Change naming of the resource's license attribute from
licencetolicense. - Change
AbstractEntitytoEntityandNamedEntity. - 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
CatalogTemplateand matching mapping/build functions. - Add a method to
AbstractIdsBuilderthat allows to create elements with a custom base URI. - Add
bootstrap.pathtoapplication.propertiesto define the base path where bootstrapping data can be found.
- Change
ConnectorServiceto use the connector's ID fromconfig.jsonwhengetAllCatalogsWithOfferedResourcesis 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}/dataandPOST **/artifacts/{id}/datawill 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 Connectorinapplication.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
DescriptionRequestMessagesfor 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
ResourceRepresentationintoRepresentationandArtifact. - Separate
ResourceContractintoContractandRule. - 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
BackendSourcetoArtifact.
- 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
ContractRequestMessagefor automatedDescriptionRequestMessageandArtifactRequestMessage. - Improve data transfer.
- Process bytes instead of strings.
- Remove limit for data in internal database.
- Establish connection via
ArtifactRequestMessagefor 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_USAGEon 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, andoriginalUUIDinRequestedResource. - 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
PolicyEnforcementandPolicyHandler. - 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
ConfigurationContainerfor 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
MessageProcessedNotificationMessageto the consumer'sContractAgreementMessage. - Save the
ContractAgreementto the database and the Clearing House when the secondAgreementMessagehas been processed. - Refine exception handling in the message building and sending process.
- Update from IDS Framework v4.0.2 to v4.0.3.
- Send
ContractAgreementMessageas 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
UUIDUtilsfor uuid handling. - Create
ControllerUtilsfor 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
systemfromBackendSourceasnametoResourceRepresentation. - Move attribute
sourceTypefromResourceRepresentationastypetoBackendSource. - Migrate
ResourceRepresentationto 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.mdand wiki. - Move code of conduct from
CONTRIBUTING.mdtoCODE_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.