diff --git a/java/pom.xml b/java/pom.xml index 5c7fab31d..045a2f7e5 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -5,12 +5,12 @@ 4.0.0 - com.amido.stacks.modules + com.ensono.stacks.modules stacks-modules-parent - 3.0.26-RELEASE + 3.0.52 - com.amido.stacks.workloads + com.ensono.stacks.workloads stacks-api 1.0.0 @@ -18,27 +18,41 @@ Demo project for Java - 1.0.5.11-RELEASE - 2.0.7 - no-aws - no-azure + + + + + + + + + + + 2.6.4 4.0.0 4.0.10 - 4.6.15 - 4.6.15 + 4.6.15 + 4.6.15 1.12.779 1.9.9.1 3.5.0 2022.0.4 3.5.24 - 3.4.0 + + 2.2.0 + 3.4.0 11.1.0 5.11.3 + 5.2.5 + + 2024.1.38 + 2.25 + @@ -46,6 +60,8 @@ http localhost 9000 + + ../../stacks-preprocessor-output @@ -69,24 +85,16 @@ - - - com.amido.stacks.modules - stacks-core-api - ${stacks.core.api.version} - - - org.aspectj - aspectjweaver - - + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.openapi.version} + - com.amido.stacks.modules - stacks-core-commons - ${stacks.core.commons.version} + org.springframework + spring-context @@ -220,7 +228,7 @@ au.com.dius.pact consumer - ${au.com.dius.pact.consumer-version} + ${au.com.dius.pact.consumer.version} test @@ -249,9 +257,21 @@ org.springframework.data spring-data-commons - ${spring.data.commons} + ${spring.data.commons.version} + + systems.manifold + manifold + ${manifold.version} + + + + com.spotify.fmt + fmt-maven-plugin + ${fmt-maven-plugin.version} + + @@ -261,7 +281,7 @@ spring-boot-maven-plugin ${spring.boot.version} - com.amido.stacks.workloads.Application + com.ensono.stacks.workloads.Application @@ -319,7 +339,7 @@ au.com.dius.pact.provider maven - ${au.com.dius.pact.provider.maven-version} + ${au.com.dius.pact.provider.version} ${pact.broker.url} ${pact.broker.token} @@ -336,20 +356,20 @@ - - com.coveo - fmt-maven-plugin - ${fmt-maven-plugin.version} - - true - true - .*\.java - - false - false - - - + + + + + + + + + + + + + + org.apache.maven.plugins maven-checkstyle-plugin @@ -423,6 +443,109 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + 17 + 17 + UTF-8 + + + -Xplugin:Manifold + -Amanifold.source.target=${prop.output.dir} + ${prop.aws} + ${prop.azure} + ${prop.cosmosdb} + ${prop.dynamodb} + + + + + org.mapstruct + mapstruct-processor + ${org.mapstruct.version} + + + systems.manifold + manifold-preprocessor + ${manifold.version} + + + org.projectlombok + lombok-mapstruct-binding + ${org.mapstruct.binding.version} + + + org.mapstruct + mapstruct-processor + ${org.mapstruct.version} + + + org.projectlombok + lombok + ${lombok.version} + + + org.projectlombok + lombok-mapstruct-binding + 0.2.0 + + + + + + + com.ensono.stacks + stacks-maven-plugin + 1.0-SNAPSHOT + + + + + stacks-clean-project + + + stacks-prepare-project + + + stacks-prepare-project-tests + + + + + + ${prop.output.dir} + src/main/resources/templates/project-builder-config.json + src/main/resources/templates/ + + + + + com.spotify.fmt + fmt-maven-plugin + ${fmt-maven-plugin.version} + + + compile + + format + + + + + ${prop.output.dir}/src/main/java + true + true + .*\.java + + false + false + + + @@ -432,29 +555,159 @@ aws - - - . - - + -AUSE_AWS= aws + + 2.4.4 + + 1.12.579 + 2.14.0 + 10.1.15 + + + + + org.apache.tomcat.embed + tomcat-embed-core + ${tomcat-embed.version} + + + + + + io.awspring.cloud + spring-cloud-starter-aws-secrets-manager-config + ${spring.cloud.starter.aws.secrets.manager.config.version} + + + + + + com.amazonaws + aws-java-sdk-core + ${aws-java-sdk.version} + + + + com.amazonaws + aws-java-sdk-dynamodb + ${aws-java-sdk.version} + + + + com.amazonaws + aws-java-sdk-s3 + ${aws-java-sdk.version} + + + + + com.amazonaws + aws-xray-recorder-sdk-spring + ${aws-xray-recorder-sdk.version} + + + com.amazonaws + aws-xray-recorder-sdk-metrics + ${aws-xray-recorder-sdk.version} + + + com.amazonaws + aws-xray-recorder-sdk-aws-sdk-instrumentor + ${aws-xray-recorder-sdk.version} + + + com.amazonaws + aws-xray-recorder-sdk-log4j + ${aws-xray-recorder-sdk.version} + + + com.amazonaws + aws-xray-recorder-sdk-apache-http + ${aws-xray-recorder-sdk.version} + + + + + + io.awspring.cloud + spring-cloud-aws-dependencies + ${spring.cloud.starter.aws.secrets.manager.config.version} + pom + import + + + com.amazonaws + aws-java-sdk-bom + ${aws-java-sdk.version} + pom + import + + + com.amazonaws + aws-xray-recorder-sdk-bom + ${aws-xray-recorder-sdk.version} + pom + import + + + azure - - - . - - + -AUSE_AZURE= azure + + com.azure.spring + azure-spring-boot + ${azure.springboot.version} + + + net.minidev + json-smart + + + + + + + + cosmosdb + + -AUSE_COSMOSDB= + cosmosdb + + 5.6.0 + + + + com.azure + azure-spring-data-cosmos + ${azure-spring-data-cosmos.version} + + + + + + dynamodb + + -AUSE_DYNAMODB= + dynamodb + + + + io.github.boostchicken + spring-data-dynamodb + ${spring.data.dynamodb.version} + @@ -518,7 +771,7 @@ ${exec-maven-plugin.version} - Add execution rigths on bash scripts + Add execution rights on bash scripts process-resources exec diff --git a/java/src/main/java/com/ensono/stacks/aws/tracing/XRayInspector.java b/java/src/main/java/com/ensono/stacks/aws/tracing/XRayInspector.java new file mode 100644 index 000000000..9260f0947 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/aws/tracing/XRayInspector.java @@ -0,0 +1,24 @@ +package com.ensono.stacks.aws.tracing; + + +#if USE_AWS +import com.amazonaws.xray.spring.aop.BaseAbstractXRayInterceptor; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Component; + + +@Aspect +@Component +@ConditionalOnProperty(value = "aws.xray.enabled", havingValue = "true") +public class XRayInspector extends BaseAbstractXRayInterceptor { + @Override + @Pointcut("within(com.amido.stacks..*) && bean(*Controller)") + public void xrayEnabledClasses() { + // Pointcut + } +} +#else +public class XRayInspector { } +#endif diff --git a/java/src/main/java/com/ensono/stacks/aws/tracing/XRayTracingFilter.java b/java/src/main/java/com/ensono/stacks/aws/tracing/XRayTracingFilter.java new file mode 100644 index 000000000..8a61f50a8 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/aws/tracing/XRayTracingFilter.java @@ -0,0 +1,46 @@ +package com.ensono.stacks.aws.tracing; + +#if USE_AWS + +import com.amazonaws.xray.AWSXRay; +import com.amazonaws.xray.AWSXRayRecorderBuilder; +import com.amazonaws.xray.jakarta.servlet.AWSXRayServletFilter; +import com.amazonaws.xray.log4j.Log4JSegmentListener; +import com.amazonaws.xray.metrics.MetricsSegmentListener; +import com.amazonaws.xray.plugins.EC2Plugin; +import com.amazonaws.xray.plugins.EKSPlugin; +import jakarta.servlet.Filter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConditionalOnProperty(value = "aws.xray.enabled", havingValue = "true") +@Slf4j +public class XRayTracingFilter { + + @Value("${spring.application.name:undefined}") + public String appName; + + @Bean + public Filter xrayFilter() { + + log.info("Initialising AWS XRay Support..."); + + AWSXRayRecorderBuilder builder = + AWSXRayRecorderBuilder.standard() + .withPlugin(new EC2Plugin()) + .withPlugin(new EKSPlugin()) + .withSegmentListener(new MetricsSegmentListener()) + .withSegmentListener(new Log4JSegmentListener(appName)); + + AWSXRay.setGlobalRecorder(builder.build()); + + return new AWSXRayServletFilter(appName); + } +} +#else +public class XRayTracingFilter {} +#endif diff --git a/java/src/main/java/com/ensono/stacks/core/api/annotations/CreateAPIResponses.java b/java/src/main/java/com/ensono/stacks/core/api/annotations/CreateAPIResponses.java new file mode 100644 index 000000000..6a8cb01e6 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/annotations/CreateAPIResponses.java @@ -0,0 +1,52 @@ +package com.ensono.stacks.core.api.annotations; + +import com.ensono.stacks.core.api.dto.ErrorResponse; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ApiResponse( + responseCode = "201", + description = "Resource created", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ResourceCreatedResponse.class))) +@ApiResponse( + responseCode = "400", + description = "Bad Request", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "401", + description = "Unauthorized, Access token is missing or invalid", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "403", + description = "Forbidden, the user does not have permission to execute this operation", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "409", + description = "Conflict, an item already exists", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@SecurityRequirement(name = "bearerAuth") +public @interface CreateAPIResponses {} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/annotations/DeleteAPIResponses.java b/java/src/main/java/com/ensono/stacks/core/api/annotations/DeleteAPIResponses.java new file mode 100644 index 000000000..d03a47d00 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/annotations/DeleteAPIResponses.java @@ -0,0 +1,59 @@ +package com.ensono.stacks.core.api.annotations; + +import com.ensono.stacks.core.api.dto.ErrorResponse; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ApiResponse( + responseCode = "200", + description = "Success", + content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))) +@ApiResponse( + responseCode = "204", + description = "No Content", + content = @Content(schema = @Schema(hidden = true))) +@ApiResponse( + responseCode = "400", + description = "Bad Request", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "401", + description = "Unauthorized, Access token is missing or invalid", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "403", + description = "Forbidden, the user does not have permission to execute this operation", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "404", + description = "Resource not found", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "409", + description = "Conflict, an item already exists", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@SecurityRequirement(name = "bearerAuth") +public @interface DeleteAPIResponses {} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/annotations/ReadAPIResponses.java b/java/src/main/java/com/ensono/stacks/core/api/annotations/ReadAPIResponses.java new file mode 100644 index 000000000..56ab7ccc3 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/annotations/ReadAPIResponses.java @@ -0,0 +1,30 @@ +package com.ensono.stacks.core.api.annotations; + +import com.ensono.stacks.core.api.dto.ErrorResponse; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ApiResponse( + responseCode = "404", + description = "Resource not found", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "400", + description = "Bad Request", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@SecurityRequirement(name = "bearerAuth") +public @interface ReadAPIResponses {} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/annotations/SearchAPIResponses.java b/java/src/main/java/com/ensono/stacks/core/api/annotations/SearchAPIResponses.java new file mode 100644 index 000000000..a12262623 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/annotations/SearchAPIResponses.java @@ -0,0 +1,23 @@ +package com.ensono.stacks.core.api.annotations; + +import com.ensono.stacks.core.api.dto.ErrorResponse; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ApiResponse( + responseCode = "400", + description = "Bad Request", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@SecurityRequirement(name = "bearerAuth") +public @interface SearchAPIResponses {} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/annotations/UpdateAPIResponses.java b/java/src/main/java/com/ensono/stacks/core/api/annotations/UpdateAPIResponses.java new file mode 100644 index 000000000..f4618f071 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/annotations/UpdateAPIResponses.java @@ -0,0 +1,66 @@ +package com.ensono.stacks.core.api.annotations; + +import com.ensono.stacks.core.api.dto.ErrorResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ApiResponse( + responseCode = "200", + description = "Success", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ResourceUpdatedResponse.class))) +@ApiResponse( + responseCode = "204", + description = "No Content", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "400", + description = "Bad Request", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "401", + description = "Unauthorized, Access token is missing or invalid", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "403", + description = "Forbidden, the user does not have permission to execute this operation", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "404", + description = "Resource not found", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@ApiResponse( + responseCode = "409", + description = "Conflict, an item already exists", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ErrorResponse.class))) +@SecurityRequirement(name = "bearerAuth") +public @interface UpdateAPIResponses {} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/dto/ErrorResponse.java b/java/src/main/java/com/ensono/stacks/core/api/dto/ErrorResponse.java new file mode 100644 index 000000000..a1faf1ddb --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/dto/ErrorResponse.java @@ -0,0 +1,16 @@ +package com.ensono.stacks.core.api.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ErrorResponse { + + int errorCode; + int operationCode; + String correlationId; + String description; +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/dto/request/GenerateTokenRequest.java b/java/src/main/java/com/ensono/stacks/core/api/dto/request/GenerateTokenRequest.java new file mode 100644 index 000000000..c6286b0e8 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/dto/request/GenerateTokenRequest.java @@ -0,0 +1,30 @@ +package com.ensono.stacks.core.api.dto.request; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class GenerateTokenRequest { + + @JsonProperty("client_id") + @NotBlank + private String client_id = null; + + @JsonProperty("client_secret") + @NotBlank + private String client_secret = null; + + @JsonProperty("audience") + @NotNull + private String audience = null; + + @JsonProperty("grant_type") + @NotNull + private String grant_type = null; +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/dto/response/GenerateTokenResponse.java b/java/src/main/java/com/ensono/stacks/core/api/dto/response/GenerateTokenResponse.java new file mode 100644 index 000000000..6bea67da8 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/dto/response/GenerateTokenResponse.java @@ -0,0 +1,21 @@ +package com.ensono.stacks.core.api.dto.response; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class GenerateTokenResponse { + + @JsonProperty("access_token") + private String access_token = null; + + @JsonProperty("expires_in") + private String expires_in = null; + + @JsonProperty("token_type") + private String token_type = null; +} diff --git a/java/src/main/java/com/ensono/stacks/core/api/dto/response/ResourceCreatedResponse.java b/java/src/main/java/com/ensono/stacks/core/api/dto/response/ResourceCreatedResponse.java new file mode 100644 index 000000000..8c5880be3 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/dto/response/ResourceCreatedResponse.java @@ -0,0 +1,16 @@ +package com.ensono.stacks.core.api.dto.response; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.UUID; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ResourceCreatedResponse { + + @JsonProperty("id") + private UUID id = null; +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/dto/response/ResourceUpdatedResponse.java b/java/src/main/java/com/ensono/stacks/core/api/dto/response/ResourceUpdatedResponse.java new file mode 100644 index 000000000..702cd40e4 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/dto/response/ResourceUpdatedResponse.java @@ -0,0 +1,15 @@ +package com.ensono.stacks.core.api.dto.response; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.UUID; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ResourceUpdatedResponse { + @JsonProperty("id") + private UUID id = null; +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/exception/ApiException.java b/java/src/main/java/com/ensono/stacks/core/api/exception/ApiException.java new file mode 100644 index 000000000..abbe52e00 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/exception/ApiException.java @@ -0,0 +1,23 @@ +package com.ensono.stacks.core.api.exception; + +public abstract class ApiException extends RuntimeException { + + final int operationCode; + final String correlationId; + + protected ApiException(String message, int operationCode, String correlationId) { + super(message); + this.operationCode = operationCode; + this.correlationId = correlationId; + } + + public int getOperationCode() { + return operationCode; + } + + public String getCorrelationId() { + return correlationId; + } + + public abstract int getExceptionCode(); +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/exception/ApiExceptionAdvice.java b/java/src/main/java/com/ensono/stacks/core/api/exception/ApiExceptionAdvice.java new file mode 100644 index 000000000..7b37d57a7 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/exception/ApiExceptionAdvice.java @@ -0,0 +1,47 @@ +package com.ensono.stacks.core.api.exception; + +import static org.springframework.http.HttpStatus.BAD_REQUEST; +import static org.springframework.web.context.request.RequestAttributes.SCOPE_REQUEST; + +import com.ensono.stacks.core.api.dto.ErrorResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatusCode; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.context.request.WebRequest; +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; + +@RestControllerAdvice +public class ApiExceptionAdvice extends ResponseEntityExceptionHandler { + + @Override + protected ResponseEntity handleMethodArgumentNotValid( + MethodArgumentNotValidException ex, + HttpHeaders headers, + HttpStatusCode status, + WebRequest request) { + + var validationIssues = processFieldErrors(ex.getBindingResult().getFieldErrors()); + ErrorResponse response = + new ErrorResponse( + BAD_REQUEST.value(), + 0, + Objects.toString(request.getAttribute("CorrelationId", SCOPE_REQUEST)), + "Invalid Request: " + validationIssues); + return new ResponseEntity<>(response, BAD_REQUEST); + } + + private Map processFieldErrors(List fieldErrors) { + Map errors = new HashMap<>(); + for (FieldError fieldError : fieldErrors) { + errors.put(fieldError.getField(), fieldError.getDefaultMessage()); + } + return errors; + } +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/api/filter/CorrelationIdFilter.java b/java/src/main/java/com/ensono/stacks/core/api/filter/CorrelationIdFilter.java new file mode 100644 index 000000000..cbd56740d --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/filter/CorrelationIdFilter.java @@ -0,0 +1,47 @@ +package com.ensono.stacks.core.api.filter; + +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.UUID; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.MDC; +import org.springframework.core.annotation.Order; +import org.springframework.web.filter.OncePerRequestFilter; + +@Order(1) +public class CorrelationIdFilter extends OncePerRequestFilter { + + private final String correlationIdHeader; + private final String mdcTokenKey; + + public CorrelationIdFilter(String correlationIdHeader, String mdcTokenKey) { + this.correlationIdHeader = correlationIdHeader; + this.mdcTokenKey = mdcTokenKey; + } + + @Override + protected void doFilterInternal( + HttpServletRequest httpServletRequest, + HttpServletResponse httpServletResponse, + FilterChain filterChain) + throws ServletException, IOException { + + try { + final String correlationId = UUID.randomUUID().toString(); + MDC.put(mdcTokenKey, correlationId); + + if (!StringUtils.isEmpty(correlationIdHeader)) { + httpServletResponse.addHeader(correlationIdHeader, correlationId); + } + + httpServletRequest.setAttribute(mdcTokenKey, correlationId); + filterChain.doFilter(httpServletRequest, httpServletResponse); + + } finally { + MDC.remove(mdcTokenKey); + } + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/api/filter/CorrelationIdFilterConfiguration.java b/java/src/main/java/com/ensono/stacks/core/api/filter/CorrelationIdFilterConfiguration.java new file mode 100644 index 000000000..02eb98a2e --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/api/filter/CorrelationIdFilterConfiguration.java @@ -0,0 +1,25 @@ +package com.ensono.stacks.core.api.filter; + +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class CorrelationIdFilterConfiguration { + + public static final String DEFAULT_CORRELATION_ID_HEADER = "x-correlation-id"; + public static final String DEFAULT_MDC_UUID_TOKEN_KEY = "CorrelationId"; + + @Bean + public FilterRegistrationBean servletRegistrationBean() { + + final FilterRegistrationBean registrationBean = + new FilterRegistrationBean<>(); + + final CorrelationIdFilter logFilter = + new CorrelationIdFilter(DEFAULT_CORRELATION_ID_HEADER, DEFAULT_MDC_UUID_TOKEN_KEY); + + registrationBean.setFilter(logFilter); + return registrationBean; + } +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/mapping/BaseMapper.java b/java/src/main/java/com/ensono/stacks/core/mapping/BaseMapper.java new file mode 100644 index 000000000..d62d63fd9 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/mapping/BaseMapper.java @@ -0,0 +1,18 @@ +package com.ensono.stacks.core.mapping; + +import java.util.List; +import org.mapstruct.MappingTarget; + +public interface BaseMapper { + D toDto(E entity); + + E fromDto(D dto); + + void updateFromDto(D dto, @MappingTarget E entity); + + void updateFromEntity(E entity, @MappingTarget D dto); + + List toDtoList(List list); + + List fromDtoList(List list); +} \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/core/mapping/MapperUtils.java b/java/src/main/java/com/ensono/stacks/core/mapping/MapperUtils.java new file mode 100644 index 000000000..a94c635f8 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/mapping/MapperUtils.java @@ -0,0 +1,20 @@ +package com.ensono.stacks.core.mapping; + +import static java.util.UUID.fromString; + +import java.util.UUID; + +public class MapperUtils { + + private MapperUtils() { + // Utility class + } + + public static UUID map(String value) { + return (value != null && !value.trim().isEmpty()) ? fromString(value) : null; + } + + public static String map(UUID uuid) { + return uuid != null ? uuid.toString() : null; + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/messaging/event/ApplicationEvent.java b/java/src/main/java/com/ensono/stacks/core/messaging/event/ApplicationEvent.java new file mode 100644 index 000000000..91a2c9cf4 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/messaging/event/ApplicationEvent.java @@ -0,0 +1,51 @@ +package com.ensono.stacks.core.messaging.event; + +import static java.time.ZonedDateTime.now; + +import com.ensono.stacks.core.operations.OperationContext; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.ser.ZonedDateTimeSerializer; +import lombok.Getter; + +import java.io.Serializable; +import java.time.ZonedDateTime; +import java.util.UUID; + +public abstract class ApplicationEvent extends OperationContext implements Serializable { + + @Getter + private final UUID id; + @Getter + private final int operationCode; + + @JsonSerialize(using = ZonedDateTimeSerializer.class) + private final ZonedDateTime creationDate; + + public ApplicationEvent(int operationCode, String correlationId) { + super(correlationId); + this.operationCode = operationCode; + this.id = UUID.randomUUID(); + this.creationDate = now(); + } + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSSZ") + public ZonedDateTime getCreationDate() { + return creationDate; + } + + public abstract int getEventCode(); + + @Override + public String toString() { + return "ApplicationEvent{" + + "id=" + + id + + ", eventCode=" + + getEventCode() + + ", creationDate=" + + creationDate + + "} " + + super.toString(); + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/messaging/listen/ApplicationEventListener.java b/java/src/main/java/com/ensono/stacks/core/messaging/listen/ApplicationEventListener.java new file mode 100644 index 000000000..132820f70 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/messaging/listen/ApplicationEventListener.java @@ -0,0 +1,5 @@ +package com.ensono.stacks.core.messaging.listen; + +public interface ApplicationEventListener { + public void listen(); +} diff --git a/java/src/main/java/com/ensono/stacks/core/messaging/listen/DefaultEventListener.java b/java/src/main/java/com/ensono/stacks/core/messaging/listen/DefaultEventListener.java new file mode 100644 index 000000000..0d483c3c2 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/messaging/listen/DefaultEventListener.java @@ -0,0 +1,17 @@ +package com.ensono.stacks.core.messaging.listen; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Component; + +@Component +@ConditionalOnProperty( + value = "azure.servicebus.enabled", + havingValue = "false", + matchIfMissing = true) +public class DefaultEventListener implements ApplicationEventListener { + + @Override + public void listen() { + // Nothing to listen to for default listener + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/messaging/publish/ApplicationEventPublisher.java b/java/src/main/java/com/ensono/stacks/core/messaging/publish/ApplicationEventPublisher.java new file mode 100644 index 000000000..4ba6a2fd0 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/messaging/publish/ApplicationEventPublisher.java @@ -0,0 +1,8 @@ +package com.ensono.stacks.core.messaging.publish; + +import com.ensono.stacks.core.messaging.event.ApplicationEvent; + +public interface ApplicationEventPublisher { + + void publish(ApplicationEvent applicationEvent); +} diff --git a/java/src/main/java/com/ensono/stacks/core/messaging/publish/ApplicationEventPublisherWithListener.java b/java/src/main/java/com/ensono/stacks/core/messaging/publish/ApplicationEventPublisherWithListener.java new file mode 100644 index 000000000..36c89b298 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/messaging/publish/ApplicationEventPublisherWithListener.java @@ -0,0 +1,17 @@ +package com.ensono.stacks.core.messaging.publish; + +import com.ensono.stacks.core.messaging.listen.ApplicationEventListener; + +public abstract class ApplicationEventPublisherWithListener implements ApplicationEventPublisher { + + protected ApplicationEventListener applicationEventListener; + + protected ApplicationEventPublisherWithListener( + ApplicationEventListener applicationEventListener) { + this.applicationEventListener = applicationEventListener; + } + + protected void listen() { + applicationEventListener.listen(); + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/messaging/publish/DefaultEventPublisher.java b/java/src/main/java/com/ensono/stacks/core/messaging/publish/DefaultEventPublisher.java new file mode 100644 index 000000000..0b69e43a7 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/messaging/publish/DefaultEventPublisher.java @@ -0,0 +1,32 @@ +package com.ensono.stacks.core.messaging.publish; + +import com.ensono.stacks.core.messaging.event.ApplicationEvent; +import com.ensono.stacks.core.messaging.listen.ApplicationEventListener; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Component; + +@Component +@ConditionalOnProperty( + value = "azure.servicebus.enabled", + havingValue = "false", + matchIfMissing = true) +public class DefaultEventPublisher extends ApplicationEventPublisherWithListener { + + Logger logger = LoggerFactory.getLogger(DefaultEventPublisher.class); + + protected DefaultEventPublisher(ApplicationEventListener applicationEventListener) { + super(applicationEventListener); + } + + @Override + public void publish(ApplicationEvent applicationEvent) { + logger.info(applicationEvent.toString()); + } + + @Override + public void listen() { + // Nothing to listen to + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/operations/OperationContext.java b/java/src/main/java/com/ensono/stacks/core/operations/OperationContext.java new file mode 100644 index 000000000..e06cccb3a --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/operations/OperationContext.java @@ -0,0 +1,31 @@ +package com.ensono.stacks.core.operations; + +public abstract class OperationContext { + + private String correlationId; + + protected OperationContext(final String correlationId) { + this.correlationId = correlationId; + } + + public abstract int getOperationCode(); + + /** No arg constructor. */ + protected OperationContext() { + // NO-OP + } + + public String getCorrelationId() { + return correlationId; + } + + public void setCorrelationId(final String correlationId) { + this.correlationId = correlationId; + } + + @Override + public String toString() { + return String.format( + "OperationContext{operationCode=%d, correlationId=%s}", getOperationCode(), correlationId); + } +} diff --git a/java/src/main/java/com/ensono/stacks/core/repository/StacksPersistence.java b/java/src/main/java/com/ensono/stacks/core/repository/StacksPersistence.java new file mode 100644 index 000000000..2977f359b --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/core/repository/StacksPersistence.java @@ -0,0 +1,9 @@ +package com.ensono.stacks.core.repository; + +import org.springframework.stereotype.Repository; + +@Repository +@SuppressWarnings( + "java:S2326") // "T is not used in the interface". This Interface is used by other modules in +// other stacks repos. +public interface StacksPersistence {} diff --git a/java/src/main/java/com/ensono/stacks/cosmosdb/config/CosmosDBConfig.java b/java/src/main/java/com/ensono/stacks/cosmosdb/config/CosmosDBConfig.java new file mode 100644 index 000000000..eb3a63784 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/cosmosdb/config/CosmosDBConfig.java @@ -0,0 +1,58 @@ +package com.ensono.stacks.cosmosdb.config; + +#if USE_COSMOSDB +import com.azure.core.credential.AzureKeyCredential; +import com.azure.cosmos.CosmosClientBuilder; +import com.azure.cosmos.DirectConnectionConfig; +import com.azure.cosmos.GatewayConnectionConfig; +import com.azure.spring.data.cosmos.config.AbstractCosmosConfiguration; +import com.azure.spring.data.cosmos.config.CosmosConfig; +import com.azure.spring.data.cosmos.repository.config.EnableCosmosRepositories; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.context.annotation.Bean; +import com.ensono.stacks.core.repository.StacksPersistence; +#endif + +import org.springframework.context.annotation.Configuration; + +#if USE_COSMOSDB +@Configuration +@ConditionalOnExpression(value = "${cosmos.enabled:true}") +@EnableCosmosRepositories(basePackages = "com.amido.stacks.workloads.menu.repository") +public class CosmosDBConfig extends AbstractCosmosConfiguration { + + @Value(value = "${spring.data.cosmos.uri}") + private String uri; + + @Value(value = "${spring.data.cosmos.key}") + private String key; + + @Value(value = "${spring.data.cosmos.databaseName}") + private String databaseName; + + @Bean + public CosmosClientBuilder cosmosClientBuilder() { + return new CosmosClientBuilder() + .endpoint(uri) + .credential(new AzureKeyCredential(key)) + .directMode(new DirectConnectionConfig(), new GatewayConnectionConfig()); + } + + @Override + public CosmosConfig cosmosConfig() { + return CosmosConfig.builder().enableQueryMetrics(false).build(); + } + + @Override + protected String getDatabaseName() { + return databaseName; + } +} +#else +// Placeholder configuration class to ensure Maven compilation when Cosmos is not selected. +// The entire Cosmos folder, including this file, is filtered out with project-builder-config. +@Configuration +public class CosmosDBConfig {} + +#endif \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/cosmosdb/repository/StacksCosmosDBRepository.java b/java/src/main/java/com/ensono/stacks/cosmosdb/repository/StacksCosmosDBRepository.java new file mode 100644 index 000000000..449994b87 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/cosmosdb/repository/StacksCosmosDBRepository.java @@ -0,0 +1,20 @@ +package com.ensono.stacks.cosmosdb.repository; + +#if USE_COSMOSDB +import com.azure.spring.data.cosmos.repository.CosmosRepository; +import org.springframework.data.repository.CrudRepository; +#endif +import com.ensono.stacks.core.repository.StacksPersistence; +import org.springframework.data.repository.NoRepositoryBean; + +#if USE_COSMOSDB +@NoRepositoryBean +public interface StacksCosmosDBRepository + extends StacksPersistence, CrudRepository, CosmosRepository {} +#else +// Placeholder repository interface to ensure Maven compilation when Cosmos is not selected. +// The entire Cosmos folder, including this file, is filtered out with project-builder-config. +@NoRepositoryBean +public interface StacksCosmosDBRepository extends StacksPersistence { +} +#endif \ No newline at end of file diff --git a/java/src/main/java/com/ensono/stacks/dynamodb/config/DynamoDBConfig.java b/java/src/main/java/com/ensono/stacks/dynamodb/config/DynamoDBConfig.java new file mode 100644 index 000000000..28e49ed08 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/dynamodb/config/DynamoDBConfig.java @@ -0,0 +1,50 @@ +package com.ensono.stacks.dynamodb.config; + +#if USE_DYNAMODB +import static com.amazonaws.util.StringUtils.isNullOrEmpty; + +import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; +import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration; +import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; +import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; +import org.socialsignin.spring.data.dynamodb.repository.config.EnableDynamoDBRepositories; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +#endif + +import org.springframework.context.annotation.Configuration; + +#if USE_DYNAMODB +@Configuration +@ConfigurationProperties(prefix = "amazon.dynamodb") +@EnableDynamoDBRepositories(basePackages = "com.amido.stacks.workloads.menu.repository") +public class DynamoDBConfig { + + @Value("${amazon.dynamodb.endpoint}") + private String dynamoDbEndpoint; + + @Value("${amazon.dynamodb.signingRegion}") + private String signingRegion; + + @Bean + public AmazonDynamoDB amazonDynamoDB() { + + AmazonDynamoDBClientBuilder clientBuilder = + AmazonDynamoDBClientBuilder.standard() + .withCredentials(new DefaultAWSCredentialsProviderChain()); + + if (!isNullOrEmpty(dynamoDbEndpoint)) { + clientBuilder.withEndpointConfiguration( + new EndpointConfiguration(dynamoDbEndpoint, signingRegion)); + } + + return clientBuilder.build(); + } +} +#else +// Placeholder configuration class to ensure Maven compilation when Dynamo is not selected. +// The entire Dynamo folder, including this file, is filtered out with project-builder-config. +@Configuration +public class DynamoDBConfig {} +#endif diff --git a/java/src/main/java/com/ensono/stacks/dynamodb/repository/StacksDynamoDBRepository.java b/java/src/main/java/com/ensono/stacks/dynamodb/repository/StacksDynamoDBRepository.java new file mode 100644 index 000000000..d8a555ed1 --- /dev/null +++ b/java/src/main/java/com/ensono/stacks/dynamodb/repository/StacksDynamoDBRepository.java @@ -0,0 +1,23 @@ +package com.ensono.stacks.dynamodb.repository; + +#if USE_DYNAMODB +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.PagingAndSortingRepository; +#endif +import com.ensono.stacks.core.repository.StacksPersistence; +import org.springframework.data.repository.NoRepositoryBean; + + +#if USE_DYNAMODB +@NoRepositoryBean +public interface StacksDynamoDBRepository + extends StacksPersistence, + CrudRepository, + PagingAndSortingRepository {} +#else +// Placeholder repository interface to ensure Maven compilation when Dynamo is not selected. +// The entire Dynamo folder, including this file, is filtered out with project-builder-config. +@NoRepositoryBean +public interface StacksDynamoDBRepository extends StacksPersistence { +} +#endif \ No newline at end of file diff --git a/java/src/main/java/com/amido/stacks/workloads/Application.java b/java/src/main/java/com/ensono/stacks/workloads/Application.java similarity index 95% rename from java/src/main/java/com/amido/stacks/workloads/Application.java rename to java/src/main/java/com/ensono/stacks/workloads/Application.java index e2d88636e..96a0d27c2 100644 --- a/java/src/main/java/com/amido/stacks/workloads/Application.java +++ b/java/src/main/java/com/ensono/stacks/workloads/Application.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads; +package com.ensono.stacks.workloads; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/java/src/main/java/com/amido/stacks/workloads/ApplicationConfig.java b/java/src/main/java/com/ensono/stacks/workloads/ApplicationConfig.java similarity index 99% rename from java/src/main/java/com/amido/stacks/workloads/ApplicationConfig.java rename to java/src/main/java/com/ensono/stacks/workloads/ApplicationConfig.java index 75dab57cb..5b0fa595a 100644 --- a/java/src/main/java/com/amido/stacks/workloads/ApplicationConfig.java +++ b/java/src/main/java/com/ensono/stacks/workloads/ApplicationConfig.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads; +package com.ensono.stacks.workloads; import java.util.Arrays; import java.util.List; diff --git a/java/src/main/java/com/amido/stacks/workloads/ApplicationNoSecurity.java b/java/src/main/java/com/ensono/stacks/workloads/ApplicationNoSecurity.java similarity index 98% rename from java/src/main/java/com/amido/stacks/workloads/ApplicationNoSecurity.java rename to java/src/main/java/com/ensono/stacks/workloads/ApplicationNoSecurity.java index 774ff4b1b..14ea5bad5 100644 --- a/java/src/main/java/com/amido/stacks/workloads/ApplicationNoSecurity.java +++ b/java/src/main/java/com/ensono/stacks/workloads/ApplicationNoSecurity.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads; +package com.ensono.stacks.workloads; import static org.springframework.security.config.Customizer.withDefaults; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/OpenApiConfiguration.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/OpenApiConfiguration.java similarity index 98% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/OpenApiConfiguration.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/OpenApiConfiguration.java index 2f3245b62..d0369ddc4 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/OpenApiConfiguration.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/OpenApiConfiguration.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api; +package com.ensono.stacks.workloads.menu.api; import io.swagger.v3.oas.annotations.enums.SecuritySchemeType; import io.swagger.v3.oas.annotations.security.SecurityScheme; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CategoryController.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/CategoryController.java similarity index 83% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CategoryController.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/CategoryController.java index c718cdec5..c48e50a76 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CategoryController.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/CategoryController.java @@ -1,15 +1,15 @@ -package com.amido.stacks.workloads.menu.api.v1; +package com.ensono.stacks.workloads.menu.api.v1; import static org.springframework.http.HttpStatus.OK; -import com.amido.stacks.core.api.annotations.CreateAPIResponses; -import com.amido.stacks.core.api.annotations.DeleteAPIResponses; -import com.amido.stacks.core.api.annotations.UpdateAPIResponses; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest; -import com.amido.stacks.workloads.menu.service.v1.CategoryService; +import com.ensono.stacks.core.api.annotations.CreateAPIResponses; +import com.ensono.stacks.core.api.annotations.DeleteAPIResponses; +import com.ensono.stacks.core.api.annotations.UpdateAPIResponses; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest; +import com.ensono.stacks.workloads.menu.service.v1.CategoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import jakarta.validation.Valid; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/ItemController.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/ItemController.java similarity index 84% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/ItemController.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/ItemController.java index 126e1f66e..0580f4bd0 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/ItemController.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/ItemController.java @@ -1,15 +1,15 @@ -package com.amido.stacks.workloads.menu.api.v1; +package com.ensono.stacks.workloads.menu.api.v1; import static org.springframework.http.HttpStatus.OK; -import com.amido.stacks.core.api.annotations.CreateAPIResponses; -import com.amido.stacks.core.api.annotations.DeleteAPIResponses; -import com.amido.stacks.core.api.annotations.UpdateAPIResponses; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest; -import com.amido.stacks.workloads.menu.service.v1.ItemService; +import com.ensono.stacks.core.api.annotations.CreateAPIResponses; +import com.ensono.stacks.core.api.annotations.DeleteAPIResponses; +import com.ensono.stacks.core.api.annotations.UpdateAPIResponses; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest; +import com.ensono.stacks.workloads.menu.service.v1.ItemService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import jakarta.validation.Valid; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/MenuController.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/MenuController.java similarity index 83% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/MenuController.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/MenuController.java index 28b72a8ce..2be210874 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/MenuController.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/MenuController.java @@ -1,19 +1,19 @@ -package com.amido.stacks.workloads.menu.api.v1; +package com.ensono.stacks.workloads.menu.api.v1; import static org.springframework.http.HttpStatus.OK; -import com.amido.stacks.core.api.annotations.CreateAPIResponses; -import com.amido.stacks.core.api.annotations.DeleteAPIResponses; -import com.amido.stacks.core.api.annotations.ReadAPIResponses; -import com.amido.stacks.core.api.annotations.SearchAPIResponses; -import com.amido.stacks.core.api.annotations.UpdateAPIResponses; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult; -import com.amido.stacks.workloads.menu.service.v1.MenuService; +import com.ensono.stacks.core.api.annotations.CreateAPIResponses; +import com.ensono.stacks.core.api.annotations.DeleteAPIResponses; +import com.ensono.stacks.core.api.annotations.ReadAPIResponses; +import com.ensono.stacks.core.api.annotations.SearchAPIResponses; +import com.ensono.stacks.core.api.annotations.UpdateAPIResponses; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult; +import com.ensono.stacks.workloads.menu.service.v1.MenuService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/SecretsController.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/SecretsController.java similarity index 85% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/SecretsController.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/SecretsController.java index 46643dd28..3692597a3 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/SecretsController.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/SecretsController.java @@ -1,6 +1,6 @@ -package com.amido.stacks.workloads.menu.api.v1; +package com.ensono.stacks.workloads.menu.api.v1; -import com.amido.stacks.workloads.menu.service.v1.SecretsService; +import com.ensono.stacks.workloads.menu.service.v1.SecretsService; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateCategoryRequest.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateCategoryRequest.java similarity index 87% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateCategoryRequest.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateCategoryRequest.java index b2747cc9c..edd8914b3 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateCategoryRequest.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateCategoryRequest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.request; +package com.ensono.stacks.workloads.menu.api.v1.dto.request; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateItemRequest.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateItemRequest.java similarity index 92% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateItemRequest.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateItemRequest.java index b64eb0042..5903ccd50 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateItemRequest.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateItemRequest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.request; +package com.ensono.stacks.workloads.menu.api.v1.dto.request; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateMenuRequest.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateMenuRequest.java similarity index 91% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateMenuRequest.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateMenuRequest.java index 0f17cd287..b02c78306 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/CreateMenuRequest.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/CreateMenuRequest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.request; +package com.ensono.stacks.workloads.menu.api.v1.dto.request; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateCategoryRequest.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateCategoryRequest.java similarity index 88% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateCategoryRequest.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateCategoryRequest.java index f66385dd7..6eedca0d5 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateCategoryRequest.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateCategoryRequest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.request; +package com.ensono.stacks.workloads.menu.api.v1.dto.request; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateItemRequest.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateItemRequest.java similarity index 92% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateItemRequest.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateItemRequest.java index a11cac0c1..cc58442b1 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateItemRequest.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateItemRequest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.request; +package com.ensono.stacks.workloads.menu.api.v1.dto.request; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateMenuRequest.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateMenuRequest.java similarity index 89% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateMenuRequest.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateMenuRequest.java index 0c53a6cee..98bb7dd26 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/request/UpdateMenuRequest.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/request/UpdateMenuRequest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.request; +package com.ensono.stacks.workloads.menu.api.v1.dto.request; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/CategoryDTO.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/CategoryDTO.java similarity index 91% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/CategoryDTO.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/CategoryDTO.java index a601afa5d..dc76452b5 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/CategoryDTO.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/CategoryDTO.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ItemDTO.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/ItemDTO.java similarity index 89% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ItemDTO.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/ItemDTO.java index 53642a3a1..300507578 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ItemDTO.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/ItemDTO.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/MenuDTO.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/MenuDTO.java similarity index 92% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/MenuDTO.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/MenuDTO.java index c253a2424..042dce17a 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/MenuDTO.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/MenuDTO.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResult.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResult.java similarity index 90% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResult.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResult.java index 6649614fe..54a1c6844 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResult.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResult.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItem.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItem.java similarity index 89% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItem.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItem.java index e03cefb87..6dd30ace4 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItem.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItem.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.UUID; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v2/MenuControllerV2.java b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v2/MenuControllerV2.java similarity index 87% rename from java/src/main/java/com/amido/stacks/workloads/menu/api/v2/MenuControllerV2.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/api/v2/MenuControllerV2.java index a53e562a2..ab3779419 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v2/MenuControllerV2.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/api/v2/MenuControllerV2.java @@ -1,8 +1,8 @@ -package com.amido.stacks.workloads.menu.api.v2; +package com.ensono.stacks.workloads.menu.api.v2; -import com.amido.stacks.core.api.annotations.ReadAPIResponses; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.service.v2.MenuServiceV2; +import com.ensono.stacks.core.api.annotations.ReadAPIResponses; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.service.v2.MenuServiceV2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/domain/Category.java b/java/src/main/java/com/ensono/stacks/workloads/menu/domain/Category.java similarity index 86% rename from java/src/main/java/com/amido/stacks/workloads/menu/domain/Category.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/domain/Category.java index 9e9671721..8b77ef12f 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/domain/Category.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/domain/Category.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import java.util.ArrayList; import java.util.List; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/domain/Item.java b/java/src/main/java/com/ensono/stacks/workloads/menu/domain/Item.java similarity index 82% rename from java/src/main/java/com/amido/stacks/workloads/menu/domain/Item.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/domain/Item.java index 5d3c54960..19ff947f9 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/domain/Item.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/domain/Item.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/domain/Menu.java b/java/src/main/java/com/ensono/stacks/workloads/menu/domain/Menu.java similarity index 90% rename from java/src/main/java/com/amido/stacks/workloads/menu/domain/Menu.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/domain/Menu.java index ded01d5de..53c8c04db 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/domain/Menu.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/domain/Menu.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import java.util.ArrayList; import java.util.List; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/CategoryMapper.java b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/CategoryMapper.java similarity index 55% rename from java/src/main/java/com/amido/stacks/workloads/menu/mappers/CategoryMapper.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/mappers/CategoryMapper.java index e4172ee0a..3f7860e00 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/CategoryMapper.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/CategoryMapper.java @@ -1,8 +1,8 @@ -package com.amido.stacks.workloads.menu.mappers; +package com.ensono.stacks.workloads.menu.mappers; -import com.amido.stacks.core.mapping.BaseMapper; -import com.amido.stacks.workloads.menu.api.v1.dto.response.CategoryDTO; -import com.amido.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.core.mapping.BaseMapper; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.CategoryDTO; +import com.ensono.stacks.workloads.menu.domain.Category; import org.mapstruct.Mapper; import org.mapstruct.NullValueCheckStrategy; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/ItemMapper.java b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/ItemMapper.java similarity index 53% rename from java/src/main/java/com/amido/stacks/workloads/menu/mappers/ItemMapper.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/mappers/ItemMapper.java index 2d8da0d10..2d667dc4e 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/ItemMapper.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/ItemMapper.java @@ -1,8 +1,8 @@ -package com.amido.stacks.workloads.menu.mappers; +package com.ensono.stacks.workloads.menu.mappers; -import com.amido.stacks.core.mapping.BaseMapper; -import com.amido.stacks.workloads.menu.api.v1.dto.response.ItemDTO; -import com.amido.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.core.mapping.BaseMapper; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.ItemDTO; +import com.ensono.stacks.workloads.menu.domain.Item; import org.mapstruct.Mapper; import org.mapstruct.NullValueCheckStrategy; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/MenuMapper.java b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/MenuMapper.java similarity index 51% rename from java/src/main/java/com/amido/stacks/workloads/menu/mappers/MenuMapper.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/mappers/MenuMapper.java index 001a331c6..61546b259 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/MenuMapper.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/MenuMapper.java @@ -1,9 +1,10 @@ -package com.amido.stacks.workloads.menu.mappers; +package com.ensono.stacks.workloads.menu.mappers; -import com.amido.stacks.core.mapping.BaseMapper; -import com.amido.stacks.core.mapping.MapperUtils; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.core.mapping.BaseMapper; + +import com.ensono.stacks.core.mapping.MapperUtils; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.domain.Menu; import org.mapstruct.Mapper; import org.mapstruct.NullValueCheckStrategy; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/SearchMenuResultItemMapper.java b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/SearchMenuResultItemMapper.java similarity index 53% rename from java/src/main/java/com/amido/stacks/workloads/menu/mappers/SearchMenuResultItemMapper.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/mappers/SearchMenuResultItemMapper.java index 6536061f6..ab6de58f6 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/mappers/SearchMenuResultItemMapper.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/mappers/SearchMenuResultItemMapper.java @@ -1,9 +1,9 @@ -package com.amido.stacks.workloads.menu.mappers; +package com.ensono.stacks.workloads.menu.mappers; -import com.amido.stacks.core.mapping.BaseMapper; -import com.amido.stacks.core.mapping.MapperUtils; -import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResultItem; -import com.amido.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.core.mapping.BaseMapper; +import com.ensono.stacks.core.mapping.MapperUtils; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.SearchMenuResultItem; +import com.ensono.stacks.workloads.menu.domain.Menu; import org.mapstruct.Mapper; import org.mapstruct.NullValueCheckStrategy; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/utility/MenuHelperService.java b/java/src/main/java/com/ensono/stacks/workloads/menu/service/utility/MenuHelperService.java similarity index 81% rename from java/src/main/java/com/amido/stacks/workloads/menu/service/utility/MenuHelperService.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/service/utility/MenuHelperService.java index d07a5feef..865c48341 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/service/utility/MenuHelperService.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/service/utility/MenuHelperService.java @@ -1,8 +1,8 @@ -package com.amido.stacks.workloads.menu.service.utility; +package com.ensono.stacks.workloads.menu.service.utility; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Item; -import com.amido.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.workloads.menu.domain.Menu; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/CategoryService.java b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/CategoryService.java similarity index 61% rename from java/src/main/java/com/amido/stacks/workloads/menu/service/v1/CategoryService.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/CategoryService.java index e99f657a6..bdf386a1e 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/CategoryService.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/CategoryService.java @@ -1,9 +1,9 @@ -package com.amido.stacks.workloads.menu.service.v1; +package com.ensono.stacks.workloads.menu.service.v1; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest; import jakarta.validation.Valid; import java.util.UUID; import lombok.RequiredArgsConstructor; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/ItemService.java b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/ItemService.java similarity index 60% rename from java/src/main/java/com/amido/stacks/workloads/menu/service/v1/ItemService.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/ItemService.java index c2cc68520..c889effb1 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/ItemService.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/ItemService.java @@ -1,9 +1,9 @@ -package com.amido.stacks.workloads.menu.service.v1; +package com.ensono.stacks.workloads.menu.service.v1; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest; import jakarta.validation.Valid; import java.util.UUID; import org.springframework.stereotype.Service; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/MenuService.java b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/MenuService.java similarity index 71% rename from java/src/main/java/com/amido/stacks/workloads/menu/service/v1/MenuService.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/MenuService.java index e80f2303e..c05ab7ddb 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/MenuService.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/MenuService.java @@ -1,17 +1,17 @@ -package com.amido.stacks.workloads.menu.service.v1; - -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Item; -import com.amido.stacks.workloads.menu.domain.Menu; -import com.amido.stacks.workloads.menu.mappers.MenuMapper; -import com.amido.stacks.workloads.menu.mappers.SearchMenuResultItemMapper; -import com.amido.stacks.workloads.menu.service.utility.MenuHelperService; +package com.ensono.stacks.workloads.menu.service.v1; + +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.mappers.MenuMapper; +import com.ensono.stacks.workloads.menu.mappers.SearchMenuResultItemMapper; +import com.ensono.stacks.workloads.menu.service.utility.MenuHelperService; import jakarta.validation.Valid; import java.util.ArrayList; import java.util.List; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/SecretsService.java b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/SecretsService.java similarity index 94% rename from java/src/main/java/com/amido/stacks/workloads/menu/service/v1/SecretsService.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/SecretsService.java index 2ef02827e..582067adc 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/SecretsService.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v1/SecretsService.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.service.v1; +package com.ensono.stacks.workloads.menu.service.v1; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/v2/MenuServiceV2.java b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v2/MenuServiceV2.java similarity index 61% rename from java/src/main/java/com/amido/stacks/workloads/menu/service/v2/MenuServiceV2.java rename to java/src/main/java/com/ensono/stacks/workloads/menu/service/v2/MenuServiceV2.java index 135a0f61b..654409be9 100644 --- a/java/src/main/java/com/amido/stacks/workloads/menu/service/v2/MenuServiceV2.java +++ b/java/src/main/java/com/ensono/stacks/workloads/menu/service/v2/MenuServiceV2.java @@ -1,11 +1,11 @@ -package com.amido.stacks.workloads.menu.service.v2; +package com.ensono.stacks.workloads.menu.service.v2; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.domain.Menu; -import com.amido.stacks.workloads.menu.mappers.MenuMapper; -import com.amido.stacks.workloads.menu.mappers.SearchMenuResultItemMapper; -import com.amido.stacks.workloads.menu.service.utility.MenuHelperService; -import com.amido.stacks.workloads.menu.service.v1.MenuService; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.mappers.MenuMapper; +import com.ensono.stacks.workloads.menu.mappers.SearchMenuResultItemMapper; +import com.ensono.stacks.workloads.menu.service.utility.MenuHelperService; +import com.ensono.stacks.workloads.menu.service.v1.MenuService; import java.util.ArrayList; import java.util.UUID; import org.springframework.stereotype.Service; diff --git a/java/src/main/resources/templates/aws/awsDependencies.mustache b/java/src/main/resources/templates/aws/awsDependencies.mustache new file mode 100644 index 000000000..2f132d44f --- /dev/null +++ b/java/src/main/resources/templates/aws/awsDependencies.mustache @@ -0,0 +1,63 @@ + + + org.apache.tomcat.embed + tomcat-embed-core + ${tomcat-embed.version} + + + + + io.awspring.cloud + spring-cloud-starter-aws-secrets-manager-config + ${spring.cloud.starter.aws.secrets.manager.config.version} + + + + + com.amazonaws + aws-java-sdk-core + ${aws-java-sdk.version} + + + + com.amazonaws + aws-java-sdk-dynamodb + ${aws-java-sdk.version} + + + + com.amazonaws + aws-java-sdk-s3 + ${aws-java-sdk.version} + + + + + com.amazonaws + aws-xray-recorder-sdk-spring + ${aws-xray-recorder-sdk.version} + + + + com.amazonaws + aws-xray-recorder-sdk-metrics + ${aws-xray-recorder-sdk.version} + + + + com.amazonaws + aws-xray-recorder-sdk-aws-sdk-instrumentor + ${aws-xray-recorder-sdk.version} + + + + com.amazonaws + aws-xray-recorder-sdk-log4j + ${aws-xray-recorder-sdk.version} + + + + com.amazonaws + aws-xray-recorder-sdk-apache-http + ${aws-xray-recorder-sdk.version} + \ No newline at end of file diff --git a/java/src/main/resources/templates/aws/awsManagedDependencies.mustache b/java/src/main/resources/templates/aws/awsManagedDependencies.mustache new file mode 100644 index 000000000..960b4aa15 --- /dev/null +++ b/java/src/main/resources/templates/aws/awsManagedDependencies.mustache @@ -0,0 +1,22 @@ + + + io.awspring.cloud + spring-cloud-aws-dependencies + ${spring.cloud.starter.aws.secrets.manager.config.version} + pom + import + + + com.amazonaws + aws-java-sdk-bom + ${aws-java-sdk.version} + pom + import + + + com.amazonaws + aws-xray-recorder-sdk-bom + ${aws-xray-recorder-sdk.version} + pom + import + \ No newline at end of file diff --git a/java/src/main/resources/templates/core/coreDependencies.mustache b/java/src/main/resources/templates/core/coreDependencies.mustache new file mode 100644 index 000000000..b971d12e5 --- /dev/null +++ b/java/src/main/resources/templates/core/coreDependencies.mustache @@ -0,0 +1,170 @@ + + + org.springframework.boot + spring-boot-properties-migrator + runtime + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + + org.springframework.cloud + spring-cloud-starter-config + + + + org.springframework.boot + spring-boot-starter-actuator + + + org.yaml + snakeyaml + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.openapi.version} + + + + com.fasterxml.jackson.core + jackson-core + + + + com.fasterxml.jackson.core + jackson-databind + + + + com.fasterxml.jackson.core + jackson-annotations + + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + + + + com.azure.spring + azure-spring-boot + ${azure.springboot.version} + + + net.minidev + json-smart + + + + + + com.microsoft.azure + applicationinsights-spring-boot-starter + ${applicationinsights.version} + runtime + + + + com.microsoft.azure + applicationinsights-logging-logback + ${applicationinsights.version} + runtime + + + ch.qos.logback + logback-core + + + + + + net.minidev + json-smart + + + + com.beust + jcommander + + + + + com.auth0 + auth0-spring-security-api + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.vintage + junit-vintage-engine + + + junit + junit + + + com.vaadin.external.google + android-json + + + + + + au.com.dius + pact-jvm-provider-spring + ${au.com.dius.pact-jvm-provider-spring.version} + test + + + + au.com.dius.pact + consumer + ${au.com.dius.pact.consumer.version} + test + + + + org.pitest + pitest-parent + pom + + + + com.nimbusds + oauth2-oidc-sdk + runtime + + + + com.amazonaws + aws-java-sdk-s3 + ${aws-java-sdk-s3.version} + + + + jakarta.persistence + jakarta.persistence-api + + + + org.springframework.data + spring-data-commons + ${spring.data.commons.version} + \ No newline at end of file diff --git a/java/src/main/resources/templates/core/coreManagedDependencies.mustache b/java/src/main/resources/templates/core/coreManagedDependencies.mustache new file mode 100644 index 000000000..ab0382769 --- /dev/null +++ b/java/src/main/resources/templates/core/coreManagedDependencies.mustache @@ -0,0 +1,16 @@ + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.dependencies.version} + pom + import + + + org.junit + junit-bom + ${junit-jupiter.version} + pom + import + \ No newline at end of file diff --git a/java/src/main/resources/templates/core/corePlugins.mustache b/java/src/main/resources/templates/core/corePlugins.mustache new file mode 100644 index 000000000..950a14cab --- /dev/null +++ b/java/src/main/resources/templates/core/corePlugins.mustache @@ -0,0 +1,168 @@ + + + org.springframework.boot + spring-boot-maven-plugin + ${spring.boot.version} + + com.ensono.stacks.workloads.Application + + + + + repackage + + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + **/AuthControllerImpl* + **/ApplicationConfig* + + + + + + prepare-agent + + + + report + prepare-package + + report + + + + default-check + + check + + + + + BUNDLE + + + COMPLEXITY + COVEREDRATIO + 0.00 + + + + + + + + + + au.com.dius.pact.provider + maven + ${au.com.dius.pact.provider.version} + + ${pact.broker.url} + ${pact.broker.token} + + true + + + + ${pact.api.name} + ${pact.api.protocol} + ${pact.api.host} + ${pact.api.port} + + + + + + com.coveo + fmt-maven-plugin + ${fmt-maven-plugin.version} + + true + true + .*\.java + + false + false + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + + com.puppycrawl.tools + checkstyle + ${puppycrawl-tools-checkstyle.version} + + + + google_checks.xml + UTF-8 + true + true + false + + + + validate + validate + + + + + com.github.spotbugs + spotbugs-maven-plugin + ${spotbugs-maven-plugin.version} + + + + com.github.spotbugs + spotbugs + ${spotbugs.version} + + + + + org.pitest + pitest-maven + ${pitest.version} + + + org.pitest + pitest-junit5-plugin + 0.15 + + + + + pitest + verify + + mutationCoverage + + + + + 15 + target/pitHistory.txt + target/pitHistory.txt + false + + STRONGER + + + XML + HTML + + + \ No newline at end of file diff --git a/java/src/main/resources/templates/cosmosdb/cosmosdbDependencies.mustache b/java/src/main/resources/templates/cosmosdb/cosmosdbDependencies.mustache new file mode 100644 index 000000000..496387b82 --- /dev/null +++ b/java/src/main/resources/templates/cosmosdb/cosmosdbDependencies.mustache @@ -0,0 +1,6 @@ + + + com.azure + azure-spring-data-cosmos + ${azure-spring-data-cosmos.version} + \ No newline at end of file diff --git a/java/src/main/resources/templates/dynamodb/dynamodbDependencies.mustache b/java/src/main/resources/templates/dynamodb/dynamodbDependencies.mustache new file mode 100644 index 000000000..dc61c524c --- /dev/null +++ b/java/src/main/resources/templates/dynamodb/dynamodbDependencies.mustache @@ -0,0 +1,6 @@ + + + io.github.boostchicken + spring-data-dynamodb + ${spring.data.dynamodb.version} + \ No newline at end of file diff --git a/java/src/main/resources/templates/pom.mustache b/java/src/main/resources/templates/pom.mustache new file mode 100644 index 000000000..9e56a25b1 --- /dev/null +++ b/java/src/main/resources/templates/pom.mustache @@ -0,0 +1,57 @@ + + + 4.0.0 + + + com.amido.stacks.modules + stacks-modules-parent + 3.0.26-RELEASE + + + com.amido.stacks.workloads + stacks-api + 1.0.0 + + stacks-api + Demo project for Java + + + 1.7 + {{#versionProperties}} + {{{.}}} + {{/versionProperties}} + + + + JavaMenuAPI + http + localhost + 9000 + + + + + {{> core/coreManagedDependencies}} + {{#aws}}{{> aws/awsManagedDependencies}}{{/aws}} + + + + + + {{> core/coreDependencies}} + {{#aws}}{{> aws/awsDependencies}}{{/aws}} + {{#dynamodb}}{{> dynamodb/dynamodbDependencies}}{{/dynamodb}} + {{#cosmosdb}}{{> cosmosdb/cosmosdbDependencies}}{{/cosmosdb}} + + + + + {{> core/corePlugins}} + + + + + + \ No newline at end of file diff --git a/java/src/main/resources/templates/project-builder-config.json b/java/src/main/resources/templates/project-builder-config.json new file mode 100644 index 000000000..9b8f08275 --- /dev/null +++ b/java/src/main/resources/templates/project-builder-config.json @@ -0,0 +1,56 @@ +{ + "coreIncludes": [ + "**/com/ensono/stacks/core/**/*.java", + "**/com/ensono/stacks/workloads/*.java", + "**/com/ensono/stacks/workloads/menu/*.java", + "**/com/ensono/stacks/workloads/menu/api/**/*.java", + "**/com/ensono/stacks/workloads/menu/domain/*.java", + "**/com/ensono/stacks/workloads/menu/mappers/*.java", + "**/com/ensono/stacks/workloads/menu/service/*/*.java" + ], + "coreTestIncludes" : [ + "**/com/ensono/stacks/workloads/actuator/ActuatorTest.java", + "**/com/ensono/stacks/workloads/menu/**/*Test.java", + "**/com/ensnon/stacks/workloads/util/TestHelper.java", + "**/com/ensono/stacks/workloads/menu/domain/*Helper.java" + ], + "profileFilters": [ + { + "id": "cosmosdb", + "includes" : [ + "**/com/ensono/stacks/cosmosdb/**/*.java" + ] + }, + { + "id": "dynamodb", + "includes" : [ + "**/com/ensono/stacks/dynamodb/**/*.java" + ] + }, + { + "id": "aws", + "includes" : [ + "**/com/ensono/stacks/aws/**/*.java" + ], + "propertiesFile": "application-aws.yml" + }, + { + "id": "azure", + "propertiesFile": "application-azure.yml" + } + ], + "excludedGroupIds": [ + "com.ensono.stacks.modules", + "com.ensono.stacks.modules", + "systems.manifold", + "com.github.spullara.mustache.java", + "com.spotify.fmt" + ], + "corePropertiesFile": "application.yml", + "additionalProperties": [ + "AI-Agent.xml", + "logback-spring.xml", + "auth.properties" + ], + "outputPropertiesFile": "application.yml" +} \ No newline at end of file diff --git a/java/src/test/java/com/ensono/stacks/core/mapping/MapperUtilsTest.java b/java/src/test/java/com/ensono/stacks/core/mapping/MapperUtilsTest.java new file mode 100644 index 000000000..95e1e393e --- /dev/null +++ b/java/src/test/java/com/ensono/stacks/core/mapping/MapperUtilsTest.java @@ -0,0 +1,48 @@ +package com.ensono.stacks.core.mapping; + +import static com.ensono.stacks.core.mapping.MapperUtils.map; +import static java.util.UUID.randomUUID; + +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +@Tag("Unit") +public class MapperUtilsTest { + + @Test + public void shouldConvertBetweenUuidAndString() { + + UUID uuid = randomUUID(); + Assertions.assertEquals(uuid.toString(), map(uuid)); + } + + @Test + public void shouldReturnNullWhenUuidInputIsNull() { + + UUID uuid = null; + Assertions.assertEquals(null, map(uuid)); + } + + @Test + public void shouldConvertBetweenStringAndUuid() { + + UUID uuid = randomUUID(); + Assertions.assertEquals(uuid, map(uuid.toString())); + } + + @Test + public void shouldReturnNullWhenStringInputIsNull() { + + String uuid = null; + Assertions.assertEquals(null, map(uuid)); + } + + @Test + public void shouldReturnNullWhenStringInputIsEmpty() { + + String uuid = " "; + Assertions.assertEquals(null, map(uuid)); + } +} diff --git a/java/src/test/java/com/ensono/stacks/core/operations/OperationContextTest.java b/java/src/test/java/com/ensono/stacks/core/operations/OperationContextTest.java new file mode 100644 index 000000000..bb8d09dfa --- /dev/null +++ b/java/src/test/java/com/ensono/stacks/core/operations/OperationContextTest.java @@ -0,0 +1,32 @@ +package com.ensono.stacks.core.operations; + +import static org.assertj.core.api.BDDAssertions.then; +import static org.mockito.Mockito.when; + +import java.util.UUID; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +@Tag("Component") +public class OperationContextTest { + + private static final int OPERATION_CODE = 100; + + @Test + void shouldReturnRightOperationCodeAndCorrelationId() { + + var uuid = UUID.randomUUID(); + + OperationContext operationContext = + Mockito.mock( + OperationContext.class, + Mockito.withSettings() + .useConstructor(uuid.toString()) + .defaultAnswer(Mockito.CALLS_REAL_METHODS)); + when(operationContext.getOperationCode()).thenReturn(OPERATION_CODE); + + then(operationContext.getOperationCode()).isEqualTo(OPERATION_CODE); + then(operationContext.getCorrelationId()).isEqualTo(uuid.toString()); + } +} diff --git a/java/src/test/java/com/amido/stacks/workloads/actuator/ActuatorTest.java b/java/src/test/java/com/ensono/stacks/workloads/actuator/ActuatorTest.java similarity index 92% rename from java/src/test/java/com/amido/stacks/workloads/actuator/ActuatorTest.java rename to java/src/test/java/com/ensono/stacks/workloads/actuator/ActuatorTest.java index db8f210dc..f2f70e09b 100644 --- a/java/src/test/java/com/amido/stacks/workloads/actuator/ActuatorTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/actuator/ActuatorTest.java @@ -1,6 +1,6 @@ -package com.amido.stacks.workloads.actuator; +package com.ensono.stacks.workloads.actuator; -import static com.amido.stacks.workloads.util.TestHelper.getBaseURL; +import static com.ensono.stacks.workloads.util.TestHelper.getBaseURL; import static org.assertj.core.api.BDDAssertions.then; import java.util.Map; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/CategoryControllerTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/CategoryControllerTest.java similarity index 86% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/CategoryControllerTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/CategoryControllerTest.java index 190d49ecb..7c071427a 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/CategoryControllerTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/CategoryControllerTest.java @@ -1,24 +1,24 @@ -package com.amido.stacks.workloads.menu.api.v1; - -import static com.amido.stacks.workloads.menu.domain.CategoryHelper.createCategories; -import static com.amido.stacks.workloads.menu.domain.CategoryHelper.createCategory; -import static com.amido.stacks.workloads.menu.domain.ItemHelper.createItem; -import static com.amido.stacks.workloads.menu.domain.MenuHelper.createMenu; -import static com.amido.stacks.workloads.util.TestHelper.getBaseURL; -import static com.amido.stacks.workloads.util.TestHelper.getRequestHttpEntity; +package com.ensono.stacks.workloads.menu.api.v1; + +import static com.ensono.stacks.workloads.menu.domain.CategoryHelper.createCategories; +import static com.ensono.stacks.workloads.menu.domain.CategoryHelper.createCategory; +import static com.ensono.stacks.workloads.menu.domain.ItemHelper.createItem; +import static com.ensono.stacks.workloads.menu.domain.MenuHelper.createMenu; +import static com.ensono.stacks.workloads.util.TestHelper.getBaseURL; +import static com.ensono.stacks.workloads.util.TestHelper.getRequestHttpEntity; import static java.util.UUID.fromString; import static org.assertj.core.api.BDDAssertions.then; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.OK; -import com.amido.stacks.core.api.dto.ErrorResponse; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Menu; -import com.amido.stacks.workloads.menu.service.utility.MenuHelperService; +import com.ensono.stacks.core.api.dto.ErrorResponse; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.service.utility.MenuHelperService; import java.util.List; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/ItemControllerTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/ItemControllerTest.java similarity index 82% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/ItemControllerTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/ItemControllerTest.java index 9f72446f6..693745c63 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/ItemControllerTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/ItemControllerTest.java @@ -1,25 +1,25 @@ -package com.amido.stacks.workloads.menu.api.v1; - -import static com.amido.stacks.workloads.menu.domain.CategoryHelper.createCategory; -import static com.amido.stacks.workloads.menu.domain.ItemHelper.createItem; -import static com.amido.stacks.workloads.menu.domain.ItemHelper.createItems; -import static com.amido.stacks.workloads.menu.domain.MenuHelper.createMenu; -import static com.amido.stacks.workloads.util.TestHelper.getBaseURL; -import static com.amido.stacks.workloads.util.TestHelper.getRequestHttpEntity; +package com.ensono.stacks.workloads.menu.api.v1; + +import static com.ensono.stacks.workloads.menu.domain.CategoryHelper.createCategory; +import static com.ensono.stacks.workloads.menu.domain.ItemHelper.createItem; +import static com.ensono.stacks.workloads.menu.domain.ItemHelper.createItems; +import static com.ensono.stacks.workloads.menu.domain.MenuHelper.createMenu; +import static com.ensono.stacks.workloads.util.TestHelper.getBaseURL; +import static com.ensono.stacks.workloads.util.TestHelper.getRequestHttpEntity; import static java.util.UUID.randomUUID; import static org.assertj.core.api.BDDAssertions.then; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.OK; -import com.amido.stacks.core.api.dto.ErrorResponse; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Item; -import com.amido.stacks.workloads.menu.domain.Menu; -import com.amido.stacks.workloads.menu.service.utility.MenuHelperService; +import com.ensono.stacks.core.api.dto.ErrorResponse; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.service.utility.MenuHelperService; import java.util.ArrayList; import java.util.List; import java.util.UUID; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/MenuControllerTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/MenuControllerTest.java similarity index 82% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/MenuControllerTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/MenuControllerTest.java index 010a09f82..75c151789 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/MenuControllerTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/MenuControllerTest.java @@ -1,30 +1,30 @@ -package com.amido.stacks.workloads.menu.api.v1; +package com.ensono.stacks.workloads.menu.api.v1; -import static com.amido.stacks.workloads.menu.domain.MenuHelper.createMenu; -import static com.amido.stacks.workloads.menu.domain.MenuHelper.createMenus; -import static com.amido.stacks.workloads.util.TestHelper.getBaseURL; -import static com.amido.stacks.workloads.util.TestHelper.getRequestHttpEntity; +import static com.ensono.stacks.workloads.menu.domain.MenuHelper.createMenu; +import static com.ensono.stacks.workloads.menu.domain.MenuHelper.createMenus; +import static com.ensono.stacks.workloads.util.TestHelper.getBaseURL; +import static com.ensono.stacks.workloads.util.TestHelper.getRequestHttpEntity; import static org.assertj.core.api.BDDAssertions.then; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.core.IsNull.notNullValue; import static org.springframework.http.HttpStatus.OK; -import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse; -import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse; -import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult; -import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResultItem; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Item; -import com.amido.stacks.workloads.menu.domain.Menu; -import com.amido.stacks.workloads.menu.mappers.CategoryMapper; -import com.amido.stacks.workloads.menu.mappers.ItemMapper; -import com.amido.stacks.workloads.menu.mappers.MenuMapper; -import com.amido.stacks.workloads.menu.mappers.SearchMenuResultItemMapper; -import com.amido.stacks.workloads.menu.service.utility.MenuHelperService; +import com.ensono.stacks.core.api.dto.response.ResourceCreatedResponse; +import com.ensono.stacks.core.api.dto.response.ResourceUpdatedResponse; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.SearchMenuResultItem; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.mappers.CategoryMapper; +import com.ensono.stacks.workloads.menu.mappers.ItemMapper; +import com.ensono.stacks.workloads.menu.mappers.MenuMapper; +import com.ensono.stacks.workloads.menu.mappers.SearchMenuResultItemMapper; +import com.ensono.stacks.workloads.menu.service.utility.MenuHelperService; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/SecretsControllerTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/SecretsControllerTest.java similarity index 91% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/SecretsControllerTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/SecretsControllerTest.java index 56838aa54..c9c5fee3a 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/SecretsControllerTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/SecretsControllerTest.java @@ -1,9 +1,9 @@ -package com.amido.stacks.workloads.menu.api.v1; +package com.ensono.stacks.workloads.menu.api.v1; import static org.assertj.core.api.BDDAssertions.then; -import com.amido.stacks.workloads.Application; -import com.amido.stacks.workloads.util.TestHelper; +import com.ensono.stacks.workloads.Application; +import com.ensono.stacks.workloads.util.TestHelper; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/CategoryDTOTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/CategoryDTOTest.java similarity index 81% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/CategoryDTOTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/CategoryDTOTest.java index 471eef094..87fac6884 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/CategoryDTOTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/CategoryDTOTest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import nl.jqno.equalsverifier.EqualsVerifier; import org.junit.jupiter.api.Tag; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ItemDTOTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/ItemDTOTest.java similarity index 81% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ItemDTOTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/ItemDTOTest.java index 3e56f9cc0..df750d576 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ItemDTOTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/ItemDTOTest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import nl.jqno.equalsverifier.EqualsVerifier; import org.junit.jupiter.api.Tag; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/MenuDTOTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/MenuDTOTest.java similarity index 81% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/MenuDTOTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/MenuDTOTest.java index c182b8190..ca1a9499e 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/MenuDTOTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/MenuDTOTest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import nl.jqno.equalsverifier.EqualsVerifier; import org.junit.jupiter.api.Tag; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItemTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItemTest.java similarity index 81% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItemTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItemTest.java index 1e1d70791..54a7c2301 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItemTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultItemTest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import nl.jqno.equalsverifier.EqualsVerifier; import org.junit.jupiter.api.Tag; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultTest.java similarity index 81% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultTest.java index 3d847a14a..eaaedd77b 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v1/dto/response/SearchMenuResultTest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.api.v1.dto.response; +package com.ensono.stacks.workloads.menu.api.v1.dto.response; import nl.jqno.equalsverifier.EqualsVerifier; import org.junit.jupiter.api.Tag; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v2/MenuControllerV2Test.java b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v2/MenuControllerV2Test.java similarity index 78% rename from java/src/test/java/com/amido/stacks/workloads/menu/api/v2/MenuControllerV2Test.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/api/v2/MenuControllerV2Test.java index c07c397b1..d968e807c 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v2/MenuControllerV2Test.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/api/v2/MenuControllerV2Test.java @@ -1,12 +1,12 @@ -package com.amido.stacks.workloads.menu.api.v2; +package com.ensono.stacks.workloads.menu.api.v2; -import static com.amido.stacks.workloads.menu.domain.MenuHelper.createMenu; -import static com.amido.stacks.workloads.util.TestHelper.getBaseURL; +import static com.ensono.stacks.workloads.menu.domain.MenuHelper.createMenu; +import static com.ensono.stacks.workloads.util.TestHelper.getBaseURL; import static org.assertj.core.api.BDDAssertions.then; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.domain.Menu; -import com.amido.stacks.workloads.menu.mappers.MenuMapper; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.mappers.MenuMapper; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/domain/CategoryHelper.java b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/CategoryHelper.java similarity index 87% rename from java/src/test/java/com/amido/stacks/workloads/menu/domain/CategoryHelper.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/domain/CategoryHelper.java index a2f0ef06a..2a73541c3 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/domain/CategoryHelper.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/CategoryHelper.java @@ -1,10 +1,12 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import java.util.ArrayList; import java.util.List; import java.util.UUID; -/** @author ArathyKrishna */ +/** + * @author ArathyKrishna + */ public class CategoryHelper { public static List createCategories(int count) { List categoryList = new ArrayList<>(); diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/domain/ItemHelper.java b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/ItemHelper.java similarity index 85% rename from java/src/test/java/com/amido/stacks/workloads/menu/domain/ItemHelper.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/domain/ItemHelper.java index 8d965368c..32b67e254 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/domain/ItemHelper.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/ItemHelper.java @@ -1,10 +1,12 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import java.util.ArrayList; import java.util.List; import java.util.UUID; -/** @author ArathyKrishna */ +/** + * @author ArathyKrishna + */ public class ItemHelper { public static Item createItem(int counter) { diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/domain/MenuHelper.java b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/MenuHelper.java similarity index 87% rename from java/src/test/java/com/amido/stacks/workloads/menu/domain/MenuHelper.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/domain/MenuHelper.java index beaf61795..b7e7d5a98 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/domain/MenuHelper.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/MenuHelper.java @@ -1,10 +1,12 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import java.util.ArrayList; import java.util.List; import java.util.UUID; -/** @author ArathyKrishna */ +/** + * @author ArathyKrishna + */ public class MenuHelper { public static List createMenus(int count) { diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/domain/MenuTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/MenuTest.java similarity index 94% rename from java/src/test/java/com/amido/stacks/workloads/menu/domain/MenuTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/domain/MenuTest.java index 41b7602ef..b5db0064b 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/domain/MenuTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/domain/MenuTest.java @@ -1,4 +1,4 @@ -package com.amido.stacks.workloads.menu.domain; +package com.ensono.stacks.workloads.menu.domain; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/mappers/DomainToDtoMapperMapstructTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/mappers/DomainToDtoMapperMapstructTest.java similarity index 91% rename from java/src/test/java/com/amido/stacks/workloads/menu/mappers/DomainToDtoMapperMapstructTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/mappers/DomainToDtoMapperMapstructTest.java index 9b4a573b2..cb076b7ed 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/mappers/DomainToDtoMapperMapstructTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/mappers/DomainToDtoMapperMapstructTest.java @@ -1,15 +1,15 @@ -package com.amido.stacks.workloads.menu.mappers; +package com.ensono.stacks.workloads.menu.mappers; import static java.util.UUID.randomUUID; import static org.assertj.core.api.Assertions.assertThat; -import com.amido.stacks.workloads.menu.api.v1.dto.response.CategoryDTO; -import com.amido.stacks.workloads.menu.api.v1.dto.response.ItemDTO; -import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO; -import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResultItem; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Item; -import com.amido.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.CategoryDTO; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.ItemDTO; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.MenuDTO; +import com.ensono.stacks.workloads.menu.api.v1.dto.response.SearchMenuResultItem; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.workloads.menu.domain.Menu; import java.util.Arrays; import java.util.Collections; import java.util.UUID; diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/service/utility/MenuHelperServiceTest.java b/java/src/test/java/com/ensono/stacks/workloads/menu/service/utility/MenuHelperServiceTest.java similarity index 85% rename from java/src/test/java/com/amido/stacks/workloads/menu/service/utility/MenuHelperServiceTest.java rename to java/src/test/java/com/ensono/stacks/workloads/menu/service/utility/MenuHelperServiceTest.java index 3217bee92..49ad0e1cc 100644 --- a/java/src/test/java/com/amido/stacks/workloads/menu/service/utility/MenuHelperServiceTest.java +++ b/java/src/test/java/com/ensono/stacks/workloads/menu/service/utility/MenuHelperServiceTest.java @@ -1,11 +1,11 @@ -package com.amido.stacks.workloads.menu.service.utility; +package com.ensono.stacks.workloads.menu.service.utility; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import com.amido.stacks.workloads.menu.domain.Category; -import com.amido.stacks.workloads.menu.domain.Item; -import com.amido.stacks.workloads.menu.domain.Menu; +import com.ensono.stacks.workloads.menu.domain.Category; +import com.ensono.stacks.workloads.menu.domain.Item; +import com.ensono.stacks.workloads.menu.domain.Menu; import java.util.UUID; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/java/src/test/java/com/amido/stacks/workloads/util/TestHelper.java b/java/src/test/java/com/ensono/stacks/workloads/util/TestHelper.java similarity index 84% rename from java/src/test/java/com/amido/stacks/workloads/util/TestHelper.java rename to java/src/test/java/com/ensono/stacks/workloads/util/TestHelper.java index 6ea067e3a..3713a0ac2 100644 --- a/java/src/test/java/com/amido/stacks/workloads/util/TestHelper.java +++ b/java/src/test/java/com/ensono/stacks/workloads/util/TestHelper.java @@ -1,9 +1,11 @@ -package com.amido.stacks.workloads.util; +package com.ensono.stacks.workloads.util; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; -/** @author ArathyKrishna */ +/** + * @author ArathyKrishna + */ public class TestHelper { public static String getBaseURL(int port) {