Skip to content

Commit 44669b0

Browse files
author
Sorin Zamfir
committed
BAEL-3777: First setup
1 parent e40b135 commit 44669b0

10 files changed

Lines changed: 71 additions & 10 deletions

File tree

ddd/pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,28 @@
2020
<groupId>org.springframework.boot</groupId>
2121
<artifactId>spring-boot-starter-data-mongodb</artifactId>
2222
</dependency>
23+
<dependency>
24+
<groupId>org.springframework.boot</groupId>
25+
<artifactId>spring-boot-starter-data-cassandra</artifactId>
26+
</dependency>
2327
<dependency>
2428
<groupId>org.junit.jupiter</groupId>
2529
<artifactId>junit-jupiter-api</artifactId>
30+
<version>5.6.0</version>
2631
<scope>test</scope>
2732
</dependency>
2833
<dependency>
2934
<groupId>org.junit.jupiter</groupId>
3035
<artifactId>junit-jupiter-engine</artifactId>
36+
<version>5.6.0</version>
3137
<scope>test</scope>
3238
</dependency>
3339
<!-- JUnit platform launcher -->
3440
<!-- To be able to run tests from IDE directly -->
3541
<dependency>
3642
<groupId>org.junit.platform</groupId>
3743
<artifactId>junit-platform-launcher</artifactId>
38-
<version>${junit-platform.version}</version>
44+
<version>1.6.0</version>
3945
<scope>test</scope>
4046
</dependency>
4147
<dependency>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.baeldung.dddhexagonalspring.infrastracture.configuration;
2+
3+
import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories;
4+
5+
import com.baeldung.dddhexagonalspring.infrastracture.repository.SpringDataCassandraOrderRepository;
6+
7+
@EnableCassandraRepositories(basePackageClasses = SpringDataCassandraOrderRepository.class)
8+
public class CassandraConfiguration {
9+
10+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.baeldung.dddhexagonalspring.infrastracture.configuration;
22

3-
import com.baeldung.dddhexagonalspring.infrastracture.repository.SpringDataOrderRepository;
3+
import com.baeldung.dddhexagonalspring.infrastracture.repository.SpringDataMongoOrderRepository;
44
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
55

6-
@EnableMongoRepositories(basePackageClasses = SpringDataOrderRepository.class)
6+
@EnableMongoRepositories(basePackageClasses = SpringDataMongoOrderRepository.class)
77
public class MongoDBConfiguration {
88
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.baeldung.dddhexagonalspring.infrastracture.repository;
2+
3+
import java.util.Optional;
4+
import java.util.UUID;
5+
6+
import com.baeldung.dddhexagonalspring.domain.Order;
7+
import com.baeldung.dddhexagonalspring.domain.repository.OrderRepository;
8+
9+
public class CassandraDbOrderRepository implements OrderRepository {
10+
11+
@Override
12+
public Optional<Order> findById(UUID id) {
13+
// TODO Auto-generated method stub
14+
return null;
15+
}
16+
17+
@Override
18+
public void save(Order order) {
19+
// TODO Auto-generated method stub
20+
21+
}
22+
23+
}

ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
@Component
1212
public class MongoDbOrderRepository implements OrderRepository {
1313

14-
private final SpringDataOrderRepository orderRepository;
14+
private final SpringDataMongoOrderRepository orderRepository;
1515

1616
@Autowired
17-
public MongoDbOrderRepository(final SpringDataOrderRepository orderRepository) {
17+
public MongoDbOrderRepository(final SpringDataMongoOrderRepository orderRepository) {
1818
this.orderRepository = orderRepository;
1919
}
2020

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.baeldung.dddhexagonalspring.infrastracture.repository;
2+
3+
import java.util.UUID;
4+
5+
import org.springframework.data.cassandra.repository.CassandraRepository;
6+
7+
import com.baeldung.dddhexagonalspring.domain.Order;
8+
9+
public interface SpringDataCassandraOrderRepository extends CassandraRepository<Order, UUID>{
10+
11+
}

ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/SpringDataOrderRepository.java renamed to ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/SpringDataMongoOrderRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
import java.util.UUID;
88

99
@Repository
10-
public interface SpringDataOrderRepository extends MongoRepository<Order, UUID> {
10+
public interface SpringDataMongoOrderRepository extends MongoRepository<Order, UUID> {
1111
}

ddd/src/main/resources/ddd-layers.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,10 @@ spring.data.mongodb.host=localhost
22
spring.data.mongodb.port=27017
33
spring.data.mongodb.database=order-database
44
spring.data.mongodb.username=order
5-
spring.data.mongodb.password=order
5+
spring.data.mongodb.password=order
6+
7+
spring.data.cassandra.keyspaceName=order-database
8+
spring.data.cassandra.username=cassandra
9+
spring.data.cassandra.password=cassandra
10+
spring.data.cassandra.contactPoints=localhost
11+
spring.data.cassandra.port=9042

ddd/src/test/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414

1515
class MongoDbOrderRepositoryUnitTest {
1616

17-
private SpringDataOrderRepository springDataOrderRepository;
17+
private SpringDataMongoOrderRepository springDataOrderRepository;
1818
private MongoDbOrderRepository tested;
1919

2020
@BeforeEach
2121
void setUp(){
22-
springDataOrderRepository = mock(SpringDataOrderRepository.class);
22+
springDataOrderRepository = mock(SpringDataMongoOrderRepository.class);
2323

2424
tested = new MongoDbOrderRepository(springDataOrderRepository);
2525
}

ddd/src/test/resources/com/baeldung/dddhexagonalspring/docker-compose.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,9 @@ services:
1111
MONGO_INITDB_ROOT_PASSWORD: admin
1212
MONGO_INITDB_DATABASE: order-database
1313
volumes:
14-
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
14+
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
15+
order-cassandra-database:
16+
image: cassandra:3.11.5
17+
restart: always
18+
ports:
19+
- 9042:9042

0 commit comments

Comments
 (0)