refactory

This commit is contained in:
2022-05-10 23:42:25 +03:00
parent 6bb083755c
commit 8f2e416678
11 changed files with 45 additions and 47 deletions

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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