diff --git a/pom.xml b/pom.xml index 023925c..b5441c1 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.18 + 3.4.1 osm.surveyor.plateau @@ -15,7 +15,7 @@ task-bldg TaskingManager for Plateau BLDG - 11 + 17 @@ -106,7 +106,6 @@ com.h2database h2 - 1.4.200 runtime @@ -114,7 +113,6 @@ org.junit.jupiter junit-jupiter-api - 5.11.4 test diff --git a/src/main/java/osm/surveyor/task/StringTableGenerator.java b/src/main/java/osm/surveyor/task/StringTableGenerator.java deleted file mode 100644 index 9f66385..0000000 --- a/src/main/java/osm/surveyor/task/StringTableGenerator.java +++ /dev/null @@ -1,28 +0,0 @@ -package osm.surveyor.task; - -import java.io.Serializable; -import java.util.Properties; - -import org.hibernate.MappingException; -import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.hibernate.id.enhanced.TableGenerator; -import org.hibernate.service.ServiceRegistry; -import org.hibernate.type.BigDecimalType; -import org.hibernate.type.Type; - -/** - * TableGenerator (文字列カラム対応) - */ -public class StringTableGenerator extends TableGenerator { - - @Override - public void configure(Type type, Properties params, ServiceRegistry serviceRegistry) throws MappingException { - super.configure(new BigDecimalType() , params, serviceRegistry); - } - - @Override - public Serializable generate(SharedSessionContractImplementor session, Object obj) { - return super.generate(session, obj).toString(); - } - -} \ No newline at end of file diff --git a/src/main/java/osm/surveyor/task/city/CityRepository.java b/src/main/java/osm/surveyor/task/city/CityRepository.java index c3bfc90..52ba73e 100644 --- a/src/main/java/osm/surveyor/task/city/CityRepository.java +++ b/src/main/java/osm/surveyor/task/city/CityRepository.java @@ -2,9 +2,8 @@ import java.util.List; -import javax.transaction.Transactional; - import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; import osm.surveyor.task.city.model.City; diff --git a/src/main/java/osm/surveyor/task/city/DataLoader.java b/src/main/java/osm/surveyor/task/city/DataLoader.java index 8895a3b..1010159 100644 --- a/src/main/java/osm/surveyor/task/city/DataLoader.java +++ b/src/main/java/osm/surveyor/task/city/DataLoader.java @@ -70,7 +70,7 @@ RestTemplate restTemplate = new RestTemplate(); System.out.println(String.format("INFO: httpGet(%s)", url)); ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, null, String.class); - HttpStatus httpStatus = response.getStatusCode(); + HttpStatus httpStatus = (HttpStatus) response.getStatusCode(); if (httpStatus.isError()) { System.out.println("ERROE: Can not access '"+ url +"'"); throw new Exception("ERROE: Can not access '"+ url +"'"); diff --git a/src/main/java/osm/surveyor/task/city/model/City.java b/src/main/java/osm/surveyor/task/city/model/City.java index 199981e..5cc2b0d 100644 --- a/src/main/java/osm/surveyor/task/city/model/City.java +++ b/src/main/java/osm/surveyor/task/city/model/City.java @@ -2,18 +2,17 @@ import java.math.BigDecimal; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.validation.constraints.NotBlank; - +import org.springframework.data.annotation.Id; import org.springframework.format.annotation.NumberFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import osm.surveyor.task.util.Point; diff --git a/src/main/java/osm/surveyor/task/index/IndexController.java b/src/main/java/osm/surveyor/task/index/IndexController.java index 512973d..56bc5ea 100644 --- a/src/main/java/osm/surveyor/task/index/IndexController.java +++ b/src/main/java/osm/surveyor/task/index/IndexController.java @@ -19,7 +19,7 @@ RestTemplate restTemplate = new RestTemplate(); System.out.println(String.format("INFO: httpGet(%s)", url)); ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, null, String.class); - HttpStatus httpStatus = response.getStatusCode(); + HttpStatus httpStatus = (HttpStatus) response.getStatusCode(); if (httpStatus.isError()) { System.out.println("ERROE: Can not access '"+ url +"'"); throw new Exception("ERROE: Can not access '"+ url +"'"); diff --git a/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java b/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java index ef0f96c..980fd88 100644 --- a/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java +++ b/src/main/java/osm/surveyor/task/mesh/model/Citymesh.java @@ -1,18 +1,17 @@ package osm.surveyor.task.mesh.model; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.ManyToOne; -import javax.validation.constraints.NotBlank; - +import org.springframework.data.annotation.Id; import org.springframework.format.annotation.NumberFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.IdClass; +import jakarta.persistence.ManyToOne; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import osm.surveyor.task.city.model.City; import osm.surveyor.task.city.model.Status; diff --git a/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java b/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java index ed5145a..32dfcaa 100644 --- a/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java +++ b/src/main/java/osm/surveyor/task/mesh/model/CitymeshPK.java @@ -2,8 +2,7 @@ import java.io.Serializable; -import javax.persistence.Embeddable; - +import jakarta.persistence.Embeddable; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/osm/surveyor/task/plateau/PlateauBean.java b/src/main/java/osm/surveyor/task/plateau/PlateauBean.java new file mode 100644 index 0000000..ed443cf --- /dev/null +++ b/src/main/java/osm/surveyor/task/plateau/PlateauBean.java @@ -0,0 +1,16 @@ +package osm.surveyor.task.plateau; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class PlateauBean { + + @Value("${app.plateau.dir}") + private String plateauDirName; + + public String getPlateauDirName() { + return plateauDirName; + } + +} diff --git a/src/main/java/osm/surveyor/task/task/TaskController.java b/src/main/java/osm/surveyor/task/task/TaskController.java index ad39933..b83fdd3 100644 --- a/src/main/java/osm/surveyor/task/task/TaskController.java +++ b/src/main/java/osm/surveyor/task/task/TaskController.java @@ -5,8 +5,6 @@ import java.util.List; import java.util.UUID; -import javax.servlet.http.HttpServletResponse; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; @@ -22,6 +20,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import osm.surveyor.task.city.CityRepository; import osm.surveyor.task.city.CityService; diff --git a/src/main/java/osm/surveyor/task/task/TaskService.java b/src/main/java/osm/surveyor/task/task/TaskService.java index 01b3b59..e550f5b 100644 --- a/src/main/java/osm/surveyor/task/task/TaskService.java +++ b/src/main/java/osm/surveyor/task/task/TaskService.java @@ -3,6 +3,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import jakarta.transaction.Transactional; import osm.surveyor.task.city.ConflictException; import osm.surveyor.task.city.NotAcceptableException; import osm.surveyor.task.city.model.Operation; @@ -12,8 +13,6 @@ import osm.surveyor.task.mesh.model.CitymeshPK; import osm.surveyor.task.task.model.TaskEntity; -import javax.transaction.Transactional; - import java.util.Date; import java.util.List; import java.util.UUID; diff --git a/src/main/java/osm/surveyor/task/task/model/TaskEntity.java b/src/main/java/osm/surveyor/task/task/model/TaskEntity.java index bcc4bb4..49814c4 100644 --- a/src/main/java/osm/surveyor/task/task/model/TaskEntity.java +++ b/src/main/java/osm/surveyor/task/task/model/TaskEntity.java @@ -2,20 +2,19 @@ import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.Id; -import javax.persistence.ManyToOne; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotBlank; - import org.springframework.format.annotation.NumberFormat; import com.fasterxml.jackson.databind.JsonNode; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; import osm.surveyor.task.city.model.Operation; diff --git a/src/main/java/osm/surveyor/task/task/model/TaskPK.java b/src/main/java/osm/surveyor/task/task/model/TaskPK.java index a712fea..92e419c 100644 --- a/src/main/java/osm/surveyor/task/task/model/TaskPK.java +++ b/src/main/java/osm/surveyor/task/task/model/TaskPK.java @@ -2,8 +2,7 @@ import java.io.Serializable; -import javax.persistence.Embeddable; - +import jakarta.persistence.Embeddable; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java b/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java index 15bf4a7..7d7b25b 100644 --- a/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java +++ b/src/main/java/osm/surveyor/task/task/model/TaskStatusEntity.java @@ -1,12 +1,11 @@ package osm.surveyor.task.task.model; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/src/main/java/osm/surveyor/task/util/Point.java b/src/main/java/osm/surveyor/task/util/Point.java index 0899d1d..eddfe1e 100644 --- a/src/main/java/osm/surveyor/task/util/Point.java +++ b/src/main/java/osm/surveyor/task/util/Point.java @@ -4,12 +4,11 @@ import java.util.ArrayList; import java.util.List; -import javax.validation.constraints.NotBlank; - import org.springframework.format.annotation.NumberFormat; import com.fasterxml.jackson.databind.JsonNode; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/osm/surveyor/task/util/UuidGenerator.java b/src/main/java/osm/surveyor/task/util/UuidGenerator.java index 8f39927..5508925 100644 --- a/src/main/java/osm/surveyor/task/util/UuidGenerator.java +++ b/src/main/java/osm/surveyor/task/util/UuidGenerator.java @@ -8,11 +8,12 @@ public class UuidGenerator extends IdentityGenerator{ + private static final long serialVersionUID = 1L; + /** * UUIDを生成し返却する */ - @Override - public Serializable generate(SharedSessionContractImplementor session, Object obj) { + public Serializable generate(SharedSessionContractImplementor session, Object obj) { return UUID.randomUUID().toString(); } } diff --git a/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 0000000..6cf7734 --- /dev/null +++ b/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,22 @@ +{"properties": [ + { + "name": "task-bldg.osm-data.url", + "type": "java.lang.String", + "description": "A description for 'task-bldg.osm-data.url'" + }, + { + "name": "app.plateau.dir", + "type": "java.lang.String", + "description": "A description for 'app.plateau.dir'" + }, + { + "name": "app.plateau.dir", + "type": "java.lang.String", + "description": "A description for 'app.plateau.dir'" + }, + { + "name": "app.osm-data.url", + "type": "java.lang.String", + "description": "A description for 'app.osm-data.url'" + } +]} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 060effe..b4de028 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -19,5 +19,5 @@ spring.jpa.hibernate.ddl-auto=update # task-bldg orignal properties -task-bldg.osm-data.url=http://surveyor.mydns.jp/osm-data -task-bldg.plateau.dir=plateau-data +app.osm-data.url=http://surveyor.mydns.jp/osm-data +app.plateau.dir=plateau-data diff --git a/src/test/java/osm/surveyor/task/plateau/PlateauBeanTest.java b/src/test/java/osm/surveyor/task/plateau/PlateauBeanTest.java new file mode 100644 index 0000000..77c7c33 --- /dev/null +++ b/src/test/java/osm/surveyor/task/plateau/PlateauBeanTest.java @@ -0,0 +1,42 @@ +package osm.surveyor.task.plateau; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class PlateauBeanTest { + + @Autowired + PlateauBean bean; + + @BeforeAll + static void setUpBeforeClass() throws Exception { + } + + @AfterAll + static void tearDownAfterClass() throws Exception { + } + + @BeforeEach + void setUp() throws Exception { + } + + @AfterEach + void tearDown() throws Exception { + } + + @Test + @DisplayName("'app.plateau.dir'を読み取れる") + void testGetPlateauDirName() { + assertEquals("plateau-data", bean.getPlateauDirName()); + //fail("まだ実装されていません"); + } +} diff --git a/src/test/java/osm/surveyor/task/plateau/PlateauControllerTest.java b/src/test/java/osm/surveyor/task/plateau/PlateauControllerTest.java deleted file mode 100644 index 81852a4..0000000 --- a/src/test/java/osm/surveyor/task/plateau/PlateauControllerTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package osm.surveyor.task.plateau; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; - -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.core.io.ClassPathResource; -import org.springframework.http.HttpHeaders; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.MvcResult; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.util.FileSystemUtils; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -@SpringBootTest -@WebMvcTest(PlateauController.class) -class PlateauControllerTest { - - @Autowired - private MockMvc mvc; - private final String rootUrl = "/plateau"; - private static final String dirStr = "plateau-data"; // task-bldg.plateau.dir=plateau-data - - @BeforeAll - static void setUpBeforeClass() throws Exception { - Path dir = Path.of(dirStr); - FileSystemUtils.deleteRecursively(dir); - } - - @AfterAll - static void tearDownAfterClass() throws Exception { - } - - @BeforeEach - void setUp() throws Exception { - } - - @AfterEach - void tearDown() throws Exception { - } - - @Test - @DisplayName("'./plateau/01100' is Sapporo 2020") - void testGetPlateau() throws IOException { - String urlPath = "/01100"; - - MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(rootUrl + urlPath)) - .andExpect(status().isOk()) - .andExpect(content().json("OK")) - .andReturn(); - - Path base = Path.of(dirStr); - boolean exists = Files.exists(base); - assertThat(exists); - } -} diff --git a/src/test/java/osm/surveyor/task/util/GeojsonTest.java b/src/test/java/osm/surveyor/task/util/GeojsonTest.java index b58d64d..2d42751 100644 --- a/src/test/java/osm/surveyor/task/util/GeojsonTest.java +++ b/src/test/java/osm/surveyor/task/util/GeojsonTest.java @@ -1,5 +1,8 @@ package osm.surveyor.task.util; +import static org.hamcrest.CoreMatchers.notNullValue; +import static org.hamcrest.CoreMatchers.nullValue; + import java.io.IOException; import java.io.InputStream; @@ -9,11 +12,13 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.core.io.ClassPathResource; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +@SpringBootTest class GeojsonTest { @BeforeAll @@ -39,6 +44,7 @@ try (InputStream is = new ClassPathResource(path).getInputStream()) { ObjectMapper mapper = new ObjectMapper(); JsonNode node = mapper.readTree(is); + assertNotNull(node); Geojson geojson = new Geojson(); geojson.parse(node);