refactory
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
package ru.di9.mirror.core.repository;
|
||||
package ru.di9.mirror.core.dao;
|
||||
|
||||
import ru.di9.mirror.core.entity.ArtifactEntity;
|
||||
|
||||
public interface ArtifactRepository {
|
||||
public interface ArtifactDao {
|
||||
|
||||
ArtifactEntity save(ArtifactEntity artifactEntity);
|
||||
}
|
||||
@@ -2,17 +2,17 @@ package ru.di9.mirror.core.handler;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import ru.di9.mirror.core.domain.FileItem;
|
||||
import ru.di9.mirror.core.repository.FileStorageRepository;
|
||||
import ru.di9.mirror.core.storage.FileStorage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class IndexOfHandler {
|
||||
|
||||
private final FileStorageRepository fileStorageRepository;
|
||||
private final FileStorage fileStorage;
|
||||
|
||||
public List<FileItem> walker(String path) {
|
||||
return fileStorageRepository.list("/local/" + path);
|
||||
return fileStorage.list("/local/" + path);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import ru.di9.mirror.core.domain.FileInfo;
|
||||
import ru.di9.mirror.core.entity.ArtifactEntity;
|
||||
import ru.di9.mirror.core.handler.response.GetFileResponse;
|
||||
import ru.di9.mirror.core.repository.ArtifactRepository;
|
||||
import ru.di9.mirror.core.repository.FileStorageRepository;
|
||||
import ru.di9.mirror.core.dao.ArtifactDao;
|
||||
import ru.di9.mirror.core.storage.FileStorage;
|
||||
import ru.di9.mirror.core.service.ExternalMavenService;
|
||||
|
||||
import java.io.InputStream;
|
||||
@@ -17,9 +17,9 @@ import java.util.Optional;
|
||||
@RequiredArgsConstructor
|
||||
public class MavenHandler {
|
||||
|
||||
private final FileStorageRepository fileStorageRepository;
|
||||
private final FileStorage fileStorage;
|
||||
private final List<ExternalMavenService> externalMavenServices;
|
||||
private final ArtifactRepository repository;
|
||||
private final ArtifactDao repository;
|
||||
|
||||
public Optional<GetFileResponse> getFile(String path) {
|
||||
var fileInfo = FileInfo.of(path.substring(path.lastIndexOf("/") + 1));
|
||||
@@ -32,7 +32,7 @@ public class MavenHandler {
|
||||
log.info(artifactEntity.toString());
|
||||
}
|
||||
|
||||
Optional<InputStream> optionalInputStream = fileStorageRepository.findByName("/local/" + path);
|
||||
Optional<InputStream> optionalInputStream = fileStorage.findByName("/local/" + path);
|
||||
if (optionalInputStream.isPresent()) {
|
||||
return optionalInputStream
|
||||
.map(inputStream -> new GetFileResponse(fileInfo.name(), inputStream));
|
||||
@@ -46,7 +46,7 @@ public class MavenHandler {
|
||||
for (ExternalMavenService externalMavenService : externalMavenServices) {
|
||||
final String nameForStore = "/" + externalMavenService.getId() + "/" + path;
|
||||
|
||||
result = fileStorageRepository.findByName(nameForStore);
|
||||
result = fileStorage.findByName(nameForStore);
|
||||
if (result.isPresent()) {
|
||||
return result
|
||||
.map(inputStream -> new GetFileResponse(fileName, inputStream));
|
||||
@@ -57,8 +57,8 @@ public class MavenHandler {
|
||||
repository.save(artifactEntity);
|
||||
}
|
||||
|
||||
fileStorageRepository.save(nameForStore, result.get());
|
||||
return fileStorageRepository.findByName(nameForStore)
|
||||
fileStorage.save(nameForStore, result.get());
|
||||
return fileStorage.findByName(nameForStore)
|
||||
.map(inputStream -> new GetFileResponse(fileName, inputStream));
|
||||
}
|
||||
}
|
||||
@@ -77,6 +77,6 @@ public class MavenHandler {
|
||||
log.info(artifactEntity.toString());
|
||||
}
|
||||
|
||||
fileStorageRepository.save("/local/" + path, inputStream);
|
||||
fileStorage.save("/local/" + path, inputStream);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ru.di9.mirror.core.repository;
|
||||
package ru.di9.mirror.core.storage;
|
||||
|
||||
import ru.di9.mirror.core.domain.FileItem;
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface FileStorageRepository {
|
||||
public interface FileStorage {
|
||||
|
||||
Optional<InputStream> findByName(String name);
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package ru.di9.mirror.core.service;
|
||||
package ru.di9.mirror.minio.storage;
|
||||
|
||||
import io.minio.MinioClient;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.di9.mirror.core.domain.FileItem;
|
||||
import ru.di9.mirror.minio.service.MinioRepository;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
@@ -13,13 +12,13 @@ import java.util.Optional;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class MinioServiceIntTest {
|
||||
class MinioStorageIntegrationTest {
|
||||
static final String url = "http://dev.di9.ru:9000";
|
||||
static final String accessKey = "mirror";
|
||||
static final String secretKey = "mirror123";
|
||||
static final String bucket = "mirror";
|
||||
static MinioClient minioClient;
|
||||
MinioRepository minioService;
|
||||
MinioStorage minioService;
|
||||
|
||||
@BeforeAll
|
||||
static void beforeAll() {
|
||||
@@ -31,7 +30,7 @@ class MinioServiceIntTest {
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
minioService = new MinioRepository(minioClient, bucket);
|
||||
minioService = new MinioStorage(minioClient, bucket);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1,11 +1,11 @@
|
||||
package ru.di9.mirror.minio.service;
|
||||
package ru.di9.mirror.minio.storage;
|
||||
|
||||
import io.minio.*;
|
||||
import io.minio.errors.ErrorResponseException;
|
||||
import io.minio.messages.Item;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import ru.di9.mirror.core.domain.FileItem;
|
||||
import ru.di9.mirror.core.repository.FileStorageRepository;
|
||||
import ru.di9.mirror.core.storage.FileStorage;
|
||||
import ru.di9.mirror.minio.domain.MinioFileItem;
|
||||
import ru.di9.mirror.minio.exception.MinioException;
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class MinioRepository implements FileStorageRepository {
|
||||
public class MinioStorage implements FileStorage {
|
||||
private static final long UNKNOWN_SIZE = -1L;
|
||||
private static final long PART_SIZE = (5 * 1024 * 1024); // 5 MB
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ru.di9.mirror.core.service;
|
||||
package ru.di9.mirror.minio.storage;
|
||||
|
||||
import io.minio.ListObjectsArgs;
|
||||
import io.minio.MinioClient;
|
||||
@@ -8,14 +8,13 @@ import lombok.SneakyThrows;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.di9.mirror.core.domain.FileItem;
|
||||
import ru.di9.mirror.minio.service.MinioRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
class MinioServiceTest {
|
||||
class MinioStorageTest {
|
||||
static final String bucket = "mirror";
|
||||
static MinioClient mockMinioClient;
|
||||
|
||||
@@ -32,7 +31,7 @@ class MinioServiceTest {
|
||||
|
||||
@Test
|
||||
void list() {
|
||||
MinioRepository minioService = new MinioRepository(mockMinioClient, bucket);
|
||||
MinioStorage minioService = new MinioStorage(mockMinioClient, bucket);
|
||||
List<FileItem> list = minioService.list("/ghast/ghast-tools/");
|
||||
|
||||
assertNotNull(list);
|
||||
@@ -1,4 +1,4 @@
|
||||
package ru.di9.mirror.mongo.repository;
|
||||
package ru.di9.mirror.mongo.dao;
|
||||
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.result.InsertOneResult;
|
||||
@@ -7,11 +7,11 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.bson.Document;
|
||||
import org.bson.types.ObjectId;
|
||||
import ru.di9.mirror.core.entity.ArtifactEntity;
|
||||
import ru.di9.mirror.core.repository.ArtifactRepository;
|
||||
import ru.di9.mirror.core.dao.ArtifactDao;
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class MongoArtifactRepository implements ArtifactRepository {
|
||||
public class MongoArtifactDao implements ArtifactDao {
|
||||
private final MongoCollection<Document> collection;
|
||||
|
||||
@Override
|
||||
@@ -4,16 +4,16 @@ import io.minio.MinioClient;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.di9.mirror.core.repository.FileStorageRepository;
|
||||
import ru.di9.mirror.minio.service.MinioRepository;
|
||||
import ru.di9.mirror.core.storage.FileStorage;
|
||||
import ru.di9.mirror.minio.storage.MinioStorage;
|
||||
|
||||
@Configuration
|
||||
public class MinioConfig {
|
||||
|
||||
@Bean
|
||||
public FileStorageRepository fileStorageRepository(MinioClient minioClient,
|
||||
@Value("${minio.bucket}") String bucket) {
|
||||
return new MinioRepository(minioClient, bucket);
|
||||
public FileStorage fileStorage(MinioClient minioClient,
|
||||
@Value("${minio.bucket}") String bucket) {
|
||||
return new MinioStorage(minioClient, bucket);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
@@ -10,8 +10,8 @@ import org.bson.Document;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.di9.mirror.core.repository.ArtifactRepository;
|
||||
import ru.di9.mirror.mongo.repository.MongoArtifactRepository;
|
||||
import ru.di9.mirror.core.dao.ArtifactDao;
|
||||
import ru.di9.mirror.mongo.dao.MongoArtifactDao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class MongoConfig {
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ArtifactRepository artifactRepository(MongoCollection<Document> artifactCollection) {
|
||||
return new MongoArtifactRepository(artifactCollection);
|
||||
public ArtifactDao artifactDao(MongoCollection<Document> artifactCollection) {
|
||||
return new MongoArtifactDao(artifactCollection);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.di9.mirror.core.handler.IndexOfHandler;
|
||||
import ru.di9.mirror.core.handler.MavenHandler;
|
||||
import ru.di9.mirror.core.repository.ArtifactRepository;
|
||||
import ru.di9.mirror.core.repository.FileStorageRepository;
|
||||
import ru.di9.mirror.core.dao.ArtifactDao;
|
||||
import ru.di9.mirror.core.storage.FileStorage;
|
||||
import ru.di9.mirror.core.service.ExternalMavenService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -15,15 +15,15 @@ import java.util.List;
|
||||
public class WebConfig {
|
||||
|
||||
@Bean
|
||||
public MavenHandler mavenHandler(FileStorageRepository fileStorageRepository,
|
||||
public MavenHandler mavenHandler(FileStorage fileStorage,
|
||||
List<ExternalMavenService> externalMavenServices,
|
||||
ArtifactRepository artifactRepository) {
|
||||
return new MavenHandler(fileStorageRepository, externalMavenServices, artifactRepository);
|
||||
ArtifactDao artifactDao) {
|
||||
return new MavenHandler(fileStorage, externalMavenServices, artifactDao);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public IndexOfHandler indexOfHandler(FileStorageRepository fileStorageRepository) {
|
||||
return new IndexOfHandler(fileStorageRepository);
|
||||
public IndexOfHandler indexOfHandler(FileStorage fileStorage) {
|
||||
return new IndexOfHandler(fileStorage);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
Reference in New Issue
Block a user