From fa6b9b4a2584e1995d0704228b9f75b1a2b1c17b Mon Sep 17 00:00:00 2001 From: hariprakash Date: Fri, 23 Aug 2024 17:08:17 +0530 Subject: [PATCH] initial file service commit --- .gitignore | 33 +++ .mvn/wrapper/maven-wrapper.properties | 19 ++ mvnw | 259 ++++++++++++++++++ mvnw.cmd | 149 ++++++++++ pom.xml | 76 +++++ .../CrsFileServiceApplication.java | 13 + .../crs_file_service/config/WebConfig.java | 36 +++ .../controller/FileController.java | 49 ++++ .../crs_file_service/service/FileService.java | 71 +++++ src/main/resources/application.properties | 19 ++ .../6985fc46e38c4a8b82a9449c5e9b19dc.png | Bin 0 -> 104994 bytes .../CrsFileServiceApplicationTests.java | 13 + 12 files changed, 737 insertions(+) create mode 100644 .gitignore create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml create mode 100644 src/main/java/com/crs_file_service/CrsFileServiceApplication.java create mode 100644 src/main/java/com/crs_file_service/config/WebConfig.java create mode 100644 src/main/java/com/crs_file_service/controller/FileController.java create mode 100644 src/main/java/com/crs_file_service/service/FileService.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/images/6985fc46e38c4a8b82a9449c5e9b19dc.png create mode 100644 src/test/java/com/crs_file_service/CrsFileServiceApplicationTests.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..8f96f52 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.7/apache-maven-3.9.7-bin.zip diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..d7c358e --- /dev/null +++ b/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..6f779cf --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..1520b24 --- /dev/null +++ b/pom.xml @@ -0,0 +1,76 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.3.2 + + + com + crs_file_service + 0.0.1-SNAPSHOT + crs_file_service + CRS File Service + + + + + + + + + + + + + + + 17 + 2023.0.3 + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/src/main/java/com/crs_file_service/CrsFileServiceApplication.java b/src/main/java/com/crs_file_service/CrsFileServiceApplication.java new file mode 100644 index 0000000..6d65a89 --- /dev/null +++ b/src/main/java/com/crs_file_service/CrsFileServiceApplication.java @@ -0,0 +1,13 @@ +package com.crs_file_service; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class CrsFileServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(CrsFileServiceApplication.class, args); + } + +} diff --git a/src/main/java/com/crs_file_service/config/WebConfig.java b/src/main/java/com/crs_file_service/config/WebConfig.java new file mode 100644 index 0000000..80750bb --- /dev/null +++ b/src/main/java/com/crs_file_service/config/WebConfig.java @@ -0,0 +1,36 @@ +package com.crs_file_service.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.io.File; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + private final String uploadDirectory; + + /* + * @Author Praveen Kumar + */ + @Autowired + public WebConfig( + @Value("${file.upload.directory}") String uploadDirectory) { + this.uploadDirectory = uploadDirectory; + } + + /* + * Note: To create a folder in server to store images and to give URL link + */ + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + System.out.println(uploadDirectory); + File f = new File(uploadDirectory); + if(!f.exists()) { + f.mkdirs(); + } + registry.addResourceHandler("/images/**").addResourceLocations("file:" + uploadDirectory +"/"); + } +} diff --git a/src/main/java/com/crs_file_service/controller/FileController.java b/src/main/java/com/crs_file_service/controller/FileController.java new file mode 100644 index 0000000..d443435 --- /dev/null +++ b/src/main/java/com/crs_file_service/controller/FileController.java @@ -0,0 +1,49 @@ +package com.crs_file_service.controller; + +import com.crs_file_service.service.FileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.sql.Blob; + +@RestController +public class FileController { + @Autowired + private FileService fileService; + @PostMapping("/photo") + public String saveFile(@RequestBody byte[] files, @RequestParam("uuid") String uuid) { + System.out.println(uuid); + //throws IOException + // fileService.saveFile(files, uuid); + //return "loch8080/photo" ; + try{ + String directory = "src/main/resources/static/images"; + + Path path = Paths.get(directory); + if (!Files.exists(path)) { + Files.createDirectories(path); + } + String fileName = uuid + ".png"; // or any other extension + Path filePath = Paths.get(directory, fileName); + Files.write(filePath, files); + String imageUrl = "/images/" + fileName; + System.out.println("File saved successfully at " + imageUrl); + + return "File saved successfully at " + filePath.toString(); + }catch (IOException e) { + + e.printStackTrace(); + return "Failed to save the file."; + } + } + +} diff --git a/src/main/java/com/crs_file_service/service/FileService.java b/src/main/java/com/crs_file_service/service/FileService.java new file mode 100644 index 0000000..15e2bcc --- /dev/null +++ b/src/main/java/com/crs_file_service/service/FileService.java @@ -0,0 +1,71 @@ +package com.crs_file_service.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Base64; + +@Service +public class FileService { +// @Value("$ (file.fullpath)") String fileDataPath; +// @Value("$(file.upload.directory)") String uploadDirectory; +private final String fileDataPath; +private final String uploadDirectory; + +@Autowired +FileService(@Value("$ (file.fullpath)") String fileDataPath, @Value("$(file.upload.directory)") String uploadDirectory) { + this.fileDataPath = fileDataPath; + this.uploadDirectory = uploadDirectory; +} + + + public String saveFile(byte[] files, String uuid) throws IOException { + if (files != null ) { + System.out.println("Upload Directory: " + uploadDirectory); + String fileRoute = uploadDirectory + "/" + uuid+ "_BirthFile.pdf"; + try (FileOutputStream fos = new FileOutputStream(fileRoute)) { + + fos.write(files); + } catch (IOException e) { + + throw new RuntimeException(e); + } +// try { +// // Encode the MultipartFile to Base64 +// String base64File = Base64.getMimeEncoder().encodeToString(files.getBytes()); +// +// // Decode the Base64 string back to byte array +// byte[] bytes = Base64.getMimeDecoder().decode(base64File); +// +// // Generate the file path +// String filepath = uploadDirectory + "/" + uuid + "_BrithPhoto.png"; +// Path pathe = Paths.get(filepath); +// System.out.println("File Path: " + filepath); +// +// // Save the file using FileOutputStream +// try (FileOutputStream fos = new FileOutputStream(filepath)) { +// fos.write(bytes); +// } catch (FileNotFoundException e) { +// throw new RuntimeException("File not found: " + filepath, e); +// } catch (IOException e) { +// throw new RuntimeException("Failed to write file: " + filepath, e); +// } +// +// // Return the file path after successful save +// return filepath; +// +// } catch (IOException e) { +// throw new IOException("Error processing file: " + files.getOriginalFilename(), e); +// } + } + + return "ERROR"; + } + } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..815e83a --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,19 @@ +spring.application.name=crs_file_service +server.port=9098 +#eureka.instance.hostname=localhost +eureka.client.register-with-eureka= true +eureka.client.fetch-registry= true +eureka.client.service-url.defaultZone= http://localhost:8761/eureka/ +eureka.client.service-url.instance.hostname = localhost + + +spring.servlet.multipart.enabled=true +spring.servlet.multipart.file-size-threshold=2KB +spring.servlet.multipart.max-file-size=10MB +spring.servlet.multipart.max-request-size=10MB + + + + +file.upload.directory=${user.dir}/crs_birthDirectory +file.fullpath=http://localhost:9098/crs_birthDirectory \ No newline at end of file diff --git a/src/main/resources/images/6985fc46e38c4a8b82a9449c5e9b19dc.png b/src/main/resources/images/6985fc46e38c4a8b82a9449c5e9b19dc.png new file mode 100644 index 0000000000000000000000000000000000000000..c0292e10a4e89729b3432191e3215465018d7216 GIT binary patch literal 104994 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%0A!Ig#T~!94&nAaZlD%frQqy`NF_ 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