Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.

Commit

Permalink
Merge pull request #3 from Quee-io/2-add-usecase-request-and-response…
Browse files Browse the repository at this point in the history
…-adapter

add usecase request and response adapter
  • Loading branch information
ibm-iloom committed Nov 7, 2020
2 parents f23dbd4 + 6e53866 commit aad33eb
Show file tree
Hide file tree
Showing 27 changed files with 114 additions and 24 deletions.
2 changes: 1 addition & 1 deletion ktx-radix-adapter/ktx-radix-adapter-shared/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-adapter</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-adapter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-dependencies/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-development/ktx-radix-development-shared/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-development/ktx-radix-development-store/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>ktx-radix-development-usecase-adapter</artifactId>
<dependencies>
<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>ktx-radix-development-usecase</artifactId>
<version>${project.parent.version}</version>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.quee.ktx.radix.develop.usecase.adapter

import io.quee.ktx.radix.develop.usecase.model.UseCaseRequest

/**
* Created By [*Ibrahim AlTamimi *](https://www.linkedin.com/in/iloom/)
* Created At 07, **Sat Nov, 2020**
* Project **ktx-radix** [Quee.IO](https://quee.io)
*/
data class RequestAdapter<R>(
val request: R
) : UseCaseRequest
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.quee.ktx.radix.develop.usecase.adapter

import io.quee.ktx.radix.develop.usecase.model.UseCaseResponse

/**
* Created By [*Ibrahim AlTamimi *](https://www.linkedin.com/in/iloom/)
* Created At 07, **Sat Nov, 2020**
* Project **ktx-radix** [Quee.IO](https://quee.io)
*/
data class ResponseAdapter<R>(
val response: R
) : UseCaseResponse
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package io.quee.ktx.radix.develop.usecase.adapter

import io.quee.ktx.radix.develop.usecase.*
import io.quee.ktx.radix.develop.usecase.factory.UseCaseFactory
import io.quee.ktx.radix.develop.usecase.model.UseCaseRequest
import io.quee.ktx.radix.develop.usecase.model.UseCaseResponse

/**
* Created By [*Ibrahim AlTamimi *](https://www.linkedin.com/in/iloom/)
* Created At 07, **Sat Nov, 2020**
* Project **ktx-radix** [Quee.IO](https://quee.io)
*/
infix fun <RQ, RS> FunctionalUseCase<RequestAdapter<RQ>, ResponseAdapter<RS>>.adapterProcess(request: RQ) =
(this process RequestAdapter(request)).response

infix fun <RQ, RS : UseCaseResponse> FunctionalUseCase<RequestAdapter<RQ>, RS>.adapterProcess(request: RQ) =
this process RequestAdapter(request)

infix fun <RQ : UseCaseRequest, RS> FunctionalUseCase<RQ, ResponseAdapter<RS>>.adapterProcess(request: RQ) =
(this process request).response

infix fun <RQ, RS> FunctionalUseCase<RequestAdapter<RQ>, ResponseAdapter<RS>>.adapterProcess(requestProvider: () -> RQ) =
this adapterProcess requestProvider()

infix fun <RQ, RS : UseCaseResponse> FunctionalUseCase<RequestAdapter<RQ>, RS>.adapterProcess(request: () -> RQ) =
this adapterProcess request()

infix fun <RQ> CommandUseCase<RequestAdapter<RQ>>.adapterExecute(request: RQ) =
this execute RequestAdapter(request)

infix fun <RQ> CommandUseCase<RequestAdapter<RQ>>.adapterExecute(requestProvider: () -> RQ) =
this adapterExecute requestProvider()

infix fun <F : UseCaseFactory, RQ, RS> F.adapterFunctional(functionalUseCase: F.() -> FunctionalUseCase<RequestAdapter<RQ>, ResponseAdapter<RS>>) =
this functional functionalUseCase

infix fun <F : UseCaseFactory, RQ : UseCaseRequest, RS> F.adapterFunctionalReq(functionalUseCase: F.() -> FunctionalUseCase<RQ, ResponseAdapter<RS>>) =
this functional functionalUseCase

infix fun <F : UseCaseFactory, RQ, RS : UseCaseResponse> F.adapterFunctionalResp(functionalUseCase: F.() -> FunctionalUseCase<RequestAdapter<RQ>, RS>) =
this functional functionalUseCase

infix fun <F : UseCaseFactory, RQ> F.adapterCommand(commandUseCase: F.() -> CommandUseCase<RequestAdapter<RQ>>) =
this command commandUseCase
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-development</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ import io.quee.ktx.radix.develop.usecase.model.UseCaseResponse
infix fun <RQ : UseCaseRequest, RS : UseCaseResponse> FunctionalUseCase<RQ, RS>.process(request: RQ) =
request.process()

infix fun <RQ : UseCaseRequest, RS : UseCaseResponse> FunctionalUseCase<RQ, RS>.providerProcess(requestProvider: () -> RQ) =
infix fun <RQ : UseCaseRequest, RS : UseCaseResponse> FunctionalUseCase<RQ, RS>.process(requestProvider: () -> RQ) =
this process requestProvider()

infix fun <RQ : UseCaseRequest> CommandUseCase<RQ>.execute(request: RQ) =
request.execute()

infix fun <RQ : UseCaseRequest> CommandUseCase<RQ>.providerExecute(requestProvider: () -> RQ) =
infix fun <RQ : UseCaseRequest> CommandUseCase<RQ>.execute(requestProvider: () -> RQ) =
this execute requestProvider()

infix fun <F : UseCaseFactory, RQ : UseCaseRequest, RS : UseCaseResponse> F.functional(functionalUseCase: F.() -> FunctionalUseCase<RQ, RS>) =
Expand Down
3 changes: 2 additions & 1 deletion ktx-radix-development/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand All @@ -18,6 +18,7 @@
<module>ktx-radix-development-usecase-action</module>
<module>ktx-radix-development-usecase-validation</module>
<module>ktx-radix-development-shared</module>
<module>ktx-radix-development-usecase-adapter</module>
</modules>


Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-port/ktx-radix-port-logger/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-port</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-port/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-starter/ktx-radix-starter-logger/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-starter</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-starter/ktx-radix-starter-tracker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-starter</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-starter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-tool/ktx-radix-tool-http/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-tool</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-tool/ktx-radix-tool-json-dsl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-tool</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-tool/ktx-radix-tool-test-dsl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-tool</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-tool/ktx-radix-tool-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-tool</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-tool/ktx-radix-tool-tracker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix-tool</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ktx-radix-tool/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ktx-radix</artifactId>
<groupId>io.quee.ktx.radix</groupId>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<groupId>io.quee.ktx.radix</groupId>
<artifactId>ktx-radix</artifactId>
<packaging>pom</packaging>
<version>v1.0.1-RELEASE</version>
<version>v1.0.2-RELEASE</version>
<modules>
<module>ktx-radix-port</module>
<module>ktx-radix-adapter</module>
Expand Down

0 comments on commit aad33eb

Please sign in to comment.