diff --git a/.gitignore b/.gitignore index 549e00a..0ed8b51 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ target/ .springBeans .sts4-cache +### maven ### +.mvn + ### IntelliJ IDEA ### .idea *.iws diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index a45eb6b..0000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed 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. - */ - -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if (mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 2cc7d4a..0000000 Binary files a/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index a9f1ef8..0000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,2 +0,0 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/mvnw b/mvnw deleted file mode 100644 index a16b543..0000000 --- a/mvnw +++ /dev/null @@ -1,310 +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 /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="`which 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/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.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" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$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 \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd deleted file mode 100644 index c8d4337..0000000 --- a/mvnw.cmd +++ /dev/null @@ -1,182 +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 "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\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/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "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%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.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 "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\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% - -exit /B %ERROR_CODE% diff --git a/src/main/java/com/wuzf/swing/config/InternationalConfig.java b/src/main/java/com/wuzf/swing/config/InternationalConfig.java deleted file mode 100644 index dfddc47..0000000 --- a/src/main/java/com/wuzf/swing/config/InternationalConfig.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.wuzf.swing.config; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.support.ResourceBundleMessageSource; - -/** - * @author lucky - */ - -@Configuration -@Slf4j -public class InternationalConfig { - - @Value(value = "${spring.language.basename}") - private String basename; - - @Bean(name = "messageSource") - public ResourceBundleMessageSource getMessageResource() { - ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); - log.info("basename:>>"+basename); - messageSource.setBasename(basename); - //messageSource.setBasename("language/swingset"); - return messageSource; - } - -} diff --git a/src/main/java/com/wuzf/swing/demos/ButtonDemo.java b/src/main/java/com/wuzf/swing/demos/ButtonDemo.java index 30aff00..26d45bd 100644 --- a/src/main/java/com/wuzf/swing/demos/ButtonDemo.java +++ b/src/main/java/com/wuzf/swing/demos/ButtonDemo.java @@ -1,11 +1,11 @@ package com.wuzf.swing.demos;/* - * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. + * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. * All rights reserved. * Project URL:https://github.com/JackJiang2011/beautyeye * Version 3.6 - * + * * Jack Jiang PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. - * + * * ButtonDemo.java at 2015-2-1 20:25:39, original version by Jack Jiang. * You can contact author with jb2011@163.com. */ @@ -52,31 +52,31 @@ import org.jb2011.lnf.beautyeye.widget.N9ComponentFactory; * @author Jeff Dinkins */ public class ButtonDemo extends DemoModule implements ChangeListener { - + /** The tab. */ JTabbedPane tab; /** The button panel. */ JPanel buttonPanel = new JPanel(); - + /** The checkbox panel. */ JPanel checkboxPanel = new JPanel(); - + /** The radio button panel. */ JPanel radioButtonPanel = new JPanel(); - + /** The toggle button panel. */ JPanel toggleButtonPanel = new JPanel(); /** The buttons. */ Vector buttons = new Vector(); - + /** The checkboxes. */ Vector checkboxes = new Vector(); - + /** The radiobuttons. */ Vector radiobuttons = new Vector(); - + /** The togglebuttons. */ Vector togglebuttons = new Vector(); @@ -85,34 +85,34 @@ public class ButtonDemo extends DemoModule implements ChangeListener { /** The button. */ JButton button; - + /** The check. */ JCheckBox check; - + /** The radio. */ JRadioButton radio; - + /** The toggle. */ JToggleButton toggle; /** The border0. */ EmptyBorder border0 = new EmptyBorder(0,0,0,0);// add by jb2011 2012-08-24 - + /** The border5. */ EmptyBorder border5 = new EmptyBorder(5,5,5,5); - + /** The border10. */ EmptyBorder border10 = new EmptyBorder(10,10,10,10); /** The button display listener. */ ItemListener buttonDisplayListener = null; - + /** The button pad listener. */ ItemListener buttonPadListener = null; /** The insets0. */ Insets insets0 = new Insets(0,0,0,0); - + /** The insets10. */ Insets insets10 = new Insets(10,10,10,10); @@ -125,7 +125,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { ButtonDemo demo = new ButtonDemo(null); demo.mainImpl(); } - + /* (non-Javadoc) * @see DemoModule#getName() */ @@ -355,7 +355,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { //modified by jb2011 radioButtonPanel.add(Box.createHorizontalStrut(10));//Box.createHorizontalGlue()); - + currentControls = radiobuttons; radioButtonPanel.add(createControls()); } @@ -464,7 +464,8 @@ public class ButtonDemo extends DemoModule implements ChangeListener { */ public JPanel createControls() { JPanel controls = new JPanel() { - public Dimension getMaximumSize() { + @Override + public Dimension getMaximumSize() { return new Dimension(300, super.getMaximumSize().height); } }; @@ -498,7 +499,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(l); JCheckBox bordered = new JCheckBox(getString("ButtonDemo.paintborder")); - bordered.setActionCommand("PaintBorder"); + bordered.setActionCommand("PaintBorder"); bordered.setToolTipText(getString("ButtonDemo.paintborder_tooltip")); bordered.setMnemonic(getMnemonic("ButtonDemo.paintborder_mnemonic")); if (currentControls == buttons) { @@ -508,7 +509,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(bordered); JCheckBox focused = new JCheckBox(getString("ButtonDemo.paintfocus")); - focused.setActionCommand("PaintFocus"); + focused.setActionCommand("PaintFocus"); focused.setToolTipText(getString("ButtonDemo.paintfocus_tooltip")); focused.setMnemonic(getMnemonic("ButtonDemo.paintfocus_mnemonic")); focused.setSelected(true); @@ -516,7 +517,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(focused); JCheckBox enabled = new JCheckBox(getString("ButtonDemo.enabled")); - enabled.setActionCommand("Enabled"); + enabled.setActionCommand("Enabled"); enabled.setToolTipText(getString("ButtonDemo.enabled_tooltip")); enabled.setSelected(true); enabled.addItemListener(buttonDisplayListener); @@ -524,7 +525,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(enabled); JCheckBox filled = new JCheckBox(getString("ButtonDemo.contentfilled")); - filled.setActionCommand("ContentFilled"); + filled.setActionCommand("ContentFilled"); filled.setToolTipText(getString("ButtonDemo.contentfilled_tooltip")); filled.setSelected(true); filled.addItemListener(buttonDisplayListener); @@ -532,7 +533,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(filled); leftColumn.add(Box.createRigidArea(VGAP20)); - + //* modified by jb2011:改成一个灰色圆色背景的label // l = new JLabel(getString("ButtonDemo.padamount_label")); l = N9ComponentFactory.createLabel_style4(getString("ButtonDemo.padamount_label")); @@ -547,7 +548,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(defaultPad); JRadioButton zeroPad = new JRadioButton(getString("ButtonDemo.zero")); - zeroPad.setActionCommand("ZeroPad"); + zeroPad.setActionCommand("ZeroPad"); zeroPad.setToolTipText(getString("ButtonDemo.zero_tooltip")); zeroPad.addItemListener(buttonPadListener); zeroPad.setMnemonic(getMnemonic("ButtonDemo.zero_mnemonic")); @@ -555,7 +556,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(zeroPad); JRadioButton tenPad = new JRadioButton(getString("ButtonDemo.ten")); - tenPad.setActionCommand("TenPad"); + tenPad.setActionCommand("TenPad"); tenPad.setMnemonic(getMnemonic("ButtonDemo.ten_mnemonic")); tenPad.setToolTipText(getString("ButtonDemo.ten_tooltip")); tenPad.addItemListener(buttonPadListener); @@ -565,7 +566,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { leftColumn.add(Box.createRigidArea(VGAP20)); return controls; } - + /** * Creates the listeners. */ @@ -573,7 +574,8 @@ public class ButtonDemo extends DemoModule implements ChangeListener { buttonDisplayListener = new ItemListener() { Component c; AbstractButton b; - + + @Override public void itemStateChanged(ItemEvent e) { JCheckBox cb = (JCheckBox) e.getSource(); String command = cb.getActionCommand(); @@ -620,7 +622,8 @@ public class ButtonDemo extends DemoModule implements ChangeListener { buttonPadListener = new ItemListener() { Component c; AbstractButton b; - + + @Override public void itemStateChanged(ItemEvent e) { // *** pad = 0 int pad = -1; @@ -631,7 +634,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { } else if(command == "TenPad" && rb.isSelected()) { pad = 10; } - + for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); if(pad == -1) { @@ -648,11 +651,12 @@ public class ButtonDemo extends DemoModule implements ChangeListener { } }; } - + /* (non-Javadoc) * @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent) */ - public void stateChanged(ChangeEvent e) { + @Override + public void stateChanged(ChangeEvent e) { SingleSelectionModel model = (SingleSelectionModel) e.getSource(); if(model.getSelectedIndex() == 0) { currentControls = buttons; @@ -673,7 +677,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { public Vector getCurrentControls() { return currentControls; } - + //------------------------------------------------------------------------ //add by jb2011 START /** @@ -693,7 +697,7 @@ public class ButtonDemo extends DemoModule implements ChangeListener { JLabel l1 = N9ComponentFactory.createLabel_style4(txt); l1.setAlignmentX(Component.LEFT_ALIGNMENT); parent.add(l1); - + parent.add(c); } } diff --git a/src/main/java/com/wuzf/swing/demos/DemoModule.java b/src/main/java/com/wuzf/swing/demos/DemoModule.java index 8010abc..9316cfa 100644 --- a/src/main/java/com/wuzf/swing/demos/DemoModule.java +++ b/src/main/java/com/wuzf/swing/demos/DemoModule.java @@ -220,7 +220,7 @@ public class DemoModule extends JApplet { if(getSwingSet2() != null) { return getSwingSet2().createImageIcon(filename, description); } else { - String path = "/resources/images/" + filename; + String path = "/static/images/" + filename; return new ImageIcon(getClass().getResource(path), description); } } @@ -270,6 +270,7 @@ public class DemoModule extends JApplet { /* (non-Javadoc) * @see java.awt.Component#getName() */ + @Override public String getName() { return getString(getResourceName() + ".name"); }; diff --git a/src/main/java/com/wuzf/swing/demos/DirectionPanel.java b/src/main/java/com/wuzf/swing/demos/DirectionPanel.java index 483311e..097ef7a 100644 --- a/src/main/java/com/wuzf/swing/demos/DirectionPanel.java +++ b/src/main/java/com/wuzf/swing/demos/DirectionPanel.java @@ -176,7 +176,7 @@ public class DirectionPanel extends JPanel { * @return the image icon */ public ImageIcon loadImageIcon(String filename, String description) { - String path = "/resources/images/buttons/" + filename; + String path = "/static/images/buttons/" + filename; return new ImageIcon(getClass().getResource(path), description); } diff --git a/src/main/java/com/wuzf/swing/demos/LayoutControlPanel.java b/src/main/java/com/wuzf/swing/demos/LayoutControlPanel.java index f5dec2a..e97aea2 100644 --- a/src/main/java/com/wuzf/swing/demos/LayoutControlPanel.java +++ b/src/main/java/com/wuzf/swing/demos/LayoutControlPanel.java @@ -146,13 +146,13 @@ public class LayoutControlPanel extends JPanel implements SwingConstants { * the orientationChange event occurs, that object's appropriate * method is invoked. * - * @see OrientationChangeEvent */ class OrientationChangeListener implements ActionListener { /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ + @Override public void actionPerformed( ActionEvent e ) { if( !e.getActionCommand().equals("OrientationChanged") ){ return; @@ -162,32 +162,34 @@ public class LayoutControlPanel extends JPanel implements SwingConstants { } String currentTextPosition = textPosition.getSelection(); - if( currentTextPosition.equals("NW") ) + if( currentTextPosition.equals("NW") ) { textPosition.setSelection("NE"); - else if( currentTextPosition.equals("NE") ) + } else if( currentTextPosition.equals("NE") ) { textPosition.setSelection("NW"); - else if( currentTextPosition.equals("E") ) + } else if( currentTextPosition.equals("E") ) { textPosition.setSelection("W"); - else if( currentTextPosition.equals("W") ) + } else if( currentTextPosition.equals("W") ) { textPosition.setSelection("E"); - else if( currentTextPosition.equals("SE") ) + } else if( currentTextPosition.equals("SE") ) { textPosition.setSelection("SW"); - else if( currentTextPosition.equals("SW") ) + } else if( currentTextPosition.equals("SW") ) { textPosition.setSelection("SE"); + } String currentLabelAlignment = labelAlignment.getSelection(); - if( currentLabelAlignment.equals("NW") ) + if( currentLabelAlignment.equals("NW") ) { labelAlignment.setSelection("NE"); - else if( currentLabelAlignment.equals("NE") ) + } else if( currentLabelAlignment.equals("NE") ) { labelAlignment.setSelection("NW"); - else if( currentLabelAlignment.equals("E") ) + } else if( currentLabelAlignment.equals("E") ) { labelAlignment.setSelection("W"); - else if( currentLabelAlignment.equals("W") ) + } else if( currentLabelAlignment.equals("W") ) { labelAlignment.setSelection("E"); - else if( currentLabelAlignment.equals("SE") ) + } else if( currentLabelAlignment.equals("SE") ) { labelAlignment.setSelection("SW"); - else if( currentLabelAlignment.equals("SW") ) + } else if( currentLabelAlignment.equals("SW") ) { labelAlignment.setSelection("SE"); + } } } @@ -200,14 +202,21 @@ public class LayoutControlPanel extends JPanel implements SwingConstants { * the positioning event occurs, that object's appropriate * method is invoked. * - * @see PositioningEvent */ class PositioningListener implements ItemListener { - /* (non-Javadoc) + /* (non-Javadoc) * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) */ - public void itemStateChanged(ItemEvent e) { + public void itemStateChanged() { + itemStateChanged(); + } + + /* (non-Javadoc) + * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) + */ + @Override + public void itemStateChanged(ItemEvent e) { JRadioButton rb = (JRadioButton) e.getSource(); if(rb.getText().equals("Absolute") && rb.isSelected()) { absolutePositions = true; @@ -252,14 +261,14 @@ public class LayoutControlPanel extends JPanel implements SwingConstants { * the textPosition event occurs, that object's appropriate * method is invoked. * - * @see TextPositionEvent */ class TextPositionListener implements ActionListener { - + /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ - public void actionPerformed(ActionEvent e) { + @Override + public void actionPerformed(ActionEvent e) { JRadioButton rb = (JRadioButton) e.getSource(); if(!rb.isSelected()) { return; @@ -306,14 +315,14 @@ public class LayoutControlPanel extends JPanel implements SwingConstants { * the labelAlignment event occurs, that object's appropriate * method is invoked. * - * @see LabelAlignmentEvent */ class LabelAlignmentListener implements ActionListener { /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ - public void actionPerformed(ActionEvent e) { + @Override + public void actionPerformed(ActionEvent e) { JRadioButton rb = (JRadioButton) e.getSource(); if(!rb.isSelected()) { return; diff --git a/src/main/java/com/wuzf/swing/demos/ProgressBarDemo.java b/src/main/java/com/wuzf/swing/demos/ProgressBarDemo.java index 30c65ed..c6991a1 100644 --- a/src/main/java/com/wuzf/swing/demos/ProgressBarDemo.java +++ b/src/main/java/com/wuzf/swing/demos/ProgressBarDemo.java @@ -113,7 +113,8 @@ public class ProgressBarDemo extends DemoModule { getDemoPanel().add(progressPanel, BorderLayout.SOUTH); progressBar = new JProgressBar(JProgressBar.HORIZONTAL, 0, text.length()) { - public Dimension getPreferredSize() { + @Override + public Dimension getPreferredSize() { return new Dimension(270, super.getPreferredSize().height); // return new Dimension(super.getPreferredSize().width,300 ); } @@ -180,7 +181,8 @@ public class ProgressBarDemo extends DemoModule { */ public JButton createStopButton() { stopAction = new AbstractAction(getString("ProgressBarDemo.stop_button")) { - public void actionPerformed(ActionEvent e) { + @Override + public void actionPerformed(ActionEvent e) { timer.stop(); loadAction.setEnabled(true); stopAction.setEnabled(false); @@ -219,7 +221,8 @@ public class ProgressBarDemo extends DemoModule { */ public Action createTextLoadAction() { return new AbstractAction("text load action") { - public void actionPerformed (ActionEvent e) { + @Override + public void actionPerformed (ActionEvent e) { if(progressBar.getValue() < progressBar.getMaximum()) { progressBar.setValue(progressBar.getValue() + 1); progressTextArea.append(text.substring(textLocation, textLocation+1)); @@ -251,14 +254,16 @@ public class ProgressBarDemo extends DemoModule { /* (non-Javadoc) * @see javax.swing.JComponent#getAlignmentX() */ - public float getAlignmentX () { + @Override + public float getAlignmentX () { return LEFT_ALIGNMENT; } /* (non-Javadoc) * @see javax.swing.JComponent#getAlignmentY() */ - public float getAlignmentY () { + @Override + public float getAlignmentY () { return TOP_ALIGNMENT; } } diff --git a/src/main/java/com/wuzf/swing/demos/SwingSet2.java b/src/main/java/com/wuzf/swing/demos/SwingSet2.java index db1bf64..e6bb8fe 100644 --- a/src/main/java/com/wuzf/swing/demos/SwingSet2.java +++ b/src/main/java/com/wuzf/swing/demos/SwingSet2.java @@ -58,7 +58,8 @@ public class SwingSet2 extends JPanel { "com.wuzf.swing.demos.TabbedPaneDemo", "com.wuzf.swing.demos.TableDemo", "com.wuzf.swing.demos.ToolTipDemo", - "com.wuzf.swing.demos.TreeDemo" + "com.wuzf.swing.demos.TreeDemo", + "com.wuzf.swing.demos.TextAreaDemo" }; /** @@ -264,27 +265,36 @@ public class SwingSet2 extends JPanel { * @throws Exception the exception */ public static void main(String[] args) throws Exception { + // Create SwingSet on the default monitor -// BeautyEyeLNFHelper.frameBorderStyle = + initBeautyStyle(); + + SwingSet2 swingset = new SwingSet2(null, GraphicsEnvironment. + getLocalGraphicsEnvironment(). + getDefaultScreenDevice(). + getDefaultConfiguration()); + } + + public static void initBeautyStyle(){ + try { +// BeautyEyeLNFHelper.frameBorderStyle = // BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated; //// UIManager.setLookAndFeel(BeautyEyeLNFHelper.getBeautyEyeLNFCrossPlatform());//new WindowsLookAndFeel()); -// UIManager.put("RootPane.setupButtonVisible", false); + UIManager.put("RootPane.setupButtonVisible", false); BeautyEyeLNFHelper.debug = true; // BeautyEyeLNFHelper.translucencyAtFrameInactive = false; - BeautyEyeLNFHelper.launchBeautyEyeLNF(); + BeautyEyeLNFHelper.launchBeautyEyeLNF(); // UIManager.put("ToolBar.border",new BorderUIResource( // new org.jb2011.lnf.beautyeye.ch8_toolbar.BEToolBarUI.ToolBarBorder(UIManager.getColor("ToolBar.shadow"), // UIManager.getColor("ToolBar.highlight"), new Insets(6, 0, 0, 0)))); - // JFrame.setDefaultLookAndFeelDecorated(true); // JDialog.setDefaultLookAndFeelDecorated(true); // UIManager.setLookAndFeel(new MetalLookAndFeel()); // UIManager.setLookAndFeel(new WindowsLookAndFeel()); - - SwingSet2 swingset = new SwingSet2(null, GraphicsEnvironment. - getLocalGraphicsEnvironment(). - getDefaultScreenDevice(). - getDefaultConfiguration()); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("initBeautyStyle exception..."); + } } // ******************************************************* @@ -874,7 +884,7 @@ public class SwingSet2 extends JPanel { if(!isApplet() && getFrame() != null) { // put swingset in a frame and show it JFrame f = getFrame(); - f.setTitle(getString("Frame.title")+" - BeautyEye L&F v3.6 (欢迎加入Java Swing QQ群:259448663)"); + f.setTitle(getString("Frame.title")+" - BeautyEye L&F v3.6 "); f.getContentPane().add(this, BorderLayout.CENTER); // f.pack(); f.setSize(1024, 750); @@ -911,7 +921,7 @@ public class SwingSet2 extends JPanel { * @param classname the classname */ void loadDemo(String classname) { - String afterClassName = classname.substring(classname.lastIndexOf(".")+1,classname.length()); + String afterClassName = classname.substring(classname.lastIndexOf(".")+1); setStatus(getString("Status.loading") + getString( afterClassName + ".name")); DemoModule demo = null; try { diff --git a/src/main/java/com/wuzf/swing/demos/TextAreaDemo.java b/src/main/java/com/wuzf/swing/demos/TextAreaDemo.java new file mode 100644 index 0000000..ec829ac --- /dev/null +++ b/src/main/java/com/wuzf/swing/demos/TextAreaDemo.java @@ -0,0 +1,187 @@ +package com.wuzf.swing.demos; + +import javax.accessibility.AccessibleContext; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; + +public class TextAreaDemo extends DemoModule { + + /** + * main method allows us to run as a standalone demo. + * + * @param args the arguments + */ + public static void main(String[] args) { + //初始化样式 + SwingSet2.initBeautyStyle(); + + TextAreaDemo demo = new TextAreaDemo(null); + demo.mainImpl(); + } + + /* (non-Javadoc) + * @see DemoModule#getName() + */ + @Override public String getName() { + return "文本域"; + }; + + /** + * ProgressBarDemo Constructor. + * + * @param swingset the swingset + */ + public TextAreaDemo(SwingSet2 swingset) { + // Set the title for this demo, and an icon used to represent this + // demo inside the SwingSet2 app. + super(swingset, "TextAreaDemo" + , "toolbar/JProgressBar.gif"); + + createProgressPanel(); + } + + + /** The load action. */ + Action loadAction; + + /** The stop action. */ + Action stopAction; + + /** The progress bar. */ + JProgressBar progressBar; + + /** The progress text area. */ + JTextArea progressTextArea; + + /* (non-Javadoc) + * @see DemoModule#updateDragEnabled(boolean) + */ + @Override + void updateDragEnabled(boolean dragEnabled) { + progressTextArea.setDragEnabled(dragEnabled); + } + + /** + * Creates the progress panel. + */ + public void createProgressPanel() { + getDemoPanel().setLayout(new BorderLayout()); + + JPanel textWrapper = new JPanel(new BorderLayout()); +// textWrapper.setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); + textWrapper.setAlignmentX(LEFT_ALIGNMENT); + progressTextArea = new MyTextArea(); + + progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_name")); + progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_description")); + + + textWrapper.add(new JScrollPane(progressTextArea), BorderLayout.CENTER); + + + getDemoPanel().add(textWrapper, BorderLayout.CENTER); + + JPanel progressPanel = new JPanel(); + getDemoPanel().add(progressPanel, BorderLayout.SOUTH); + + + JPanel p1 = new JPanel(); + p1.add(createLoadButton()); + p1.add(createStopButton()); + + progressPanel.add(p1); + + } + + /** + * Creates the load button. + * + * @return the j button + */ + public JButton createLoadButton() { + loadAction = new AbstractAction(getString("ProgressBarDemo.start_button")) { + @Override + public void actionPerformed(ActionEvent e) { + progressTextArea.append("开始"+getString("ProgressBarDemo.text")); + + } + }; + return createButton(loadAction); + } + + /** + * Creates the stop button. + * + * @return the j button + */ + public JButton createStopButton() { + stopAction = new AbstractAction("开始解析") { + @Override + public void actionPerformed(ActionEvent e) { + AccessibleContext accessibleContext = progressTextArea.getAccessibleContext(); + String tempStr = progressTextArea.getText(); + + + progressTextArea.setText(tempStr); ; + JOptionPane.showMessageDialog( + getDemoPanel(), + getString("OptionPaneDemo.warningtext"), + getString("OptionPaneDemo.warningtitle"), + JOptionPane.WARNING_MESSAGE + ); + } + }; + return createButton(stopAction); + } + + /** + * Creates the button. + * + * @param a the a + * @return the j button + */ + public JButton createButton(Action a) { + JButton b = new JButton(); + // setting the following client property informs the button to show + // the action text as it's name. The default is to not show the + // action text. + b.putClientProperty("displayActionText", Boolean.TRUE); + b.setAction(a); + return b; + } + + + /** + * The Class MyTextArea. + */ + class MyTextArea extends JTextArea { + + /** + * Instantiates a new my text area. + */ + public MyTextArea() { + super(null, 0, 0); +// setEditable(false); + setText(""); + } + + /* (non-Javadoc) + * @see javax.swing.JComponent#getAlignmentX() + */ + @Override + public float getAlignmentX () { + return LEFT_ALIGNMENT; + } + + /* (non-Javadoc) + * @see javax.swing.JComponent#getAlignmentY() + */ + @Override + public float getAlignmentY () { + return TOP_ALIGNMENT; + } + } +} + + diff --git a/src/main/java/com/wuzf/swing/utils/ReadTxtFile.java b/src/main/java/com/wuzf/swing/utils/ReadTxtFile.java new file mode 100644 index 0000000..0685224 --- /dev/null +++ b/src/main/java/com/wuzf/swing/utils/ReadTxtFile.java @@ -0,0 +1,215 @@ +package com.wuzf.swing.utils; + +import com.wuzf.swing.demos.T; +import com.wuzf.swing.vo.RowInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.StringUtils; + +import java.io.*; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +import static java.util.stream.Collectors.toList; + + +@Slf4j +public class ReadTxtFile { + + public static String readTxt(String filePath) + { + StringBuffer bf = new StringBuffer(); + try + { + String encoding = "UTF-8"; + File file = new File(filePath); + if (file.isFile() && file.exists()) + { // 判断文件是否存在 + InputStreamReader read = new InputStreamReader( + new FileInputStream(file), encoding);// 考虑到编码格式 + BufferedReader bufferedReader = new BufferedReader(read); + String lineTxt = null; + + StringBuffer sb = new StringBuffer(); + + String replaceLength = "8"; + + String replaceStr = "20220110"; + + String placeHolder = "${ph}"; + + while ((lineTxt = bufferedReader.readLine()) != null) + { + + //INSERT INTO `swing_demo`.`t_customer`(`id`, `username`, `password`, `nick_name`, `role_code`, `jobs`, `phone`, `creat_time`, `last_login_time`) + // VALUES ('3333333333333333333', '12666222', '1223322', '12222333333333', '1', NULL, NULL, NULL, NULL); + + if (lineTxt.contains("INSERT")){ + String leftvalue = lineTxt.substring(0,lineTxt.indexOf("VALUES (")+7); + String valuesStr = lineTxt.substring(lineTxt.indexOf("VALUES (")+8,lineTxt.length()-2); + String[] splits = valuesStr.split(","); + + //第一个 + splits[0] = splits[0].substring(0,1)+ placeHolder + splits[0].substring(Integer.parseInt(replaceLength)+1) ; + System.out.println("splits[0]"+splits[0]); + + //第4个 + splits[3] =splits[3].trim().substring(0,1) + placeHolder + splits[3].substring(Integer.parseInt(replaceLength)+1) ; + System.out.println("splits[3]"+splits[3]); + + splits[1]= splits[1].trim(); + splits[2]= splits[1].trim(); + splits[4]= splits[1].trim(); + splits[5]= splits[1].trim(); + splits[6]= splits[1].trim(); + splits[7]= splits[1].trim(); + splits[8]= splits[1].trim(); + + String rightValue = Arrays.asList(splits).toString().replace("[","(").replace("]","};").replace(" "," "); + System.out.println("rightValue "+rightValue); + String finallValue = leftvalue + rightValue; + System.out.println("finallValue "+finallValue); + String targetIndex = "250"; + + int gap = Integer.parseInt(targetIndex) - finallValue.lastIndexOf(placeHolder); + if ( gap > 0){ + StringBuffer sbf = new StringBuffer(); + + for (int i=0; i>>\n"+bf.toString()); + bufferedReader.close(); + read.close(); + return bf.toString(); + } + else + { + System.out.println("找不到指定的文件"); + } + } + catch (Exception e) + { + System.out.println("读取文件内容出错"); + e.printStackTrace(); + } + return bf.toString(); + } + + /**使用FileOutputStream来写入txt文件 + * @param txtPath txt文件路径 + * @param content 需要写入的文本 + */ + public static void writeTxt(String txtPath,String content){ + log.info("内容:\n"+content); + FileOutputStream fileOutputStream = null; + File file = new File(txtPath); + try { + if(file.exists()){ + //判断文件是否存在,如果不存在就新建一个txt + file.createNewFile(); + } + fileOutputStream = new FileOutputStream(file); + fileOutputStream.write(content.getBytes("UTF-8")); + fileOutputStream.flush(); + fileOutputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + //验证方法:先写入文件后读取打印如下: + public static void main(String[] args) throws Exception { + + +// String str = readTxt("C:\\Users\\lucky\\Desktop\\demo.txt"); +// +// writeTxt("C:\\Users\\lucky\\Desktop\\demo_final.txt", str); + + ArrayList initList = new ArrayList<>(); + + for (int i = 0; i < 5; i++) { + initList.add(new RowInfo((i+1),String.valueOf(i+1))); + } + + ArrayList repeatList = delRepeat(initList); + + // 差集 (list1 - list2) + ArrayList reduce1 = (ArrayList) initList.stream().filter( + item -> !repeatList.contains(item) + ).collect(toList()); + System.out.println("---差集 reduce1 (list1 - list2)---"); + reduce1.parallelStream().forEach(System.out::println); + + } + + // Set去重并保持原先顺序的两种方法 + public static ArrayList delRepeat(ArrayList list) { + Set set = new LinkedHashSet<>(); + set.addAll(list); + list.clear(); + list.addAll(set); + + System.out.println("---------------------------------------------"+list.hashCode()); + return (ArrayList) list; + } + + // Set去重并保持原先顺序的两种方法 + public static boolean hasRepeat(List originList,List afterList) { + return originList.size() == afterList.size(); + } + + // 差集 (list1 - list2) + public static ArrayList reduce(ArrayList originList,ArrayList afterList) { + ArrayList list = new ArrayList<>(); + for (String s : originList) { + + if (!afterList.contains(s)){ + list.add(s); + } + + } + System.out.println(originList); + + + + return originList; + } + /** + * 差集(基于java8新特性)优化解法2 适用于大数据量 + * 求List1中有的但是List2中没有的元素 + */ + public static List subList2(List list1, List list2) { + Map tempMap = list2.parallelStream().collect(Collectors.toMap(Function.identity(), Function.identity(), (oldData, newData) -> newData)); + return list1.parallelStream().filter(str-> !tempMap.containsKey(str)).collect(Collectors.toList()); + } + + + + public static List deepCopy(List src) throws IOException, ClassNotFoundException { + ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + ObjectOutputStream out = new ObjectOutputStream(byteOut); + out.writeObject(src); + + ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray()); + ObjectInputStream in = new ObjectInputStream(byteIn); + @SuppressWarnings("unchecked") + List dest = (List) in.readObject(); + return dest; + } + +} diff --git a/src/main/java/com/wuzf/swing/vo/RowInfo.java b/src/main/java/com/wuzf/swing/vo/RowInfo.java new file mode 100644 index 0000000..7f09293 --- /dev/null +++ b/src/main/java/com/wuzf/swing/vo/RowInfo.java @@ -0,0 +1,27 @@ +package com.wuzf.swing.vo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class RowInfo { + /**** + * rowNum + */ + + private Integer rowNum; + + /*** + * + * cellValue + * */ + + private String cellValue; + +} diff --git a/src/main/resources/language/swingset_zh_CN.properties b/src/main/resources/language/swingset_zh_CN.properties index 73419d9..ad35ee9 100644 --- a/src/main/resources/language/swingset_zh_CN.properties +++ b/src/main/resources/language/swingset_zh_CN.properties @@ -100,7 +100,7 @@ ThemesMenu.ruby_mnemonic=R ThemesMenu.ruby_accessible_description=\u7ea2\u8272\u91d1\u5c5e\u98ce\u683c -### Font SubMenu (under Themes) +### Font SubMenu (under Themes) FontMenu.fonts_label=\u5b57\u4f53(F) FontMenu.fonts_mnemonic=F FontMenu.fonts_accessible_description=\u7528\u6765\u9009\u62e9 Java \u754c\u9762\u5916\u89c2\u5b57\u4f53\u7684\u83dc\u5355 @@ -719,3 +719,8 @@ TreeDemo.tooltip=JTree \u6f14\u793a TreeDemo.name=\u6811\u6f14\u793a TreeDemo.music=\u97f3\u4e50 +### DIY DEMO ### +TextAreaDemo.accessible_description=TextAreaDemo \u6f14\u793a +TextAreaDemo.name=TextAreaDemo \u6f14\u793a +TextAreaDemo.tooltip=TextAreaDemo \u6f14\u793a +