diff --git a/pom.xml b/pom.xml index ac326d3..3fcfbe3 100644 --- a/pom.xml +++ b/pom.xml @@ -5,21 +5,25 @@ org.springframework.boot spring-boot-starter-parent - 2.3.0.RELEASE - + 2.7.9 + com.dsleandro image-gallery 0.0.1-SNAPSHOT image-gallery Image gallery with spring - 1.8 - + com.h2database + h2 + runtime + + + org.springframework.boot spring-boot-starter-data-jpa @@ -34,11 +38,11 @@ mysql mysql-connector-java - runtime + 8.0.28 - org.springframework.boot - spring-boot-starter-security + org.springframework.boot + spring-boot-starter-security org.springframework.boot @@ -52,14 +56,11 @@ - org.springframework.boot - spring-boot-starter-validation - 2.3.1.RELEASE + org.springframework.boot + spring-boot-starter-validation + 2.3.1.RELEASE - - - @@ -68,5 +69,4 @@ - diff --git a/src/main/java/com/dsleandro/imagegallery/ImageGalleryApplication.java b/src/main/java/com/synchrony/imagegallery/ImageGalleryApplication.java similarity index 80% rename from src/main/java/com/dsleandro/imagegallery/ImageGalleryApplication.java rename to src/main/java/com/synchrony/imagegallery/ImageGalleryApplication.java index fdfdd5d..15952fc 100644 --- a/src/main/java/com/dsleandro/imagegallery/ImageGalleryApplication.java +++ b/src/main/java/com/synchrony/imagegallery/ImageGalleryApplication.java @@ -1,7 +1,4 @@ -package com.dsleandro.imagegallery; - -import com.dsleandro.imagegallery.storage.StorageProperties; -import com.dsleandro.imagegallery.storage.StorageService; +package com.synchrony.imagegallery; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; @@ -9,6 +6,9 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import com.synchrony.imagegallery.storage.StorageProperties; +import com.synchrony.imagegallery.storage.StorageService; + @SpringBootApplication @EnableConfigurationProperties(StorageProperties.class) public class ImageGalleryApplication { diff --git a/src/main/java/com/dsleandro/imagegallery/controller/ImageController.java b/src/main/java/com/synchrony/imagegallery/controller/ImageController.java similarity index 92% rename from src/main/java/com/dsleandro/imagegallery/controller/ImageController.java rename to src/main/java/com/synchrony/imagegallery/controller/ImageController.java index a49a3be..d5b9eba 100644 --- a/src/main/java/com/dsleandro/imagegallery/controller/ImageController.java +++ b/src/main/java/com/synchrony/imagegallery/controller/ImageController.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.controller; +package com.synchrony.imagegallery.controller; import java.io.IOException; import java.nio.file.Path; @@ -6,12 +6,6 @@ import java.util.UUID; import java.util.stream.Collectors; -import com.dsleandro.imagegallery.entity.Image; -import com.dsleandro.imagegallery.entity.User; -import com.dsleandro.imagegallery.repository.ImageRepository; -import com.dsleandro.imagegallery.repository.UserRepository; -import com.dsleandro.imagegallery.storage.StorageService; - import org.springframework.core.io.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; @@ -26,6 +20,12 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder; +import com.synchrony.imagegallery.entity.Image; +import com.synchrony.imagegallery.entity.User; +import com.synchrony.imagegallery.repository.ImageRepository; +import com.synchrony.imagegallery.repository.UserRepository; +import com.synchrony.imagegallery.storage.StorageService; + @Controller public class ImageController { diff --git a/src/main/java/com/dsleandro/imagegallery/controller/UserController.java b/src/main/java/com/synchrony/imagegallery/controller/UserController.java similarity index 92% rename from src/main/java/com/dsleandro/imagegallery/controller/UserController.java rename to src/main/java/com/synchrony/imagegallery/controller/UserController.java index caa4dbb..b5cf3ba 100644 --- a/src/main/java/com/dsleandro/imagegallery/controller/UserController.java +++ b/src/main/java/com/synchrony/imagegallery/controller/UserController.java @@ -1,18 +1,19 @@ -package com.dsleandro.imagegallery.controller; +package com.synchrony.imagegallery.controller; import java.security.Principal; import javax.validation.Valid; -import com.dsleandro.imagegallery.entity.User; -import com.dsleandro.imagegallery.service.UserService; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; + +import com.synchrony.imagegallery.entity.User; +import com.synchrony.imagegallery.service.UserService; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; diff --git a/src/main/java/com/dsleandro/imagegallery/entity/Image.java b/src/main/java/com/synchrony/imagegallery/entity/Image.java similarity index 92% rename from src/main/java/com/dsleandro/imagegallery/entity/Image.java rename to src/main/java/com/synchrony/imagegallery/entity/Image.java index e071311..88958c2 100644 --- a/src/main/java/com/dsleandro/imagegallery/entity/Image.java +++ b/src/main/java/com/synchrony/imagegallery/entity/Image.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.entity; +package com.synchrony.imagegallery.entity; import javax.persistence.Column; import javax.persistence.Entity; @@ -24,7 +24,7 @@ public class Image { private String path; @ManyToOne(optional = false) - @JoinColumn(name = "user") + @JoinColumn(name = "user_details") private User user; public Image() { diff --git a/src/main/java/com/dsleandro/imagegallery/entity/User.java b/src/main/java/com/synchrony/imagegallery/entity/User.java similarity index 95% rename from src/main/java/com/dsleandro/imagegallery/entity/User.java rename to src/main/java/com/synchrony/imagegallery/entity/User.java index b23e029..3f4e3bc 100644 --- a/src/main/java/com/dsleandro/imagegallery/entity/User.java +++ b/src/main/java/com/synchrony/imagegallery/entity/User.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.entity; +package com.synchrony.imagegallery.entity; import java.util.ArrayList; import java.util.List; @@ -17,7 +17,7 @@ import javax.validation.constraints.Pattern.Flag; @Entity -@Table(name = "user") +@Table(name = "user_details") public class User { @Id diff --git a/src/main/java/com/dsleandro/imagegallery/repository/ImageRepository.java b/src/main/java/com/synchrony/imagegallery/repository/ImageRepository.java similarity index 66% rename from src/main/java/com/dsleandro/imagegallery/repository/ImageRepository.java rename to src/main/java/com/synchrony/imagegallery/repository/ImageRepository.java index a360e18..0c65298 100644 --- a/src/main/java/com/dsleandro/imagegallery/repository/ImageRepository.java +++ b/src/main/java/com/synchrony/imagegallery/repository/ImageRepository.java @@ -1,13 +1,13 @@ -package com.dsleandro.imagegallery.repository; +package com.synchrony.imagegallery.repository; import java.util.List; -import com.dsleandro.imagegallery.entity.Image; -import com.dsleandro.imagegallery.entity.User; - import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import com.synchrony.imagegallery.entity.Image; +import com.synchrony.imagegallery.entity.User; + @Repository("imageRepository") public interface ImageRepository extends JpaRepository { List findByUser(User user); diff --git a/src/main/java/com/dsleandro/imagegallery/repository/UserRepository.java b/src/main/java/com/synchrony/imagegallery/repository/UserRepository.java similarity index 80% rename from src/main/java/com/dsleandro/imagegallery/repository/UserRepository.java rename to src/main/java/com/synchrony/imagegallery/repository/UserRepository.java index 1238e9e..8fbf321 100644 --- a/src/main/java/com/dsleandro/imagegallery/repository/UserRepository.java +++ b/src/main/java/com/synchrony/imagegallery/repository/UserRepository.java @@ -1,12 +1,12 @@ -package com.dsleandro.imagegallery.repository; +package com.synchrony.imagegallery.repository; import java.util.Optional; -import com.dsleandro.imagegallery.entity.User; - import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import com.synchrony.imagegallery.entity.User; + @Repository("userRepository") public interface UserRepository extends JpaRepository{ public Optional findByUsername(String username); diff --git a/src/main/java/com/dsleandro/imagegallery/security/WebSecurity.java b/src/main/java/com/synchrony/imagegallery/security/WebSecurity.java similarity index 97% rename from src/main/java/com/dsleandro/imagegallery/security/WebSecurity.java rename to src/main/java/com/synchrony/imagegallery/security/WebSecurity.java index 69a739f..82b0648 100644 --- a/src/main/java/com/dsleandro/imagegallery/security/WebSecurity.java +++ b/src/main/java/com/synchrony/imagegallery/security/WebSecurity.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.security; +package com.synchrony.imagegallery.security; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/dsleandro/imagegallery/service/UserDetailsServiceImpl.java b/src/main/java/com/synchrony/imagegallery/service/UserDetailsServiceImpl.java similarity index 84% rename from src/main/java/com/dsleandro/imagegallery/service/UserDetailsServiceImpl.java rename to src/main/java/com/synchrony/imagegallery/service/UserDetailsServiceImpl.java index d5f61f8..cef6758 100644 --- a/src/main/java/com/dsleandro/imagegallery/service/UserDetailsServiceImpl.java +++ b/src/main/java/com/synchrony/imagegallery/service/UserDetailsServiceImpl.java @@ -1,9 +1,7 @@ -package com.dsleandro.imagegallery.service; +package com.synchrony.imagegallery.service; import java.util.Collections; -import com.dsleandro.imagegallery.repository.UserRepository; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; @@ -12,6 +10,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.synchrony.imagegallery.repository.UserRepository; + @Service @Transactional public class UserDetailsServiceImpl implements UserDetailsService { @@ -22,7 +22,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { - com.dsleandro.imagegallery.entity.User user = userRepository.findByUsername(username).orElseThrow(()-> new UsernameNotFoundException("Invalid username")); + com.synchrony.imagegallery.entity.User user = userRepository.findByUsername(username).orElseThrow(()-> new UsernameNotFoundException("Invalid username")); return new User(username, user.getPassword(), Collections.emptyList()); diff --git a/src/main/java/com/dsleandro/imagegallery/service/UserService.java b/src/main/java/com/synchrony/imagegallery/service/UserService.java similarity index 90% rename from src/main/java/com/dsleandro/imagegallery/service/UserService.java rename to src/main/java/com/synchrony/imagegallery/service/UserService.java index c314de4..dbda372 100644 --- a/src/main/java/com/dsleandro/imagegallery/service/UserService.java +++ b/src/main/java/com/synchrony/imagegallery/service/UserService.java @@ -1,11 +1,11 @@ -package com.dsleandro.imagegallery.service; - -import com.dsleandro.imagegallery.entity.User; -import com.dsleandro.imagegallery.repository.UserRepository; +package com.synchrony.imagegallery.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.synchrony.imagegallery.entity.User; +import com.synchrony.imagegallery.repository.UserRepository; + @Service public class UserService { diff --git a/src/main/java/com/dsleandro/imagegallery/storage/FileSystemStorageService.java b/src/main/java/com/synchrony/imagegallery/storage/FileSystemStorageService.java similarity index 92% rename from src/main/java/com/dsleandro/imagegallery/storage/FileSystemStorageService.java rename to src/main/java/com/synchrony/imagegallery/storage/FileSystemStorageService.java index a39edf7..78951de 100644 --- a/src/main/java/com/dsleandro/imagegallery/storage/FileSystemStorageService.java +++ b/src/main/java/com/synchrony/imagegallery/storage/FileSystemStorageService.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.storage; +package com.synchrony.imagegallery.storage; import java.io.IOException; import java.net.MalformedURLException; @@ -9,15 +9,15 @@ import java.util.List; import java.util.stream.Stream; -import com.dsleandro.imagegallery.entity.Image; -import com.dsleandro.imagegallery.entity.User; -import com.dsleandro.imagegallery.repository.ImageRepository; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; import org.springframework.stereotype.Service; +import com.synchrony.imagegallery.entity.Image; +import com.synchrony.imagegallery.entity.User; +import com.synchrony.imagegallery.repository.ImageRepository; + @Service public class FileSystemStorageService implements StorageService { diff --git a/src/main/java/com/dsleandro/imagegallery/storage/StorageException.java b/src/main/java/com/synchrony/imagegallery/storage/StorageException.java similarity index 86% rename from src/main/java/com/dsleandro/imagegallery/storage/StorageException.java rename to src/main/java/com/synchrony/imagegallery/storage/StorageException.java index 3a8616a..88c6362 100644 --- a/src/main/java/com/dsleandro/imagegallery/storage/StorageException.java +++ b/src/main/java/com/synchrony/imagegallery/storage/StorageException.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.storage; +package com.synchrony.imagegallery.storage; public class StorageException extends RuntimeException { diff --git a/src/main/java/com/dsleandro/imagegallery/storage/StorageFileNotFoundException.java b/src/main/java/com/synchrony/imagegallery/storage/StorageFileNotFoundException.java similarity index 87% rename from src/main/java/com/dsleandro/imagegallery/storage/StorageFileNotFoundException.java rename to src/main/java/com/synchrony/imagegallery/storage/StorageFileNotFoundException.java index 0098d54..d8ed25b 100644 --- a/src/main/java/com/dsleandro/imagegallery/storage/StorageFileNotFoundException.java +++ b/src/main/java/com/synchrony/imagegallery/storage/StorageFileNotFoundException.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.storage; +package com.synchrony.imagegallery.storage; public class StorageFileNotFoundException extends StorageException { diff --git a/src/main/java/com/dsleandro/imagegallery/storage/StorageProperties.java b/src/main/java/com/synchrony/imagegallery/storage/StorageProperties.java similarity index 89% rename from src/main/java/com/dsleandro/imagegallery/storage/StorageProperties.java rename to src/main/java/com/synchrony/imagegallery/storage/StorageProperties.java index 5bdfc7c..8cc074a 100644 --- a/src/main/java/com/dsleandro/imagegallery/storage/StorageProperties.java +++ b/src/main/java/com/synchrony/imagegallery/storage/StorageProperties.java @@ -1,4 +1,4 @@ -package com.dsleandro.imagegallery.storage; +package com.synchrony.imagegallery.storage; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/src/main/java/com/dsleandro/imagegallery/storage/StorageService.java b/src/main/java/com/synchrony/imagegallery/storage/StorageService.java similarity index 77% rename from src/main/java/com/dsleandro/imagegallery/storage/StorageService.java rename to src/main/java/com/synchrony/imagegallery/storage/StorageService.java index 7ae24e4..c308c03 100644 --- a/src/main/java/com/dsleandro/imagegallery/storage/StorageService.java +++ b/src/main/java/com/synchrony/imagegallery/storage/StorageService.java @@ -1,12 +1,12 @@ -package com.dsleandro.imagegallery.storage; +package com.synchrony.imagegallery.storage; import org.springframework.core.io.Resource; +import com.synchrony.imagegallery.entity.User; + import java.nio.file.Path; import java.util.stream.Stream; -import com.dsleandro.imagegallery.entity.User; - public interface StorageService { void init(); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 57d1a6c..873b012 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,7 +1,19 @@ -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.url=jdbc:mysql://localhost:3306/imagegallery?serverTimezone=UTC - -spring.datasource.username=root +#H2 CONFIGS +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.driverClassName=org.h2.Driver +spring.datasource.username=sa spring.datasource.password= +spring.jpa.database-platform=org.hibernate.dialect.H2Dialect +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +server.port=8082 -spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect +#MYSQL CONFIGS +#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.datasource.url=jdbc:mysql://localhost:3306/testdb +#spring.datasource.username=root +#spring.datasource.password=1234 +#spring.jpa.hibernate.ddl-auto=update +#spring.jpa.show-sql=true +#server.port=8082 +#spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect