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;

Reply via email to