Skip to content

Commit

Permalink
upgrade to spring boot 3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
c5ms committed Nov 22, 2024
1 parent 6bc3e6e commit 7b18b4d
Show file tree
Hide file tree
Showing 47 changed files with 255 additions and 317 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '17'
distribution: 'temurin'
cache: maven
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
Expand Down
65 changes: 26 additions & 39 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.9.RELEASE</version>
<relativePath></relativePath>
<version>3.3.4</version>
<relativePath/>
</parent>

<description>This application shows a few key concepts of
Expand Down Expand Up @@ -78,7 +78,7 @@
</scm>

<properties>
<java.version>11</java.version>
<java.version>17</java.version>
<junit-jupiter.version>5.9.1</junit-jupiter.version>
<!--<assertj.version>3.8.0</assertj.version>-->
</properties>
Expand Down Expand Up @@ -124,22 +124,12 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<version>2.17.0</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-spring</artifactId>
Expand All @@ -148,26 +138,26 @@
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
</dependency>

<!-- dev -->
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
<version>4.23</version>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency> <!-- Required by Hibernate in Java 11+ -->
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.3</version>

<!-- log monitor trace -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency> <!-- Required by Hibernate in Java 11+ -->
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.3</version>
<scope>runtime</scope>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency> <!-- Required by Hibernate in Java 11+ -->
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.30.2-GA</version>
<dependency>
<groupId>net.ttddyy.observation</groupId>
<artifactId>datasource-micrometer-spring-boot</artifactId>
<version>1.0.5</version>
</dependency>

<dependency>
Expand All @@ -192,25 +182,21 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
<dependency> <!-- Overridden version required for Java 11 -->
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>5.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.14.4</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
Expand All @@ -226,11 +212,12 @@
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>htmlunit-driver</artifactId>
</dependency>
<!-- <dependency>--> <!-- Used to generate OpenAPI docs -->
<!-- <groupId>org.springdoc</groupId>-->
<!-- <artifactId>springdoc-openapi-webmvc-core</artifactId>-->
<!-- <version>1.6.12</version>-->
<!-- </dependency>-->
<!-- doc -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.5.0</version>
</dependency>
</dependencies>

<repositories>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.pathfinder.api.GraphTraversalService;
import com.pathfinder.api.TransitEdge;
import com.pathfinder.api.TransitPath;

import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.*;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package se.citerus.dddsample.application.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.format.DateTimeParseException;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package se.citerus.dddsample.config;

import com.pathfinder.api.GraphTraversalService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand All @@ -25,43 +26,36 @@
import se.citerus.dddsample.infrastructure.sampledata.SampleDataGenerator;
import se.citerus.dddsample.interfaces.InterfacesApplicationContext;

import javax.persistence.EntityManager;

@Configuration
@Import({InterfacesApplicationContext.class, InfrastructureMessagingJmsConfig.class})
public class DDDSampleApplicationContext {

@Autowired
CargoRepository cargoRepository;
private CargoRepository cargoRepository;

@Autowired
LocationRepository locationRepository;
private VoyageRepository voyageRepository;

@Autowired
VoyageRepository voyageRepository;
private LocationRepository locationRepository;

@Autowired
GraphTraversalService graphTraversalService;
private HandlingEventRepository handlingEventRepository;

@Autowired
RoutingService routingService;
private GraphTraversalService graphTraversalService;

@Autowired
HandlingEventFactory handlingEventFactory;

@Autowired
HandlingEventRepository handlingEventRepository;

@Autowired
ApplicationEvents applicationEvents;
private ApplicationEvents applicationEvents;

@Bean
public CargoFactory cargoFactory() {
return new CargoFactory(locationRepository, cargoRepository);
}

@Bean
public BookingService bookingService(CargoFactory cargoFactory) {
public BookingService bookingService(CargoFactory cargoFactory,RoutingService routingService) {
return new BookingServiceImpl(cargoRepository, locationRepository, routingService, cargoFactory);
}

Expand All @@ -71,7 +65,7 @@ public CargoInspectionService cargoInspectionService() {
}

@Bean
public HandlingEventService handlingEventService() {
public HandlingEventService handlingEventService(HandlingEventFactory handlingEventFactory) {
return new HandlingEventServiceImpl(handlingEventRepository, applicationEvents, handlingEventFactory);
}

Expand All @@ -86,16 +80,15 @@ public RoutingService routingService() {
}

@Bean
public SampleDataGenerator sampleDataGenerator(CargoRepository cargoRepository, VoyageRepository voyageRepository,
LocationRepository locationRepository, HandlingEventRepository handlingEventRepository,
PlatformTransactionManager platformTransactionManager, EntityManager entityManager) {
SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(cargoRepository, voyageRepository, locationRepository, handlingEventRepository, platformTransactionManager);
try {
sampleDataGenerator.generate(); // TODO investigate if this can be called with initMethod in the annotation
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return sampleDataGenerator;
public SampleDataGenerator sampleDataGenerator(CargoRepository cargoRepository,
VoyageRepository voyageRepository,
LocationRepository locationRepository,
HandlingEventRepository handlingEventRepository,
PlatformTransactionManager platformTransactionManager) {
return new SampleDataGenerator(cargoRepository,
voyageRepository,
locationRepository,
handlingEventRepository,
platformTransactionManager);
}
}
17 changes: 10 additions & 7 deletions src/main/java/se/citerus/dddsample/domain/model/cargo/Cargo.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package se.citerus.dddsample.domain.model.cargo;

import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.lang3.Validate;
import se.citerus.dddsample.domain.model.handling.HandlingHistory;
import se.citerus.dddsample.domain.model.location.Location;
import se.citerus.dddsample.domain.shared.Entity;
import se.citerus.dddsample.domain.shared.DomainEntity;

import javax.persistence.*;
import java.util.List;

/**
Expand Down Expand Up @@ -44,9 +47,11 @@
* in port etc), are captured in this aggregate.
*
*/
@javax.persistence.Entity(name = "Cargo")
@Entity(name = "Cargo")
@Table(name = "Cargo")
public class Cargo implements Entity<Cargo> {
@Setter(AccessLevel.PROTECTED)
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Cargo implements DomainEntity<Cargo> {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Expand Down Expand Up @@ -217,8 +222,6 @@ public String toString() {
return trackingId;
}

Cargo() {
// Needed by Hibernate
}


}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package se.citerus.dddsample.domain.model.cargo;

import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
Expand All @@ -9,7 +12,6 @@
import se.citerus.dddsample.domain.model.voyage.Voyage;
import se.citerus.dddsample.domain.shared.ValueObject;

import javax.persistence.*;
import java.time.Instant;
import java.util.Iterator;
import java.util.Objects;
Expand All @@ -23,6 +25,7 @@
*
*/
@Embeddable
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Delivery implements ValueObject<Delivery> {

@Column
Expand Down Expand Up @@ -354,7 +357,4 @@ public int hashCode() {
toHashCode();
}

Delivery() {
// Needed by Hibernate
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package se.citerus.dddsample.domain.model.cargo;

import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
Expand All @@ -8,15 +11,14 @@
import se.citerus.dddsample.domain.model.voyage.Voyage;
import se.citerus.dddsample.domain.shared.ValueObject;

import javax.persistence.*;

/**
* A handling activity represents how and where a cargo can be handled,
* and can be used to express predictions about what is expected to
* happen to a cargo in the future.
*
*/
@Embeddable
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class HandlingActivity implements ValueObject<HandlingActivity> {

// TODO make HandlingActivity a part of HandlingEvent too? There is some overlap.
Expand Down Expand Up @@ -92,8 +94,4 @@ public boolean equals(final Object obj) {
return sameValueAs(other);
}

HandlingActivity() {
// Needed by Hibernate
}

}
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
package se.citerus.dddsample.domain.model.cargo;

import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import se.citerus.dddsample.domain.model.location.Location;
import se.citerus.dddsample.domain.model.voyage.Voyage;
import se.citerus.dddsample.domain.shared.ValueObject;

import javax.persistence.*;
import java.time.Instant;

/**
* An itinerary consists of one or more legs.
*/
@Entity(name = "Leg")
@Table(name = "Leg")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Leg implements ValueObject<Leg> {

@Id
Expand Down Expand Up @@ -101,7 +104,4 @@ public int hashCode() {
toHashCode();
}

Leg() {
// Needed by Hibernate
}
}
Loading

0 comments on commit 7b18b4d

Please sign in to comment.