https://github.com/soujava/data-tck-proposal
The TCK proposal for Jakarta Data
https://github.com/soujava/data-tck-proposal
Last synced: 2 months ago
JSON representation
The TCK proposal for Jakarta Data
- Host: GitHub
- URL: https://github.com/soujava/data-tck-proposal
- Owner: soujava
- License: apache-2.0
- Created: 2023-05-06T04:07:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-08T17:55:13.000Z (over 2 years ago)
- Last Synced: 2025-01-27T10:45:05.624Z (11 months ago)
- Language: Java
- Size: 79.1 KB
- Stars: 0
- Watchers: 15
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= Data TCK Proposal
:toc: auto
The Jakarta Data project, a part of the Jakarta EE ecosystem, aims to simplify the development of data-centric applications by providing a standard API for accessing and manipulating data from various sources. As with any standard, the Jakarta Data project requires a Technology Compatibility Kit (TCK) to ensure compliance and interoperability among different implementations. This document presents a proposal for the Jakarta Data TCK, focusing on delegating Dependency Injection (DI) and annotations to the vendors.
== Instructions
=== 1 Include the dependency:
[source,xml]
----
br.org.soujava.jakarta
tck
${project.version}
test
----
=== 2 Implement both: the entity and the repository
This moment, be free to use either the entity's implementation annotation and the repository supplier.
[source,java]
----
//vendor annotations
public class BookAnyVendor implements Book {
}
@Repository
public interface Library extends CrudRepository {
}
----
=== 3 Implement the supplier
On this step implement the classes to create the entity and the DI engine.
[source,java]
----
public class BookVendorSupplier implements BookSupplier {
//implementation
}
public class DISupplier implements ContainerSupplier {
//implementation
}
----
=== 4 register SPI
Create the SPI to those suppliers.
=== 5 append tests on the maven project
Include these suppliers at the maven test:
[source,xml]
----
org.apache.maven.plugins
maven-surefire-plugin
${maven.surefire.plugin.version}
br.org.soujava.jakarta:tck
----
=== 6 run the tests
[source,shell]
----
mvn clean test
----