Skip to content

Commit

Permalink
refactor: rename package functions (#24)
Browse files Browse the repository at this point in the history
  • Loading branch information
manuraf authored Oct 19, 2023
1 parent 8a08732 commit 384dd82
Show file tree
Hide file tree
Showing 31 changed files with 145 additions and 146 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare;
package it.pagopa.selfcare.onboarding;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
Expand All @@ -18,9 +18,10 @@
import com.microsoft.durabletask.azurefunctions.DurableClientContext;
import com.microsoft.durabletask.azurefunctions.DurableClientInput;
import com.microsoft.durabletask.azurefunctions.DurableOrchestrationTrigger;
import it.pagopa.selfcare.entity.Onboarding;
import it.pagopa.selfcare.exception.ResourceNotFoundException;
import it.pagopa.selfcare.service.OnboardingService;
import it.pagopa.selfcare.onboarding.entity.Onboarding;
import it.pagopa.selfcare.onboarding.exception.FunctionOrchestratedException;
import it.pagopa.selfcare.onboarding.exception.ResourceNotFoundException;
import it.pagopa.selfcare.onboarding.service.OnboardingService;
import jakarta.inject.Inject;

import java.time.Duration;
Expand All @@ -30,13 +31,17 @@
* Azure Functions with HTTP Trigger integrated with Quarkus
*/
public class OnboardingFunctions {
public static final String CREATED_NEW_ONBOARDING_ORCHESTRATION_WITH_INSTANCE_ID_MSG = "Created new Onboarding orchestration with instance ID = ";
public static final String SAVE_TOKEN_ACTIVITY_NAME = "SaveToken";
public static final String BUILD_CONTRACT_ACTIVITY_NAME = "BuildContract";
public static final String FORMAT_LOGGER_ONBOARDING_STRING = "%s: %s";
@Inject
OnboardingService service;

@Inject
ObjectMapper objectMapper;

final static TaskOptions optionsRetry;
private static final TaskOptions optionsRetry;

static {
// Make 3 attempts with 5 seconds between retries
Expand All @@ -60,7 +65,7 @@ public HttpResponseMessage startOrchestration(

DurableTaskClient client = durableContext.getClient();
String instanceId = client.scheduleNewOrchestrationInstance("Onboardings", onboardingId);
context.getLogger().info("Created new Onboarding orchestration with instance ID = " + instanceId);
context.getLogger().info(String.format("%s %s", CREATED_NEW_ONBOARDING_ORCHESTRATION_WITH_INSTANCE_ID_MSG, instanceId));

return durableContext.createCheckStatusResponse(request, instanceId);
}
Expand All @@ -70,7 +75,7 @@ public HttpResponseMessage startOrchestration(
* or wait for external events in a way that's completely fault-tolerant.
*/
@FunctionName("Onboardings")
public String OnboardingsOrchestrator(
public String onboardingsOrchestrator(
@DurableOrchestrationTrigger(name = "taskOrchestrationContext") TaskOrchestrationContext ctx) {
String onboardingId = ctx.getInput(String.class);
String onboardingString = getOnboardingString(onboardingId);
Expand All @@ -82,62 +87,62 @@ private String getOnboardingString(String onboardingId) {
Onboarding onboarding = service.getOnboarding(onboardingId)
.orElseThrow(() -> new ResourceNotFoundException(String.format("Onboarding with id %s not found!", onboardingId)));

String onboardingString = null;
String onboardingString;
try {
onboardingString = objectMapper.writeValueAsString(onboarding);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
throw new FunctionOrchestratedException(e);
}
return onboardingString;
}

private String onboardingsOrchestratorDefault(TaskOrchestrationContext ctx, String onboardingString){
String result = "";
result += ctx.callActivity("BuildContract", onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity("SaveToken", onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity(BUILD_CONTRACT_ACTIVITY_NAME, onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity(SAVE_TOKEN_ACTIVITY_NAME, onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity("SendMailRegistration", onboardingString, optionsRetry, String.class).await() + ", ";
return result;
}

private String onboardingsOrchestratorPAorSAorGSPIPA(TaskOrchestrationContext ctx, String onboardingString){
String result = "";
result += ctx.callActivity("BuildContract", onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity("SaveToken", onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity(BUILD_CONTRACT_ACTIVITY_NAME, onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity(SAVE_TOKEN_ACTIVITY_NAME, onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity("SendMailRegistrationWithContract", onboardingString, optionsRetry, String.class).await() + ", ";
return result;
}

private String onboardingsOrchestratorPG(TaskOrchestrationContext ctx, String onboardingString){
String result = "";
result += ctx.callActivity("SaveToken", onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity(SAVE_TOKEN_ACTIVITY_NAME, onboardingString, optionsRetry, String.class).await() + ", ";
result += ctx.callActivity("SendMailConfirmation", onboardingString, optionsRetry, String.class).await() + ", ";
return result;
}

/**
* This is the activity function that gets invoked by the orchestrator function.
*/
@FunctionName("BuildContract")
@FunctionName(BUILD_CONTRACT_ACTIVITY_NAME)
public String buildContract(@DurableActivityTrigger(name = "onboardingString") String onboardingString, final ExecutionContext context) {
context.getLogger().info("BuildContract: " + onboardingString);
context.getLogger().info(String.format(FORMAT_LOGGER_ONBOARDING_STRING, BUILD_CONTRACT_ACTIVITY_NAME, onboardingString));
try {
service.createContract(objectMapper.readValue(onboardingString, Onboarding.class));
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
throw new FunctionOrchestratedException(e);
}
return onboardingString;
}

/**
* This is the activity function that gets invoked by the orchestrator function.
*/
@FunctionName("SaveToken")
public String SaveToken(@DurableActivityTrigger(name = "onboardingString") String onboardingString, final ExecutionContext context) {
context.getLogger().info("SaveToken: " + onboardingString);
@FunctionName(SAVE_TOKEN_ACTIVITY_NAME)
public String saveToken(@DurableActivityTrigger(name = "onboardingString") String onboardingString, final ExecutionContext context) {
context.getLogger().info(String.format(FORMAT_LOGGER_ONBOARDING_STRING, SAVE_TOKEN_ACTIVITY_NAME, onboardingString));
try {
service.saveToken(objectMapper.readValue(onboardingString, Onboarding.class));
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
throw new FunctionOrchestratedException(e);
}
return onboardingString;
}
Expand All @@ -147,7 +152,7 @@ public String SaveToken(@DurableActivityTrigger(name = "onboardingString") Strin
*/
@FunctionName("SendMailRegistrationWithContract")
public String sendMailWithContract(@DurableActivityTrigger(name = "onboardingString") String onboardingString, final ExecutionContext context) {
context.getLogger().info("SendMailRegistrationWithContract: " + onboardingString);
context.getLogger().info(String.format(FORMAT_LOGGER_ONBOARDING_STRING,"SendMailRegistrationWithContract", onboardingString));
return onboardingString;
}

Expand All @@ -156,7 +161,7 @@ public String sendMailWithContract(@DurableActivityTrigger(name = "onboardingStr
*/
@FunctionName("SendMailRegistration")
public String sendMailRegistration(@DurableActivityTrigger(name = "onboardingString") String onboardingString, final ExecutionContext context) {
context.getLogger().info("SendMailRegistration: " + onboardingString);
context.getLogger().info(String.format(FORMAT_LOGGER_ONBOARDING_STRING, "SendMailRegistration", onboardingString));
return onboardingString;
}

Expand All @@ -165,7 +170,7 @@ public String sendMailRegistration(@DurableActivityTrigger(name = "onboardingStr
*/
@FunctionName("SendMailConfirmation")
public String sendMailConfirmation(@DurableActivityTrigger(name = "onboardingString") String onboardingString, final ExecutionContext context) {
context.getLogger().info("SendMailConfirmation: " + onboardingString);
context.getLogger().info(String.format(FORMAT_LOGGER_ONBOARDING_STRING,"SendMailConfirmation", onboardingString));
return onboardingString;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.config;
package it.pagopa.selfcare.onboarding.config;

import io.smallrye.config.ConfigMapping;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.config;
package it.pagopa.selfcare.onboarding.config;

import io.smallrye.config.ConfigMapping;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.config;
package it.pagopa.selfcare.onboarding.config;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
Expand All @@ -9,6 +9,7 @@
import io.vertx.core.json.jackson.DatabindCodec;
import it.pagopa.selfcare.azurestorage.AzureBlobClientDefault;
import it.pagopa.selfcare.azurestorage.AzureBlobClient;
import it.pagopa.selfcare.onboarding.exception.GenericOnboardingException;
import it.pagopa.selfcare.product.service.ProductService;
import it.pagopa.selfcare.product.service.ProductServiceDefault;
import jakarta.enterprise.context.ApplicationScoped;
Expand Down Expand Up @@ -43,7 +44,7 @@ public ProductService productService(AzureStorageConfig azureStorageConfig){
try {
return new ProductServiceDefault(productJsonString, objectMapper());
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
throw new GenericOnboardingException("Found an issue when trying to serialize product json string!!");
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;


public class Billing {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;


public class DataProtectionOfficer {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;

import it.pagopa.selfcare.commons.base.utils.InstitutionType;
import it.pagopa.selfcare.onboarding.common.InstitutionPaSubunitType;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;


import java.nio.charset.StandardCharsets;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;


import io.quarkus.mongodb.panache.common.MongoEntity;
import it.pagopa.selfcare.onboarding.common.OnboardingStatus;
import org.bson.codecs.pojo.annotations.BsonId;
import org.bson.codecs.pojo.annotations.BsonIgnore;
import org.bson.types.ObjectId;

import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.util.List;


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;


public class PaymentServiceProvider {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;

import io.quarkus.mongodb.panache.common.MongoEntity;
import it.pagopa.selfcare.onboarding.common.TokenType;
import org.bson.types.ObjectId;

import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.util.List;


@MongoEntity(collection="tokens")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.entity;
package it.pagopa.selfcare.onboarding.entity;

import it.pagopa.selfcare.commons.base.security.PartyRole;

Expand All @@ -7,7 +7,7 @@ public class User {

private String id;
private PartyRole role;
private String ProductRole;
private String productRole;

public String getId() {
return id;
Expand All @@ -26,10 +26,10 @@ public void setRole(PartyRole role) {
}

public String getProductRole() {
return ProductRole;
return productRole;
}

public void setProductRole(String productRole) {
ProductRole = productRole;
this.productRole = productRole;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package it.pagopa.selfcare.onboarding.exception;

public class FunctionOrchestratedException extends RuntimeException {

public FunctionOrchestratedException(Exception e) {
super(e);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.exception;
package it.pagopa.selfcare.onboarding.exception;

public class GenericOnboardingException extends RuntimeException {

Expand All @@ -9,6 +9,11 @@ public GenericOnboardingException(String message, String code) {
this.code = code;
}

public GenericOnboardingException(String message) {
super(message);
this.code = "0000";
}

public String getCode() {
return code;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.pagopa.selfcare.exception;
package it.pagopa.selfcare.onboarding.exception;


public class ResourceNotFoundException extends RuntimeException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package it.pagopa.selfcare.repository;
package it.pagopa.selfcare.onboarding.repository;

import io.quarkus.mongodb.panache.PanacheMongoRepository;
import it.pagopa.selfcare.entity.Onboarding;
import it.pagopa.selfcare.onboarding.entity.Onboarding;
import jakarta.enterprise.context.ApplicationScoped;

@ApplicationScoped
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package it.pagopa.selfcare.repository;
package it.pagopa.selfcare.onboarding.repository;

import io.quarkus.mongodb.panache.PanacheMongoRepository;
import it.pagopa.selfcare.entity.Token;
import it.pagopa.selfcare.onboarding.entity.Token;
import jakarta.enterprise.context.ApplicationScoped;

@ApplicationScoped
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package it.pagopa.selfcare.service;
package it.pagopa.selfcare.onboarding.service;

import it.pagopa.selfcare.entity.Onboarding;
import it.pagopa.selfcare.onboarding.entity.Onboarding;
import org.openapi.quarkus.user_registry_json.model.UserResource;

import java.io.File;
Expand Down
Loading

0 comments on commit 384dd82

Please sign in to comment.