Extending resource service
diff --git a/agent/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java b/agent/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
index 3c2b9c1..b98b241 100644
--- a/agent/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
+++ b/agent/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
@@ -59,7 +59,7 @@
} catch (Exception e) {
e.printStackTrace();
}
- }); //prints "bar"
+ });
});
});
diff --git a/services/pom.xml b/services/pom.xml
index 6674fd4..3d7bdd1 100644
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -20,7 +20,7 @@
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
- <version>3.4.0</version>
+ <version>3.9.1</version>
</dependency>
<dependency>
<groupId>io.github.lognet</groupId>
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/ResourceServiceHandler.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/ResourceServiceHandler.java
index 6eea77a..c9fa23e 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/ResourceServiceHandler.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/ResourceServiceHandler.java
@@ -1,18 +1,77 @@
package org.apache.airavata.mft.resource.server.handler;
+import com.google.protobuf.Empty;
import io.grpc.stub.StreamObserver;
-import org.apache.airavata.mft.resource.service.ResourceServiceGrpc;
-import org.apache.airavata.mft.resource.service.SCPResource;
-import org.apache.airavata.mft.resource.service.SCPResourceRequest;
+import org.apache.airavata.mft.resource.service.*;
import org.lognet.springboot.grpc.GRpcService;
@GRpcService
public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceImplBase {
@Override
- public void getSCPResource(SCPResourceRequest request, StreamObserver<SCPResource> responseObserver) {
- SCPResource.Builder resourceBuilder = SCPResource.newBuilder().setHost("localhost").setPort(22);
+ public void getSCPStorage(SCPStorageGetRequest request, StreamObserver<SCPStorage> responseObserver) {
+ super.getSCPStorage(request, responseObserver);
+ }
+
+ @Override
+ public void createSCPStorage(SCPStorageCreateRequest request, StreamObserver<SCPStorage> responseObserver) {
+ super.createSCPStorage(request, responseObserver);
+ }
+
+ @Override
+ public void updateSCPStorage(SCPStorageUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ super.updateSCPStorage(request, responseObserver);
+ }
+
+ @Override
+ public void deleteSCPStorage(SCPStorageDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ super.deleteSCPStorage(request, responseObserver);
+ }
+
+ @Override
+ public void getSCPResource(SCPResourceGetRequest request, StreamObserver<SCPResource> responseObserver) {
+ SCPResource.Builder resourceBuilder = SCPResource.newBuilder().setResourceId("001")
+ .setScpStorage(SCPStorage.newBuilder()
+ .setHost("localhost")
+ .setPort(22).build());
responseObserver.onNext(resourceBuilder.build());
responseObserver.onCompleted();
+
+
+ }
+
+ @Override
+ public void createSCPResource(SCPResourceCreateRequest request, StreamObserver<SCPResource> responseObserver) {
+ super.createSCPResource(request, responseObserver);
+ }
+
+ @Override
+ public void updateSCPResource(SCPResourceUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ super.updateSCPResource(request, responseObserver);
+ }
+
+ @Override
+ public void deleteSCPResource(SCPResourceDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ super.deleteSCPResource(request, responseObserver);
+ }
+
+ @Override
+ public void getLocalResource(LocalResourceGetRequest request, StreamObserver<LocalResource> responseObserver) {
+ super.getLocalResource(request, responseObserver);
+ }
+
+ @Override
+ public void createLocalResource(LocalResourceCreateRequest request, StreamObserver<LocalResource> responseObserver) {
+ super.createLocalResource(request, responseObserver);
+ }
+
+ @Override
+ public void updateLocalResource(LocalResourceUpdateRequest request, StreamObserver<Empty> responseObserver) {
+ super.updateLocalResource(request, responseObserver);
+ }
+
+ @Override
+ public void deleteLocalResource(LocalResourceDeleteRequest request, StreamObserver<Empty> responseObserver) {
+ super.deleteLocalResource(request, responseObserver);
}
}
diff --git a/services/resource-service/stub/src/main/proto/ResourceService.proto b/services/resource-service/stub/src/main/proto/ResourceService.proto
index 681a7c1..04b27a0 100644
--- a/services/resource-service/stub/src/main/proto/ResourceService.proto
+++ b/services/resource-service/stub/src/main/proto/ResourceService.proto
@@ -4,21 +4,163 @@
package org.apache.airavata.mft.resource.service;
import "google/api/annotations.proto";
+import "google/protobuf/empty.proto";
-message SCPResource {
- string resourceId = 1;
+// SCP Storage
+
+message SCPStorage {
+ string storageId = 1;
string host = 2;
int32 port = 3;
}
-message SCPResourceRequest {
+message SCPStorageGetRequest {
+ string storageId = 1;
+}
+
+message SCPStorageCreateRequest {
+ string host = 1;
+ int32 port = 2;
+}
+
+message SCPStorageUpdateRequest {
+ string storageId = 1;
+ string host = 2;
+ int32 port = 3;
+}
+
+message SCPStorageDeleteRequest {
+ string storageId = 1;
+}
+
+// SCP Resource
+
+message SCPResource {
+ string resourceId = 1;
+ SCPStorage scpStorage = 2;
+ string resourcePath = 3;
+}
+
+message SCPResourceGetRequest {
+ string resourceId = 1;
+}
+
+message SCPResourceCreateRequest {
+ string scpStorageId = 1;
+ string resourcePath = 2;
+}
+
+message SCPResourceUpdateRequest {
+ string resourceId = 1;
+ string scpStorageId = 2;
+ string resourcePath = 3;
+}
+
+message SCPResourceDeleteRequest {
+ string resourceId = 1;
+}
+
+// Local Resource
+
+message LocalResource {
+ string resourceId = 1;
+ string resourcePath = 2;
+}
+
+message LocalResourceGetRequest {
+ string resourceId = 1;
+}
+
+message LocalResourceCreateRequest {
+ string resourcePath = 1;
+}
+
+message LocalResourceUpdateRequest {
+ string resourceId = 1;
+ string resourcePath = 2;
+}
+
+message LocalResourceDeleteRequest {
string resourceId = 1;
}
service ResourceService {
- rpc getSCPResource (SCPResourceRequest) returns (SCPResource) {
+ // SCP Storage
+
+ rpc getSCPStorage (SCPStorageGetRequest) returns (SCPStorage) {
+ option (google.api.http) = {
+ get: "/v1.0/resource/scp/storage"
+ };
+ }
+
+ rpc createSCPStorage (SCPStorageCreateRequest) returns (SCPStorage) {
+ option (google.api.http) = {
+ post: "/v1.0/resource/scp/storage"
+ };
+ }
+
+ rpc updateSCPStorage (SCPStorageUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/resource/scp/storage"
+ };
+ }
+
+ rpc deleteSCPStorage (SCPStorageDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/resource/scp/storage"
+ };
+ }
+
+ // SCP Resource
+
+ rpc getSCPResource (SCPResourceGetRequest) returns (SCPResource) {
option (google.api.http) = {
get: "/v1.0/resource/scp"
};
}
+
+ rpc createSCPResource (SCPResourceCreateRequest) returns (SCPResource) {
+ option (google.api.http) = {
+ post: "/v1.0/resource/scp"
+ };
+ }
+
+ rpc updateSCPResource (SCPResourceUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/resource/scp"
+ };
+ }
+
+ rpc deleteSCPResource (SCPResourceDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/resource/scp"
+ };
+ }
+
+ // Local Resource
+
+ rpc getLocalResource (LocalResourceGetRequest) returns (LocalResource) {
+ option (google.api.http) = {
+ get: "/v1.0/resource/local"
+ };
+ }
+
+ rpc createLocalResource (LocalResourceCreateRequest) returns (LocalResource) {
+ option (google.api.http) = {
+ post: "/v1.0/resource/local"
+ };
+ }
+
+ rpc updateLocalResource (LocalResourceUpdateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ put: "/v1.0/resource/local"
+ };
+ }
+
+ rpc deleteLocalResource (LocalResourceDeleteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1.0/resource/local"
+ };
+ }
+
}
\ No newline at end of file