Commit bff8692a authored by Fotis Soldatos's avatar Fotis Soldatos
Browse files

fix(automation): bind ztpAdd with return statement

parent 19ec3808
Loading
Loading
Loading
Loading
+20 −11
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@ package eu.teraflow.automation;

import automation.Automation;
import context.ContextOuterClass;
import eu.teraflow.automation.device.model.Device;
import eu.teraflow.automation.model.DeviceRoleId;
import io.quarkus.grpc.GrpcService;
import io.smallrye.mutiny.Uni;
import javax.inject.Inject;
@@ -32,18 +34,13 @@ public class AutomationGatewayImpl implements AutomationGateway {

    @Override
    public Uni<Automation.DeviceRoleState> ztpAdd(Automation.DeviceRole request) {
        final var devRoleId = request.getDevRoleId().getDevRoleId().getUuid();
        final var deviceId = serializer.deserialize(request.getDevRoleId().getDevId());

        // TODO tie this with return
        automationService.addDevice(deviceId);

        // TODO Set all fields of device role state (create models, serializer)
        return Uni.createFrom()
                .item(
                        () ->
                                Automation.DeviceRoleState.newBuilder()
                                        .setDevRoleId(request.getDevRoleId())
                                        .build());
        return automationService
                .addDevice(deviceId)
                .onItem()
                .transform( device -> transformToDeviceRoleState(device, devRoleId));
    }

    @Override
@@ -70,4 +67,16 @@ public class AutomationGatewayImpl implements AutomationGateway {
    public Uni<Automation.DeviceDeletionResult> ztpDeleteAll(Automation.Empty empty) {
        return Uni.createFrom().item(() -> Automation.DeviceDeletionResult.newBuilder().build());
    }

    // TODO When `DeviceRoleState` domain object will be created, move this method to Serializer class and create related tests
    private Automation.DeviceRoleState transformToDeviceRoleState(Device device, String devRoleId){

        final var deviceRoleId = new DeviceRoleId(devRoleId, device.getDeviceId());
        final var serializeDeviceRoleId = serializer.serialize(deviceRoleId);

        return Automation.DeviceRoleState.newBuilder()
                .setDevRoleId(serializeDeviceRoleId)
                .setDevRoleState(Automation.ZtpDeviceState.ZTP_DEV_STATE_CREATED)
                .build();
    }
}
 No newline at end of file
+12 −12
Original line number Diff line number Diff line
@@ -3,20 +3,20 @@ apiVersion: v1
kind: Service
metadata:
  annotations:
    app.quarkus.io/commit-id: 500a0a232ec361b669b48cc432e9bd9c332eae8b
    app.quarkus.io/build-timestamp: 2022-02-11 - 10:27:21 +0000
    app.quarkus.io/commit-id: 10192a8dd76072b7c1026824117157d672385e29
    app.quarkus.io/build-timestamp: 2022-02-11 - 16:52:33 +0000
  labels:
    app.kubernetes.io/name: automationservice
    app: automationservice
  name: automationservice
spec:
  ports:
    - name: grpc-server
      port: 9999
      targetPort: 9999
    - name: http
      port: 8080
      targetPort: 8080
    - name: grpc-server
      port: 9999
      targetPort: 9999
  selector:
    app.kubernetes.io/name: automationservice
  type: ClusterIP
@@ -25,8 +25,8 @@ apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    app.quarkus.io/commit-id: 500a0a232ec361b669b48cc432e9bd9c332eae8b
    app.quarkus.io/build-timestamp: 2022-02-11 - 10:27:21 +0000
    app.quarkus.io/commit-id: 10192a8dd76072b7c1026824117157d672385e29
    app.quarkus.io/build-timestamp: 2022-02-11 - 16:52:33 +0000
  labels:
    app: automationservice
    app.kubernetes.io/name: automationservice
@@ -39,8 +39,8 @@ spec:
  template:
    metadata:
      annotations:
        app.quarkus.io/commit-id: 500a0a232ec361b669b48cc432e9bd9c332eae8b
        app.quarkus.io/build-timestamp: 2022-02-11 - 10:27:21 +0000
        app.quarkus.io/commit-id: 10192a8dd76072b7c1026824117157d672385e29
        app.quarkus.io/build-timestamp: 2022-02-11 - 16:52:33 +0000
      labels:
        app: automationservice
        app.kubernetes.io/name: automationservice
@@ -69,12 +69,12 @@ spec:
            timeoutSeconds: 10
          name: automationservice
          ports:
            - containerPort: 9999
              name: grpc-server
              protocol: TCP
            - containerPort: 8080
              name: http
              protocol: TCP
            - containerPort: 9999
              name: grpc-server
              protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet: