shiwn 2 лет назад
Родитель
Сommit
1160b47600

+ 0 - 33
.gitignore

@@ -1,33 +0,0 @@
-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/

BIN
.mvn/wrapper/maven-wrapper.jar


+ 0 - 2
.mvn/wrapper/maven-wrapper.properties

@@ -1,2 +0,0 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar

+ 0 - 137
logs/pmp

@@ -1,137 +0,0 @@
-2022-02-24 10:17:51.035 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 92204 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:17:51.050 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:17:52.646 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.985 seconds (JVM running for 3.737)
-2022-02-24 10:18:10.851 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 99932 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:18:10.853 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:18:11.798 [restartedMain] WARN  org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shortUrlServiceImpl': Invocation of init method failed; nested exception is java.lang.NullPointerException
-2022-02-24 10:18:11.840 [restartedMain] ERROR org.springframework.boot.SpringApplication- Application run failed
-org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shortUrlServiceImpl': Invocation of init method failed; nested exception is java.lang.NullPointerException
-	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160)
-	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
-	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
-	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
-	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
-	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
-	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
-	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
-	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
-	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
-	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
-	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
-	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
-	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
-	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
-	at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
-	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
-	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
-	at com.sw.appcloudv1.Appcloudv1Application.main(Appcloudv1Application.java:10)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
-Caused by: java.lang.NullPointerException: null
-	at com.sw.appcloudv1.service.ShortUrlServiceImpl.createShortUrl(ShortUrlServiceImpl.java:30)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
-	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
-	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
-	... 23 common frames omitted
-2022-02-24 10:18:22.539 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 97644 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:18:22.539 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:18:39.090 [restartedMain] WARN  org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shortUrlServiceImpl': Invocation of init method failed; nested exception is java.lang.NullPointerException
-2022-02-24 10:18:42.691 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 100068 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:18:42.691 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:18:57.893 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 15.505 seconds (JVM running for 16.223)
-2022-02-24 10:19:13.045 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 99836 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:19:13.045 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:19:32.470 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 19.727 seconds (JVM running for 20.541)
-2022-02-24 10:19:34.841 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 90412 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:19:34.842 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:19:42.332 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 7.789 seconds (JVM running for 8.401)
-2022-02-24 10:19:46.220 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 74064 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:19:46.220 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:19:59.332 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 13.402 seconds (JVM running for 14.03)
-2022-02-24 10:24:06.929 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 95692 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:24:06.933 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:24:08.186 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.588 seconds (JVM running for 2.229)
-2022-02-24 10:25:08.346 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 100124 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:25:08.346 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:25:09.423 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.39 seconds (JVM running for 2.105)
-2022-02-24 10:25:20.134 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 85432 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:25:20.150 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:25:21.189 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.332 seconds (JVM running for 1.955)
-2022-02-24 10:26:30.083 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 37768 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:26:30.090 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:26:31.093 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.343 seconds (JVM running for 2.06)
-2022-02-24 10:30:25.738 [http-nio-8081-exec-1] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]- Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
-java.lang.NullPointerException: null
-	at com.sw.appcloudv1.controller.AppDownloadController.deCode(AppDownloadController.java:55)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
-	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
-	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
-	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
-	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
-	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
-	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
-	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
-	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
-	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
-	at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
-	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
-	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
-	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
-	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
-	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
-	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
-	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
-	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
-	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
-	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
-	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
-	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
-	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
-	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
-	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
-	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
-	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
-	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
-	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
-	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
-	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
-	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
-	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
-	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
-	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
-	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
-	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
-	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
-	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
-	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732)
-	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
-	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
-	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
-	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
-	at java.lang.Thread.run(Thread.java:748)
-2022-02-24 10:31:23.487 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 85344 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:31:23.488 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:31:24.501 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.357 seconds (JVM running for 2.139)
-2022-02-24 10:34:06.360 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 86864 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:34:06.360 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:34:07.401 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.348 seconds (JVM running for 2.01)
-2022-02-24 10:36:22.657 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 99924 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:36:22.657 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:36:35.168 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 12.823 seconds (JVM running for 13.461)
-2022-02-24 10:37:14.663 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Starting Appcloudv1Application using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 63384 (E:\ProjectIndex\appcloudv1\target\classes started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:37:14.679 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- No active profile set, falling back to default profiles: default
-2022-02-24 10:37:15.757 [restartedMain] INFO  com.sw.appcloudv1.Appcloudv1Application- Started Appcloudv1Application in 1.386 seconds (JVM running for 2.065)
-2022-02-24 10:38:05.611 [main] INFO  com.sw.appcloudv1.Appcloudv1ApplicationTests- Starting Appcloudv1ApplicationTests using Java 1.8.0_181 on DESKTOP-FQ8NNTE with PID 100764 (started by SUNWIN in E:\ProjectIndex\appcloudv1)
-2022-02-24 10:38:05.611 [main] INFO  com.sw.appcloudv1.Appcloudv1ApplicationTests- No active profile set, falling back to default profiles: default
-2022-02-24 10:38:06.758 [main] INFO  com.sw.appcloudv1.Appcloudv1ApplicationTests- Started Appcloudv1ApplicationTests in 1.359 seconds (JVM running for 2.164)

BIN
logs/pmp.2022-02-23.0.gz


+ 0 - 331
mvnw

@@ -1,331 +0,0 @@
-#!/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.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-#   JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-#   M2_HOME - location of maven2's installed home dir
-#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
-#     e.g. to debug Maven itself, use
-#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ]; then
-
-  if [ -f /usr/local/etc/mavenrc ]; then
-    . /usr/local/etc/mavenrc
-  fi
-
-  if [ -f /etc/mavenrc ]; then
-    . /etc/mavenrc
-  fi
-
-  if [ -f "$HOME/.mavenrc" ]; then
-    . "$HOME/.mavenrc"
-  fi
-
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false
-darwin=false
-mingw=false
-case "$(uname)" in
-CYGWIN*) cygwin=true ;;
-MINGW*) mingw=true ;;
-Darwin*)
-  darwin=true
-  # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
-  # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
-  if [ -z "$JAVA_HOME" ]; then
-    if [ -x "/usr/libexec/java_home" ]; then
-      export JAVA_HOME="$(/usr/libexec/java_home)"
-    else
-      export JAVA_HOME="/Library/Java/Home"
-    fi
-  fi
-  ;;
-esac
-
-if [ -z "$JAVA_HOME" ]; then
-  if [ -r /etc/gentoo-release ]; then
-    JAVA_HOME=$(java-config --jre-home)
-  fi
-fi
-
-if [ -z "$M2_HOME" ]; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ]; do
-    ls=$(ls -ld "$PRG")
-    link=$(expr "$ls" : '.*-> \(.*\)$')
-    if expr "$link" : '/.*' >/dev/null; then
-      PRG="$link"
-    else
-      PRG="$(dirname "$PRG")/$link"
-    fi
-  done
-
-  saveddir=$(pwd)
-
-  M2_HOME=$(dirname "$PRG")/..
-
-  # make it fully qualified
-  M2_HOME=$(cd "$M2_HOME" && pwd)
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=$(cygpath --unix "$M2_HOME")
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
-fi
-
-# For Mingw, ensure paths are in UNIX format before anything is touched
-if $mingw; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="$( (
-      cd "$M2_HOME"
-      pwd
-    ))"
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME="$( (
-      cd "$JAVA_HOME"
-      pwd
-    ))"
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  javaExecutable="$(which javac)"
-  if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then
-    # readlink(1) is not available as standard on Solaris 10.
-    readLink=$(which readlink)
-    if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then
-      if $darwin; then
-        javaHome="$(dirname \"$javaExecutable\")"
-        javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac"
-      else
-        javaExecutable="$(readlink -f \"$javaExecutable\")"
-      fi
-      javaHome="$(dirname \"$javaExecutable\")"
-      javaHome=$(expr "$javaHome" : '\(.*\)/bin')
-      JAVA_HOME="$javaHome"
-      export JAVA_HOME
-    fi
-  fi
-fi
-
-if [ -z "$JAVACMD" ]; then
-  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"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  else
-    JAVACMD="$(
-      \unset -f command
-      \command -v java
-    )"
-  fi
-fi
-
-if [ ! -x "$JAVACMD" ]; then
-  echo "Error: JAVA_HOME is not defined correctly." >&2
-  echo "  We cannot execute $JAVACMD" >&2
-  exit 1
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-
-  if [ -z "$1" ]; then
-    echo "Path not specified to find_maven_basedir"
-    return 1
-  fi
-
-  basedir="$1"
-  wdir="$1"
-  while [ "$wdir" != '/' ]; do
-    if [ -d "$wdir"/.mvn ]; then
-      basedir=$wdir
-      break
-    fi
-    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
-    if [ -d "${wdir}" ]; then
-      wdir=$(
-        cd "$wdir/.."
-        pwd
-      )
-    fi
-    # end of workaround
-  done
-  echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
-  if [ -f "$1" ]; then
-    echo "$(tr -s '\n' ' ' <"$1")"
-  fi
-}
-
-BASE_DIR=$(find_maven_basedir "$(pwd)")
-if [ -z "$BASE_DIR" ]; then
-  exit 1
-fi
-
-##########################################################################################
-# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-# This allows using the maven wrapper in projects that prohibit checking in binary data.
-##########################################################################################
-if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
-  if [ "$MVNW_VERBOSE" = true ]; then
-    echo "Found .mvn/wrapper/maven-wrapper.jar"
-  fi
-else
-  if [ "$MVNW_VERBOSE" = true ]; then
-    echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
-  fi
-  if [ -n "$MVNW_REPOURL" ]; then
-    jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
-  else
-    jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
-  fi
-  while IFS="=" read key value; do
-    case "$key" in wrapperUrl)
-      jarUrl="$value"
-      break
-      ;;
-    esac
-  done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
-  if [ "$MVNW_VERBOSE" = true ]; then
-    echo "Downloading from: $jarUrl"
-  fi
-  wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
-  if $cygwin; then
-    wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
-  fi
-
-  if command -v wget >/dev/null; then
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Found wget ... using wget"
-    fi
-    if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-      wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
-    else
-      wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
-    fi
-  elif command -v curl >/dev/null; then
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Found curl ... using curl"
-    fi
-    if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-      curl -o "$wrapperJarPath" "$jarUrl" -f
-    else
-      curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
-    fi
-
-  else
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Falling back to using Java to download"
-    fi
-    javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
-    # For Cygwin, switch paths to Windows format before running javac
-    if $cygwin; then
-      javaClass=$(cygpath --path --windows "$javaClass")
-    fi
-    if [ -e "$javaClass" ]; then
-      if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo " - Compiling MavenWrapperDownloader.java ..."
-        fi
-        # Compiling the Java class
-        ("$JAVA_HOME/bin/javac" "$javaClass")
-      fi
-      if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
-        # Running the downloader
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo " - Running MavenWrapperDownloader.java ..."
-        fi
-        ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
-      fi
-    fi
-  fi
-fi
-##########################################################################################
-# End of extension
-##########################################################################################
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-if [ "$MVNW_VERBOSE" = true ]; then
-  echo $MAVEN_PROJECTBASEDIR
-fi
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=$(cygpath --path --windows "$M2_HOME")
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
-  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
-    MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
-fi
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
-  $MAVEN_OPTS \
-  $MAVEN_DEBUG_OPTS \
-  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" \
-  "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

+ 0 - 188
mvnw.cmd

@@ -1,188 +0,0 @@
-@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 Maven Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM     e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM set title of command window
-title %0
-@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
-if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
-
-FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
-    IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
-)
-
-@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
-if exist %WRAPPER_JAR% (
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Found %WRAPPER_JAR%
-    )
-) else (
-    if not "%MVNW_REPOURL%" == "" (
-        SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
-    )
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Couldn't find %WRAPPER_JAR%, downloading it ...
-        echo Downloading from: %DOWNLOAD_URL%
-    )
-
-    powershell -Command "&{"^
-		"$webclient = new-object System.Net.WebClient;"^
-		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
-		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
-		"}"^
-		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
-		"}"
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Finished downloading %WRAPPER_JAR%
-    )
-)
-@REM End of extension
-
-@REM Provide a "standardized" way to retrieve the CLI args that will
-@REM work with both Windows and non-Windows executions.
-set MAVEN_CMD_LINE_ARGS=%*
-
-%MAVEN_JAVA_EXE% ^
-  %JVM_CONFIG_MAVEN_PROPS% ^
-  %MAVEN_OPTS% ^
-  %MAVEN_DEBUG_OPTS% ^
-  -classpath %WRAPPER_JAR% ^
-  "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
-  %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
-if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%"=="on" pause
-
-if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
-
-cmd /C exit /B %ERROR_CODE%

+ 0 - 74
pom.xml

@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.6.3</version>
-        <relativePath/> <!-- lookup parent from repository -->
-    </parent>
-    <groupId>com.sw</groupId>
-    <artifactId>appcloudv1</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <name>appcloudv1</name>
-    <description>Demo project for Spring Boot</description>
-    <properties>
-        <java.version>1.8</java.version>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-devtools</artifactId>
-            <scope>runtime</scope>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-pool2</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.10</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                        </exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>3.1.0</version>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>

+ 0 - 13
src/main/java/com/sw/appcloudv1/Appcloudv1Application.java

@@ -1,13 +0,0 @@
-package com.sw.appcloudv1;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class Appcloudv1Application {
-
-    public static void main(String[] args) {
-        SpringApplication.run(Appcloudv1Application.class, args);
-    }
-
-}

+ 0 - 52
src/main/java/com/sw/appcloudv1/Utils/ShortUrlUtils.java

@@ -1,52 +0,0 @@
-package com.sw.appcloudv1.Utils;
-
-import org.apache.commons.codec.digest.DigestUtils;
-
-/**
- * 短连接算法
- * Created by shiwn on 2022/2/24 10:07
- */
-public class ShortUrlUtils {
-    //  26小写字母 + 26大写字母 + 10个数字 = 62
-    public static final String[] chars = new String[]{"a", "b", "c", "d", "e", "f", "g", "h",
-            "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
-            "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
-            "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H",
-            "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
-            "U", "V", "W", "X", "Y", "Z"};
-
-    /**
-     * 短连接算法
-     */
-    public static String[] shortUrl(String url) {
-        //  对传入网址进行 MD5 加密
-        String sMD5EncryptResult = DigestUtils.md5Hex(url);
-        //  md5处理后是32位
-        String hex = sMD5EncryptResult;
-        //  切割为4组,每组8个字符, 32 = 4 *  8
-        String[] resUrl = new String[4];
-
-        for (int i = 0; i < 4; i++) {
-            //  取出8位字符串,md5 32位,按照8位一组字符,被切割为4组
-            String sTempSubString = hex.substring(i * 8, i * 8 + 8);
-
-            //  把加密字符按照8位一组16进制与 0x3FFFFFFF 进行位与运算
-            //  这里需要使用 long 型来转换,因为 Inteper .parseInt() 只能处理 31 位 , 首位为符号位 , 如果不用 long ,则会越界
-            long lHexLong = 0x3FFFFFFF & Long.parseLong(sTempSubString, 16);
-
-            String outChars = "";
-            for (int j = 0; j < 6; j++) {
-                //  0x0000003D它的10进制是61,61代表最上面定义的chars数组长度62的0到61的坐标。
-                //  0x0000003D & lHexLong进行位与运算,就是格式化为6位,即保证了index绝对是61以内的值
-                long index = 0x0000003D & lHexLong;
-                //  按照下标index把从chars数组取得的字符逐个相加
-                outChars += chars[(int) index];
-                //  每次循环按位移5位,因为30位的二进制,分6次循环,即每次右移5位
-                lHexLong = lHexLong >> 5;
-            }
-            // 把字符串存入对应索引的输出数组,会产生一组6位字符串
-            resUrl[i] = outChars;
-        }
-        return resUrl;
-    }
-}

+ 0 - 38
src/main/java/com/sw/appcloudv1/controller/AppDownloadController.java

@@ -1,38 +0,0 @@
-package com.sw.appcloudv1.controller;
-
-import com.sw.appcloudv1.entities.ResultData;
-import com.sw.appcloudv1.service.AppDownloadService;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * app下载\更新\查询版本
- */
-@RestController
-@RequestMapping("appDown")
-public class AppDownloadController {
-    @Resource
-    private AppDownloadService appDownloadService;
-
-    /**
-     * @Description: 下载app
-     * @Param: [response,  projectId:项目id]
-     * @Return:
-     */
-    @GetMapping("/download")
-    public void download(HttpServletResponse response, Integer projectId) {
-        appDownloadService.download(response, projectId);
-    }
-
-    /**
-     * @Description: 查询最新的版本号
-     * @Param: [projectId]
-     * @Return:
-     */
-    @GetMapping("/getNewVersion")
-    public ResultData getNewVersion(Integer projectId) {
-        return ResultData.success(appDownloadService.getNewVersion(projectId));
-    }
-}

+ 0 - 35
src/main/java/com/sw/appcloudv1/controller/ShortUrlController.java

@@ -1,35 +0,0 @@
-package com.sw.appcloudv1.controller;
-
-import com.sw.appcloudv1.service.ShortUrlService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * Created by shiwn on 2022/2/24 10:33
- */
-@RestController
-public class ShortUrlController {
-    @Resource
-    private ShortUrlService shortUrlService;
-    @Resource
-    private HttpServletResponse httpServletResponse;
-
-    @GetMapping(value = "/deCode/{shortUrlKey}")
-    public void deCode(@PathVariable String shortUrlKey) {
-        String url = shortUrlService.getLongUrl(shortUrlKey);
-        if (url == null) {
-            return;
-        }
-        try {
-            //重定向到原始的url
-            httpServletResponse.sendRedirect(url);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 0 - 113
src/main/java/com/sw/appcloudv1/entities/ResultData.java

@@ -1,113 +0,0 @@
-package com.sw.appcloudv1.entities;
-
-/**
- * Created by shiwn on 2022/2/23 16:15
- */
-public class ResultData<T> {
-    /**
-     * 默认:0成功,1失败,205结果为null,500系统异常
-     */
-    private Integer code;
-    private String msg;
-    private T data;
-
-    public String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public void setCode(Integer code) {
-        this.code = code;
-    }
-
-    public T getData() {
-        return data;
-    }
-
-    public void setData(T data) {
-        this.data = data;
-    }
-
-    public ResultData() {
-        this.code = 0;
-        this.msg = "操作成功";
-    }
-
-    public ResultData(Integer code, String msg) {
-        this.code = code;
-        this.msg = msg;
-    }
-
-    public ResultData(Integer code, T obj) {
-        this.code = code;
-        this.data = obj;
-    }
-
-    private ResultData(T data) {
-        this.code = 0;
-        this.msg = "操作成功";
-        this.data = data;
-    }
-
-
-    /**
-     * 操作成功,无返回数据
-     *
-     * @return 0
-     */
-    public static ResultData success() {
-        return new ResultData();
-    }
-
-    /**
-     * @Description: 操作执行成功,并判断返回值
-     * @Param: [data]
-     * @Author: shiwn
-     * @Date: 2020/8/3 15:56
-     */
-    public static ResultData success(Object data) {
-        //  判断空值
-        if (data != null) {
-            return new ResultData(data);
-        } else {
-            return ResultData.emptyData();
-        }
-    }
-
-
-    /**
-     * 操作失败
-     *
-     * @param code code
-     * @param msg  操作信息
-     * @return ResultData
-     */
-    public static ResultData fail(Integer code, String msg) {
-        return new ResultData(code, msg);
-    }
-
-    /**
-     * @Description: 操作成功,但返回值为null
-     * @Param: [data]
-     * @Author: shiwn
-     * @Date: 2020/8/3 15:57
-     */
-    public static ResultData emptyData() {
-        return new ResultData(205, "查询结果为空");
-    }
-
-    public static ResultData fail(String msg) {
-        return new ResultData(1, msg);
-    }
-
-    public static ResultData fail() {
-        return new ResultData(1, "操作失败");
-    }
-}

+ 0 - 9
src/main/java/com/sw/appcloudv1/service/AppDownloadService.java

@@ -1,9 +0,0 @@
-package com.sw.appcloudv1.service;
-
-import javax.servlet.http.HttpServletResponse;
-
-public interface AppDownloadService {
-    void download(HttpServletResponse response, Integer projectId);
-
-    String getNewVersion(Integer projectId);
-}

+ 0 - 171
src/main/java/com/sw/appcloudv1/service/AppDownloadServiceImpl.java

@@ -1,171 +0,0 @@
-package com.sw.appcloudv1.service;
-
-import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-
-@Service
-@Slf4j
-public class AppDownloadServiceImpl implements AppDownloadService {
-    private static final Logger logger = LoggerFactory.getLogger(AppDownloadServiceImpl.class);
-
-    /**
-     * app完整包地址
-     */
-    @Value("${app.file.path}")
-    private String filePath;
-
-    /**
-     * app更新包地址
-     */
-    @Value("${app.update.path}")
-    private String updatePath;
-
-    /**
-     * @Description: 下载文件
-     * @Param: [response, version:版本号, projectId:项目id]
-     * @Return:
-     */
-    @Override
-    public void download(HttpServletResponse response, Integer projectId) {
-        projectId = projectId == null ? 1 : projectId;
-        //  获取目录下的全部文件名
-        List<String> listFileNames = getFileNames(filePath);
-        if (listFileNames.size() == 0) {
-            return;
-        }
-        //  获取最新版本文件名
-        String newFile = getNewFileName(listFileNames, projectId);
-        if (newFile == null) {
-            return;
-        }
-        //  下载文件
-        download(response, newFile, filePath);
-    }
-
-    /**
-     * @Description: 获取最新的版本号
-     * @Param: [projectId]
-     * @Return:
-     */
-    @Override
-    public String getNewVersion(Integer projectId) {
-        projectId = projectId == null ? 1 : projectId;
-        //  获取目录下的全部文件名
-        List<String> listFileNames = getFileNames(filePath);
-        if (listFileNames.size() == 0) {
-            return null;
-        }
-        //  获取最新版本文件名
-        String newFile = getNewFileName(listFileNames, projectId);
-        if (newFile == null) {
-            return null;
-        }
-        //  返回
-        return newFile.substring(0, newFile.lastIndexOf("."));
-    }
-
-    /**
-     * @Description: 流文件下载
-     * @Param: [response, newFile:最新版本的文件名, path:文件目录]
-     * @Return:
-     */
-    private void download(HttpServletResponse response, String newFile, String path) {
-        InputStream fis = null;
-        try {
-            path = path + "/" + newFile;
-            File file = new File(path);
-            // 取得文件的后缀名。
-            String ext = newFile.substring(newFile.lastIndexOf(".") + 1).toUpperCase();
-            // 以流的形式下载文件。
-            fis = new BufferedInputStream(new FileInputStream(path));
-            byte[] buffer = new byte[fis.available()];
-            fis.read(buffer);
-            fis.close();
-            // 清空response
-            response.reset();
-            // 设置response的Header
-            response.addHeader("Content-Disposition", "attachment;filename=" + new String(newFile.getBytes()));
-            response.addHeader("Content-Length", "" + file.length());
-            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
-            response.setContentType("application/octet-stream");
-            toClient.write(buffer);
-            toClient.flush();
-            toClient.close();
-            logger.info("下载app文件成功!");
-        } catch (IOException ex) {
-            ex.printStackTrace();
-            logger.info("下载app文件失败!");
-        } finally {
-            if (fis != null) {
-                try {
-                    fis.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                    logger.info("关闭文件流失败!");
-                }
-            }
-        }
-    }
-
-    /**
-     * @Description: 获取最新版本的文件名
-     * @Return:
-     */
-    private String getNewFileName(List<String> listFileNames, Integer projectId) {
-        String newFile = null;
-        Integer maxVersionId = 1;
-        for (String fileName : listFileNames) {
-            Integer pid = Integer.parseInt(fileName.substring(9, 11));
-            //  判断项目id
-            if (pid.equals(projectId)) {
-                if (newFile == null) {
-                    newFile = fileName;
-                } else {
-                    //  获取最新版本号
-                    Integer versionId = Integer.parseInt(fileName.substring(12, 14));
-                    if (versionId > maxVersionId) {
-                        maxVersionId = versionId;
-                        newFile = fileName;
-                    }
-                }
-            }
-        }
-        return newFile;
-    }
-
-    /**
-     * @Description: 获取目录下的全部文件名
-     * @Return:
-     */
-    private List<String> getFileNames(String path) {
-        //  目录下的文件名
-        List<String> listFileNames = new ArrayList<>();
-        //  判断是否存在目录
-        File dir = new File(path);
-        if (!dir.exists() || !dir.isDirectory()) {
-            return new ArrayList<>();
-        }
-        //  读取目录下的所有目录文件信息
-        String[] files = dir.list();
-        //  循环,添加文件名或回调自身
-        for (int i = 0; i < files.length; i++) {
-            File file = new File(dir, files[i]);
-            //  如果文件
-            if (file.isFile()) {
-                //  添加文件全路径名
-//                listFileNames.add(dir + "\\" + file.getName());
-//                listFileNames.add(file.getName().substring(0, file.getName().lastIndexOf(".")));
-                listFileNames.add(file.getName());
-            }
-        }
-        return listFileNames;
-    }
-}

+ 0 - 8
src/main/java/com/sw/appcloudv1/service/ShortUrlService.java

@@ -1,8 +0,0 @@
-package com.sw.appcloudv1.service;
-
-/**
- * Created by shiwn on 2022/2/24 10:11
- */
-public interface ShortUrlService {
-    String getLongUrl(String shortUrlKey);
-}

+ 0 - 42
src/main/java/com/sw/appcloudv1/service/ShortUrlServiceImpl.java

@@ -1,42 +0,0 @@
-package com.sw.appcloudv1.service;
-
-import com.sw.appcloudv1.Utils.ShortUrlUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.PostConstruct;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Created by shiwn on 2022/2/24 10:11
- */
-@Service
-public class ShortUrlServiceImpl implements ShortUrlService {
-
-    private static Map map = new HashMap();
-
-    @Value("${app.url}")
-    private String appUrl;
-
-    @Override
-    public String getLongUrl(String shortUrlKey) {
-        return map.get(shortUrlKey).toString();
-    }
-
-    /**
-     * @Description: 长链接转短链接保存到map中
-     * @Return:
-     */
-    @PostConstruct
-    public void createShortUrl() {
-        String[] urls = appUrl.split(",");
-        for (String longUrl : urls) {
-            String[] shortUrls = ShortUrlUtils.shortUrl(longUrl);
-            for (String shortUrl : shortUrls) {
-                map.put(shortUrl, longUrl);
-            }
-        }
-        System.out.println(map);
-    }
-}

+ 0 - 25
src/main/resources/application.properties

@@ -1,25 +0,0 @@
-server.port=8081
-
-app.file.path=E:/AppFile/file
-app.update.path=E:/AppFile/update
-
-app.url=http://112.26.142.150:9000/appDown/download?projectId=1
-
-spring.application.name=app-cloud-v1
-
-# ========================logging 日志相关的配置=====================
-#系统默认,全局root配置的日志形式,可以注释掉
-logging.level.root=warn
-#开发人员自己设置的包结构,对那个package进行什么级别的日志监控
-logging.level.com.sw.appcloudv1=info
-#开发人员自定义日志路径和日志名称
-logging.file.name=./logs/pmp
-#%d{HH:mm:ss.SSS}――日志输出时间
-#%thread――输出日志的进程名字,这在Web应用以及异步任务处理中很有用
-#%-5level――日志级别,并且使用5个字符靠左对齐
-#%logger- ――日志输出者的名字
-#%msg――日志消息
-#%n――平台的换行符
-#logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger- %msg%n
-logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger- %msg%n 
-logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger- %msg%n

+ 0 - 13
src/test/java/com/sw/appcloudv1/Appcloudv1ApplicationTests.java

@@ -1,13 +0,0 @@
-package com.sw.appcloudv1;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class Appcloudv1ApplicationTests {
-
-    @Test
-    void contextLoads() {
-    }
-
-}