This is an automated email from the ASF dual-hosted git repository. yasith pushed a commit to branch feat/grpc-armeria-migration in repository https://gitbox.apache.org/repos/asf/airavata.git
commit e9b6771bdd0424d677c4d7a4b334163596d92b27 Author: yasithdev <[email protected]> AuthorDate: Tue Mar 31 19:50:35 2026 -0400 refactor: move file-server business logic to storage module, thin controllers --- .../airavata/file/server/config/FileServerConfig.java | 2 +- .../airavata/file/server/controller/FileController.java | 6 +++--- .../airavata/storage/config/StorageConfiguration.java} | 4 ++-- .../airavata/storage}/model/AiravataDirectory.java | 2 +- .../apache/airavata/storage}/model/AiravataFile.java | 2 +- .../airavata/storage}/model/FileUploadResponse.java | 2 +- .../airavata/storage}/service/AirvataFileService.java | 17 +++++++++-------- .../airavata/storage}/service/ProcessDataManager.java | 2 +- 8 files changed, 19 insertions(+), 18 deletions(-) diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/config/FileServerConfig.java b/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/config/FileServerConfig.java index d94ee7acf2..ee58ae02ee 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/config/FileServerConfig.java +++ b/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/config/FileServerConfig.java @@ -23,5 +23,5 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration -@ComponentScan(basePackages = "org.apache.airavata.file.server") +@ComponentScan(basePackages = {"org.apache.airavata.file.server", "org.apache.airavata.storage.service", "org.apache.airavata.storage.config"}) public class FileServerConfig {} diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/controller/FileController.java b/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/controller/FileController.java index fd17237392..8207762179 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/controller/FileController.java +++ b/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/controller/FileController.java @@ -21,8 +21,8 @@ package org.apache.airavata.file.server.controller; import java.io.File; import java.nio.file.Path; -import org.apache.airavata.file.server.model.FileUploadResponse; -import org.apache.airavata.file.server.service.AirvataFileService; +import org.apache.airavata.storage.model.FileUploadResponse; +import org.apache.airavata.storage.service.AirvataFileService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -97,7 +97,7 @@ public class FileController { String relPath = subPath.startsWith("/") ? subPath : "/" + subPath; try { String name = file.getName(); - fileService.uploadFile(processId, relPath, file); + fileService.uploadFile(processId, relPath, file.getInputStream(), name, file.getSize()); return ResponseEntity.ok(new FileUploadResponse(name, relPath, file.getContentType(), file.getSize())); } catch (Exception e) { diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/FileServerConfiguration.java b/airavata-api/src/main/java/org/apache/airavata/storage/config/StorageConfiguration.java similarity index 93% rename from airavata-api/file-server/src/main/java/org/apache/airavata/file/server/FileServerConfiguration.java rename to airavata-api/src/main/java/org/apache/airavata/storage/config/StorageConfiguration.java index ec35cc888a..92fe3572d0 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/FileServerConfiguration.java +++ b/airavata-api/src/main/java/org/apache/airavata/storage/config/StorageConfiguration.java @@ -17,7 +17,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.airavata.file.server; +package org.apache.airavata.storage.config; import org.apache.airavata.execution.orchestrator.AdaptorSupport; import org.apache.airavata.execution.orchestrator.AdaptorSupportImpl; @@ -27,7 +27,7 @@ import org.springframework.stereotype.Component; @Component @ConfigurationProperties -public class FileServerConfiguration { +public class StorageConfiguration { @Bean public AdaptorSupport adaptorSupport() { diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/AiravataDirectory.java b/airavata-api/src/main/java/org/apache/airavata/storage/model/AiravataDirectory.java similarity index 98% rename from airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/AiravataDirectory.java rename to airavata-api/src/main/java/org/apache/airavata/storage/model/AiravataDirectory.java index 344fa787b8..ff67c55424 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/AiravataDirectory.java +++ b/airavata-api/src/main/java/org/apache/airavata/storage/model/AiravataDirectory.java @@ -17,7 +17,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.airavata.file.server.model; +package org.apache.airavata.storage.model; import java.util.ArrayList; import java.util.List; diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/AiravataFile.java b/airavata-api/src/main/java/org/apache/airavata/storage/model/AiravataFile.java similarity index 97% rename from airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/AiravataFile.java rename to airavata-api/src/main/java/org/apache/airavata/storage/model/AiravataFile.java index 218e0c85a6..91dab02a2c 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/AiravataFile.java +++ b/airavata-api/src/main/java/org/apache/airavata/storage/model/AiravataFile.java @@ -17,7 +17,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.airavata.file.server.model; +package org.apache.airavata.storage.model; import org.apache.airavata.storage.util.FileMetadata; diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/FileUploadResponse.java b/airavata-api/src/main/java/org/apache/airavata/storage/model/FileUploadResponse.java similarity index 97% rename from airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/FileUploadResponse.java rename to airavata-api/src/main/java/org/apache/airavata/storage/model/FileUploadResponse.java index 8c5443e8b0..6a8d7659b6 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/model/FileUploadResponse.java +++ b/airavata-api/src/main/java/org/apache/airavata/storage/model/FileUploadResponse.java @@ -17,7 +17,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.airavata.file.server.model; +package org.apache.airavata.storage.model; public class FileUploadResponse { private String name; diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/service/AirvataFileService.java b/airavata-api/src/main/java/org/apache/airavata/storage/service/AirvataFileService.java similarity index 93% rename from airavata-api/file-server/src/main/java/org/apache/airavata/file/server/service/AirvataFileService.java rename to airavata-api/src/main/java/org/apache/airavata/storage/service/AirvataFileService.java index 1fe7966838..ba1194ed04 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/service/AirvataFileService.java +++ b/airavata-api/src/main/java/org/apache/airavata/storage/service/AirvataFileService.java @@ -17,24 +17,24 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.airavata.file.server.service; +package org.apache.airavata.storage.service; import java.io.File; +import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.util.List; import org.apache.airavata.compute.util.AgentAdaptor; import org.apache.airavata.execution.orchestrator.AdaptorSupport; -import org.apache.airavata.file.server.model.AiravataDirectory; -import org.apache.airavata.file.server.model.AiravataFile; +import org.apache.airavata.storage.model.AiravataDirectory; +import org.apache.airavata.storage.model.AiravataFile; import org.apache.airavata.execution.handler.RegistryServerHandler; import org.apache.airavata.storage.util.FileMetadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; @Service public class AirvataFileService { @@ -104,13 +104,14 @@ public class AirvataFileService { return AiravataFile.fromMetadata(info); } - public void uploadFile(String processId, String subPath, MultipartFile file) throws Exception { + public void uploadFile(String processId, String subPath, InputStream inputStream, String fileName, long fileSize) + throws Exception { var tempPath = Files.createTempFile("tempfile_", ".data").toAbsolutePath(); var metadata = new FileMetadata(); - metadata.setName(file.getName()); - metadata.setSize(file.getSize()); - Files.copy(file.getInputStream(), tempPath, StandardCopyOption.REPLACE_EXISTING); + metadata.setName(fileName); + metadata.setSize(fileSize); + Files.copy(inputStream, tempPath, StandardCopyOption.REPLACE_EXISTING); ProcessDataManager dataManager = new ProcessDataManager(registryClient, processId, adaptorSupport); AgentAdaptor agentAdaptor = getAgentAdaptor(dataManager, processId); diff --git a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/service/ProcessDataManager.java b/airavata-api/src/main/java/org/apache/airavata/storage/service/ProcessDataManager.java similarity index 98% rename from airavata-api/file-server/src/main/java/org/apache/airavata/file/server/service/ProcessDataManager.java rename to airavata-api/src/main/java/org/apache/airavata/storage/service/ProcessDataManager.java index 9554e88f2b..36cbc2b740 100644 --- a/airavata-api/file-server/src/main/java/org/apache/airavata/file/server/service/ProcessDataManager.java +++ b/airavata-api/src/main/java/org/apache/airavata/storage/service/ProcessDataManager.java @@ -17,7 +17,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.airavata.file.server.service; +package org.apache.airavata.storage.service; import java.util.UUID; import org.apache.airavata.compute.task.aws.AWSProcessContextManager;
