From 4914eb3a871ee4e44b0503bfbdb26d4ffe0a7551 Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Mon, 12 Apr 2021 17:30:43 -0400
Subject: [PATCH 01/21] Init submit the file before re-base
---
.gitignore | 89 +------
.idea/compiler.xml | 16 ++
.idea/encodings.xml | 7 +
.idea/jarRepositories.xml | 20 ++
...__ch_qos_logback_logback_classic_1_1_7.xml | 13 +
...ven__ch_qos_logback_logback_core_1_1_7.xml | 13 +
.../Maven__commons_cli_commons_cli_1_2.xml | 13 +
...Maven__net_bytebuddy_byte_buddy_1_8_15.xml | 13 +
..._net_bytebuddy_byte_buddy_agent_1_8_15.xml | 13 +
..._org_apache_commons_commons_lang3_3_11.xml | 13 +
...org_apache_commons_commons_math3_3_6_1.xml | 13 +
...en_surefire_surefire_logger_api_2_21_0.xml | 13 +
..._org_apiguardian_apiguardian_api_1_1_0.xml | 13 +
.../Maven__org_hamcrest_hamcrest_all_1_3.xml | 13 +
.../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 +
...ven__org_hamcrest_hamcrest_library_1_3.xml | 13 +
..._junit_jupiter_junit_jupiter_api_5_7_0.xml | 13 +
...nit_jupiter_junit_jupiter_engine_5_7_0.xml | 13 +
..._platform_junit_platform_commons_1_7_0.xml | 13 +
...t_platform_junit_platform_engine_1_7_0.xml | 13 +
...Maven__org_mockito_mockito_core_2_21_0.xml | 13 +
.../Maven__org_objenesis_objenesis_2_6.xml | 13 +
...Maven__org_opentest4j_opentest4j_1_2_0.xml | 13 +
...Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml | 13 +
.../Maven__org_slf4j_slf4j_api_1_7_21.xml | 13 +
.idea/misc.xml | 11 +
.idea/modules.xml | 8 +
.idea/vcs.xml | 6 +
.idea/workspace.xml | 125 ++++++++++
lang-tutorial.iml | 37 +++
toolkits/.gitignore | 235 ++++++++++++++++++
toolkits/.idea/.gitignore | 8 +
toolkits/.idea/codeStyles/Project.xml | 7 +
toolkits/.idea/codeStyles/codeStyleConfig.xml | 5 +
toolkits/.idea/compiler.xml | 17 ++
toolkits/.idea/encodings.xml | 6 +
toolkits/.idea/jarRepositories.xml | 20 ++
toolkits/.idea/vcs.xml | 6 +
toolkits/discourse/pom.xml | 79 ++++++
.../model/entity/BBSOssezForumAttach.java | 55 ++++
.../model/entity/BBSOssezForumPost.java | 87 +++++++
.../common/model/request/TopicRequest.java | 82 ++++++
.../common/model/response/MyFileResponse.java | 130 ++++++++++
.../common/model/response/SearchResponse.java | 37 +++
.../discourse/DiscourseTopicsImportTest.java | 135 ++++++++++
.../test/resources/data/azure_storage.json | 15 ++
.../discourse/src/test/resources/log4j.xml | 16 ++
toolkits/pom.xml | 19 ++
48 files changed, 1463 insertions(+), 88 deletions(-)
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml
create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml
create mode 100644 .idea/libraries/Maven__commons_cli_commons_cli_1_2.xml
create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_1_8_15.xml
create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_8_15.xml
create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_11.xml
create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml
create mode 100644 .idea/libraries/Maven__org_apache_maven_surefire_surefire_logger_api_2_21_0.xml
create mode 100644 .idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml
create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml
create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0.xml
create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0.xml
create mode 100644 .idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0.xml
create mode 100644 .idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0.xml
create mode 100644 .idea/libraries/Maven__org_mockito_mockito_core_2_21_0.xml
create mode 100644 .idea/libraries/Maven__org_objenesis_objenesis_2_6.xml
create mode 100644 .idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
create mode 100644 .idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml
create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 .idea/workspace.xml
create mode 100644 lang-tutorial.iml
create mode 100644 toolkits/.gitignore
create mode 100644 toolkits/.idea/.gitignore
create mode 100644 toolkits/.idea/codeStyles/Project.xml
create mode 100644 toolkits/.idea/codeStyles/codeStyleConfig.xml
create mode 100644 toolkits/.idea/compiler.xml
create mode 100644 toolkits/.idea/encodings.xml
create mode 100644 toolkits/.idea/jarRepositories.xml
create mode 100644 toolkits/.idea/vcs.xml
create mode 100644 toolkits/discourse/pom.xml
create mode 100644 toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumAttach.java
create mode 100644 toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumPost.java
create mode 100644 toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/request/TopicRequest.java
create mode 100644 toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/MyFileResponse.java
create mode 100644 toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/SearchResponse.java
create mode 100644 toolkits/discourse/src/test/java/com/ossez/toolkits/discourse/DiscourseTopicsImportTest.java
create mode 100644 toolkits/discourse/src/test/resources/data/azure_storage.json
create mode 100644 toolkits/discourse/src/test/resources/log4j.xml
create mode 100644 toolkits/pom.xml
diff --git a/.gitignore b/.gitignore
index 999bc0fbfb..b83d22266a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,88 +1 @@
-# Binaries
-*.7z
-*.dmg
-*.gz
-*.iso
-*.jar
-*.rar
-*.tar
-*.zip
-*.war
-*.ear
-*.sar
-*.class
-
-# Maven
-target/
-
-# eclipse project file
-.settings/
-.classpath
-.project
-
-
-# IntelliJ project files
-*.iml
-*.iws
-*.ipr
-.idea/
-
-
-
-# NetBeans specific
-nbproject/private/
-build/
-nbbuild/
-dist/
-nbdist/
-nbactions.xml
-nb-configuration.xml
-
-# Windows image file caches
-Thumbs.db
-ehthumbs.db
-
-# Folder config file
-Desktop.ini
-
-# Recycle Bin used on file shares
-$RECYCLE.BIN/
-
-# Windows Installer files
-*.cab
-*.msi
-*.msm
-*.msp
-
-# Windows shortcuts
-*.lnk
-
-# =========================
-# Operating System Files
-# =========================
-
-# OSX
-# =========================
-
-.DS_Store
-.AppleDouble
-.LSOverride
-
-# Thumbnails
-._*
-
-# Files that might appear in the root of a volume
-.DocumentRevisions-V100
-.fseventsd
-.Spotlight-V100
-.TemporaryItems
-.Trashes
-.VolumeIcon.icns
-
-# Directories potentially created on remote AFP share
-.AppleDB
-.AppleDesktop
-Network Trash Folder
-Temporary Items
-.apdisk
-
+/target/
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000000..c65826db88
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000000..aa00ffab78
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000000..712ab9d985
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml
new file mode 100644
index 0000000000..cdd79598ea
--- /dev/null
+++ b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml
new file mode 100644
index 0000000000..6c2a7607f1
--- /dev/null
+++ b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml b/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml
new file mode 100644
index 0000000000..cec24931ef
--- /dev/null
+++ b/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_8_15.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_8_15.xml
new file mode 100644
index 0000000000..c7e234c123
--- /dev/null
+++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_8_15.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_8_15.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_8_15.xml
new file mode 100644
index 0000000000..a0c169abac
--- /dev/null
+++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_8_15.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_11.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_11.xml
new file mode 100644
index 0000000000..7a30e6e396
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml
new file mode 100644
index 0000000000..ebfe0a8655
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_maven_surefire_surefire_logger_api_2_21_0.xml b/.idea/libraries/Maven__org_apache_maven_surefire_surefire_logger_api_2_21_0.xml
new file mode 100644
index 0000000000..7ee7fe0883
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_maven_surefire_surefire_logger_api_2_21_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
new file mode 100644
index 0000000000..f854ab00fd
--- /dev/null
+++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml
new file mode 100644
index 0000000000..56193163f3
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 0000000000..f58bbc1127
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml
new file mode 100644
index 0000000000..78dbe458d4
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0.xml
new file mode 100644
index 0000000000..cc01e3f539
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0.xml
new file mode 100644
index 0000000000..f198e4bb85
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0.xml
new file mode 100644
index 0000000000..cde8a482a9
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0.xml
new file mode 100644
index 0000000000..3391deb2a7
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_mockito_mockito_core_2_21_0.xml b/.idea/libraries/Maven__org_mockito_mockito_core_2_21_0.xml
new file mode 100644
index 0000000000..f3bb7f6b81
--- /dev/null
+++ b/.idea/libraries/Maven__org_mockito_mockito_core_2_21_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml b/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml
new file mode 100644
index 0000000000..af41e3b617
--- /dev/null
+++ b/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
new file mode 100644
index 0000000000..fbc1b1635a
--- /dev/null
+++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml
new file mode 100644
index 0000000000..2f93a6301e
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml
new file mode 100644
index 0000000000..1b644dd840
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000..17e19eb41d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000000..da24bb41a5
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000..94a25f7f4c
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000000..155c4e0c7e
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1618145802441
+
+
+ 1618145802441
+
+
+
+
+
+ 1618147556538
+
+
+
+ 1618147556538
+
+
+ 1618147882644
+
+
+
+ 1618147882644
+
+
+ 1618151038853
+
+
+
+ 1618151038853
+
+
+ 1618157753954
+
+
+
+ 1618157753954
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lang-tutorial.iml b/lang-tutorial.iml
new file mode 100644
index 0000000000..2792130f76
--- /dev/null
+++ b/lang-tutorial.iml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/.gitignore b/toolkits/.gitignore
new file mode 100644
index 0000000000..f35a1af429
--- /dev/null
+++ b/toolkits/.gitignore
@@ -0,0 +1,235 @@
+### Gradle ###
+.gradle
+build/
+
+# Ignore Gradle GUI config
+gradle-app.setting
+
+# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
+!gradle-wrapper.jar
+
+# Cache of project
+.gradletasknamecache
+
+# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
+# gradle/wrapper/gradle-wrapper.properties
+
+### Gradle Patch ###
+**/build/
+
+### Intellij ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### Intellij Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+# Sonarlint plugin
+.idea/sonarlint
+
+
+### Intellij+iml ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### Intellij+iml Patch ###
+# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
+
+*.iml
+modules.xml
+.idea/misc.xml
+*.ipr
+
+### Maven ###
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+.mvn/wrapper/maven-wrapper.jar
+.flattened-pom.xml
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### Intellij Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+# Sonarlint plugin
+.idea/sonarlint
diff --git a/toolkits/.idea/.gitignore b/toolkits/.idea/.gitignore
new file mode 100644
index 0000000000..cf75470660
--- /dev/null
+++ b/toolkits/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/../../../../../../../:\WorkDir\GitHub\cwiki-us-docs\java-tutorials\toolkits\.idea/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/toolkits/.idea/codeStyles/Project.xml b/toolkits/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000000..919ce1f1f7
--- /dev/null
+++ b/toolkits/.idea/codeStyles/Project.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/.idea/codeStyles/codeStyleConfig.xml b/toolkits/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000000..a55e7a179b
--- /dev/null
+++ b/toolkits/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/.idea/compiler.xml b/toolkits/.idea/compiler.xml
new file mode 100644
index 0000000000..3c6a21132c
--- /dev/null
+++ b/toolkits/.idea/compiler.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/.idea/encodings.xml b/toolkits/.idea/encodings.xml
new file mode 100644
index 0000000000..44b56b318b
--- /dev/null
+++ b/toolkits/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/.idea/jarRepositories.xml b/toolkits/.idea/jarRepositories.xml
new file mode 100644
index 0000000000..712ab9d985
--- /dev/null
+++ b/toolkits/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/.idea/vcs.xml b/toolkits/.idea/vcs.xml
new file mode 100644
index 0000000000..6c0b863585
--- /dev/null
+++ b/toolkits/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/discourse/pom.xml b/toolkits/discourse/pom.xml
new file mode 100644
index 0000000000..cdc23f2d83
--- /dev/null
+++ b/toolkits/discourse/pom.xml
@@ -0,0 +1,79 @@
+
+
+ 4.0.0
+ com.ossez
+ discourse
+ 0.1.0-SNAPSHOT
+ discourse
+ jar
+
+
+ com.ossez
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../../parent-java
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.11
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.13
+
+
+
+ com.google.code.gson
+ gson
+ 2.8.6
+
+
+ joda-time
+ joda-time
+ 2.10.10
+
+
+
+ javax.persistence
+ javax.persistence-api
+ 2.2
+
+
+
+
+ discourse
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${java.version}
+ ${java.version}
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+ 3.6.1
+ 1.8.9
+ 1.19
+ 1.19
+
+ 2.22.1
+
+
+
diff --git a/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumAttach.java b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumAttach.java
new file mode 100644
index 0000000000..9f478fb32f
--- /dev/null
+++ b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumAttach.java
@@ -0,0 +1,55 @@
+package com.ossez.toolkits.discourse.common.model.entity;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+
+@Entity
+@Table(catalog = "ossez_bbs", name = "bbsossez_forum_attach")
+public class BBSOssezForumAttach implements Serializable {
+ private static final long serialVersionUID = 5530454436970805656L;
+
+ private static Logger logger = LoggerFactory.getLogger(BBSOssezForumAttach.class);
+
+
+ @Id
+ @Column(name = "aid")
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private long id = 0;
+
+ @Column(name = "attachment")
+ private String attachment;
+
+
+
+ /**
+ * Constructor
+ */
+ public BBSOssezForumAttach() {
+
+ }
+
+ public static long getSerialVersionUID() {
+ return serialVersionUID;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+
+ public String getAttachment() {
+ return attachment;
+ }
+
+ public void setAttachment(String attachment) {
+ this.attachment = attachment;
+ }
+}
\ No newline at end of file
diff --git a/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumPost.java b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumPost.java
new file mode 100644
index 0000000000..153e6136ad
--- /dev/null
+++ b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/entity/BBSOssezForumPost.java
@@ -0,0 +1,87 @@
+package com.ossez.toolkits.discourse.common.model.entity;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+
+@Entity
+@Table(catalog = "ossez_bbs", name = "bbsossez_forum_post")
+public class BBSOssezForumPost implements Serializable {
+ private static final long serialVersionUID = 5530454436970805656L;
+
+ private static Logger logger = LoggerFactory.getLogger(BBSOssezForumPost.class);
+
+
+ @Id
+ @Column(name = "pid")
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private long id = 0;
+
+ @Column(name = "subject")
+ private String subject;
+
+ @Column(name = "message")
+ private String message;
+
+ @Column(name = "tid")
+ private Long tid;
+
+ @Column(name = "dateline")
+ private Long dateline;
+
+
+
+ /**
+ * Constructor
+ */
+ public BBSOssezForumPost() {
+
+ }
+
+ public static long getSerialVersionUID() {
+ return serialVersionUID;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Long getTid() {
+ return tid;
+ }
+
+ public void setTid(Long tid) {
+ this.tid = tid;
+ }
+
+ public Long getDateline() {
+ return dateline;
+ }
+
+ public void setDateline(Long dateline) {
+ this.dateline = dateline;
+ }
+}
\ No newline at end of file
diff --git a/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/request/TopicRequest.java b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/request/TopicRequest.java
new file mode 100644
index 0000000000..4922afe57f
--- /dev/null
+++ b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/request/TopicRequest.java
@@ -0,0 +1,82 @@
+package com.ossez.toolkits.discourse.common.model.request;
+
+import java.io.Serializable;
+
+
+/**
+ * SearchRequest Object, UI can send search String and related pagination
+ *
+ * @author YuCheng Hu
+ */
+public class TopicRequest implements Serializable {
+ private static final long serialVersionUID = 6474765081240948885L;
+
+
+ private String title;
+ private Integer topic_id;
+ private String raw;
+ private Integer category;
+ private String target_recipients;
+ private String archetype;
+ private String created_at;
+
+ public static long getSerialVersionUID() {
+ return serialVersionUID;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public Integer getTopic_id() {
+ return topic_id;
+ }
+
+ public void setTopic_id(Integer topic_id) {
+ this.topic_id = topic_id;
+ }
+
+ public String getRaw() {
+ return raw;
+ }
+
+ public void setRaw(String raw) {
+ this.raw = raw;
+ }
+
+ public Integer getCategory() {
+ return category;
+ }
+
+ public void setCategory(Integer category) {
+ this.category = category;
+ }
+
+ public String getTarget_recipients() {
+ return target_recipients;
+ }
+
+ public void setTarget_recipients(String target_recipients) {
+ this.target_recipients = target_recipients;
+ }
+
+ public String getArchetype() {
+ return archetype;
+ }
+
+ public void setArchetype(String archetype) {
+ this.archetype = archetype;
+ }
+
+ public String getCreated_at() {
+ return created_at;
+ }
+
+ public void setCreated_at(String created_at) {
+ this.created_at = created_at;
+ }
+}
diff --git a/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/MyFileResponse.java b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/MyFileResponse.java
new file mode 100644
index 0000000000..86b519589f
--- /dev/null
+++ b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/MyFileResponse.java
@@ -0,0 +1,130 @@
+package discourse.common.model.response;
+
+import java.io.Serializable;
+
+/**
+ * MyFileResponse for API my file response
+ *
+ * @author YuCheng Hu
+ */
+public class MyFileResponse implements Serializable {
+ private static final long serialVersionUID = -5103349220463423614L;
+
+ private Long id;
+ private String azureInputFileUUID;
+ private String azureInputFileETag;
+ private String azureOutputFileUUID;
+ private String azureOutputFileETag;
+ private String customerName;
+ private String inputFileName;
+ private Integer fileCountRow;
+ private Integer fileCountAliasMatch;
+ private Integer fileCountDirectMatch;
+ private Integer fileCountNoMatch;
+ private String dateCreated;
+ private String uuid;
+
+ public String getAzureInputFileUUID() {
+ return azureInputFileUUID;
+ }
+
+ public void setAzureInputFileUUID(String azureInputFileUUID) {
+ this.azureInputFileUUID = azureInputFileUUID;
+ }
+
+ public String getAzureInputFileETag() {
+ return azureInputFileETag;
+ }
+
+ public void setAzureInputFileETag(String azureInputFileETag) {
+ this.azureInputFileETag = azureInputFileETag;
+ }
+
+ public String getAzureOutputFileUUID() {
+ return azureOutputFileUUID;
+ }
+
+ public void setAzureOutputFileUUID(String azureOutputFileUUID) {
+ this.azureOutputFileUUID = azureOutputFileUUID;
+ }
+
+ public String getAzureOutputFileETag() {
+ return azureOutputFileETag;
+ }
+
+ public void setAzureOutputFileETag(String azureOutputFileETag) {
+ this.azureOutputFileETag = azureOutputFileETag;
+ }
+
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ public void setCustomerName(String customerName) {
+ this.customerName = customerName;
+ }
+
+ public String getInputFileName() {
+ return inputFileName;
+ }
+
+ public void setInputFileName(String inputFileName) {
+ this.inputFileName = inputFileName;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Integer getFileCountRow() {
+ return fileCountRow;
+ }
+
+ public void setFileCountRow(Integer fileCountRow) {
+ this.fileCountRow = fileCountRow;
+ }
+
+ public Integer getFileCountAliasMatch() {
+ return fileCountAliasMatch;
+ }
+
+ public void setFileCountAliasMatch(Integer fileCountAliasMatch) {
+ this.fileCountAliasMatch = fileCountAliasMatch;
+ }
+
+ public Integer getFileCountDirectMatch() {
+ return fileCountDirectMatch;
+ }
+
+ public void setFileCountDirectMatch(Integer fileCountDirectMatch) {
+ this.fileCountDirectMatch = fileCountDirectMatch;
+ }
+
+ public Integer getFileCountNoMatch() {
+ return fileCountNoMatch;
+ }
+
+ public void setFileCountNoMatch(Integer fileCountNoMatch) {
+ this.fileCountNoMatch = fileCountNoMatch;
+ }
+
+ public String getDateCreated() {
+ return dateCreated;
+ }
+
+ public void setDateCreated(String dateCreated) {
+ this.dateCreated = dateCreated;
+ }
+
+ public String getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
+}
diff --git a/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/SearchResponse.java b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/SearchResponse.java
new file mode 100644
index 0000000000..a990ac0f70
--- /dev/null
+++ b/toolkits/discourse/src/main/java/com/ossez/toolkits/discourse/common/model/response/SearchResponse.java
@@ -0,0 +1,37 @@
+package discourse.common.model.response;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * SearchResponse from Remote Source
+ *
+ * @author YuCheng Hu
+ */
+public class SearchResponse implements Serializable {
+ private static final long serialVersionUID = -2014480627591149391L;
+
+
+ private String uuid;
+ private Date currentDate;
+
+ public static long getSerialVersionUID() {
+ return serialVersionUID;
+ }
+
+ public String getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
+
+ public Date getCurrentDate() {
+ return currentDate;
+ }
+
+ public void setCurrentDate(Date currentDate) {
+ this.currentDate = currentDate;
+ }
+}
diff --git a/toolkits/discourse/src/test/java/com/ossez/toolkits/discourse/DiscourseTopicsImportTest.java b/toolkits/discourse/src/test/java/com/ossez/toolkits/discourse/DiscourseTopicsImportTest.java
new file mode 100644
index 0000000000..281905bf79
--- /dev/null
+++ b/toolkits/discourse/src/test/java/com/ossez/toolkits/discourse/DiscourseTopicsImportTest.java
@@ -0,0 +1,135 @@
+package com.ossez.toolkits.discourse;
+
+import com.google.gson.Gson;
+import com.ossez.toolkits.discourse.common.model.entity.BBSOssezForumAttach;
+import com.ossez.toolkits.discourse.common.model.entity.BBSOssezForumPost;
+import com.ossez.toolkits.discourse.common.model.request.TopicRequest;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.math.NumberUtils;
+import org.apache.http.HttpHeaders;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.joda.time.DateTime;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+/**
+ * Test Logger and function
+ *
+ * @author YuCheng Hu
+ */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+public class DiscourseTopicsImportTest {
+ private static Logger logger = LoggerFactory.getLogger(DiscourseTopicsImportTest.class);
+
+
+ @BeforeAll
+ protected void setUp() throws Exception {
+ }
+
+ @AfterAll
+ protected void tearDown() throws Exception {
+ }
+
+ /**
+ * Tests search functionality for the customer object.
+ */
+ @Test
+ public void testPost() throws IOException, InterruptedException {
+ List idList = FileUtils.readLines(new File("C:\\Users\\yhu\\Pictures\\Pics\\2021-01\\1.txt"));
+ for (String id : idList) {
+ processPost(NumberUtils.toLong(id));
+ Thread.sleep(6000);
+// break;
+
+ }
+
+
+ // make sure the customer was found
+// assertNotNull(bbsOssezForumPost);
+ }
+
+ @Test
+ public void testDateTime() throws IOException {
+ DateTime dateTime = new DateTime(1256834117 * 1000L);
+ System.out.println(dateTime.toString());
+
+ }
+
+ private void processPost(Long tid) throws IOException {
+ String postCtx = StringUtils.EMPTY;
+
+// BBSOssezForumPost bbsOssezForumPost = PostFactory.getBBSOssezForumPostTid(tid);
+// if (bbsOssezForumPost == null)
+// return;
+//
+// logger.debug("Questions Content - {}", bbsOssezForumPost.getSubject());
+//
+// String postCtx = bbsOssezForumPost.getMessage();
+//// logger.debug(">>>>{}", postCtx);
+//
+//
+// String pattern = "\\[attach\\]((\\d)*?)\\[\\/attach\\]";
+//
+// // Create a Pattern object
+// Pattern r = Pattern.compile(pattern);
+//
+// // Now create matcher object.
+// Matcher m = r.matcher(postCtx);
+//
+// while (m.find()) {
+// String attachId = StringUtils.substringBetween(m.group(0), "[attach]", "[/attach]");
+// logger.debug("{}", attachId);
+// BBSOssezForumAttach bbsOssezForumAttach = PostFactory.getBBSOssezForumAttach(NumberUtils.toLong(attachId));
+// if (bbsOssezForumAttach!= null) {
+// String fullURL = " + ")";
+// postCtx = StringUtils.replace(postCtx, m.group(0), fullURL);
+// }
+// }
+
+ logger.debug("{}", postCtx);
+
+
+ CloseableHttpClient client = HttpClients.createDefault();
+
+ HttpPost httpPost = new HttpPost("https://www.ossez.com/posts.json");
+ httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
+ httpPost.setHeader("Api-Key", "8d789c529c4c22bf1dac3de7dbe7b29af10f2429aeb9a1914eff6da70c2265a9");
+ httpPost.setHeader("Api-Username", "honeymoose");
+
+ TopicRequest topicRequest = new TopicRequest();
+ topicRequest.setTitle(bbsOssezForumPost.getSubject());
+ topicRequest.setRaw(postCtx);
+ topicRequest.setCreated_at(new DateTime(bbsOssezForumPost.getDateline() * 1000L).toString() );
+ topicRequest.setCategory(30);
+
+ StringEntity postingString = new StringEntity(new Gson().toJson(topicRequest), StandardCharsets.UTF_8);
+
+ httpPost.setEntity(postingString);
+
+
+ CloseableHttpResponse response = client.execute(httpPost);
+
+ logger.info("{}", EntityUtils.toString(response.getEntity()), StandardCharsets.UTF_8);
+ client.close();
+ }
+
+}
diff --git a/toolkits/discourse/src/test/resources/data/azure_storage.json b/toolkits/discourse/src/test/resources/data/azure_storage.json
new file mode 100644
index 0000000000..eb20d14fae
--- /dev/null
+++ b/toolkits/discourse/src/test/resources/data/azure_storage.json
@@ -0,0 +1,15 @@
+{
+ "id": 16,
+ "uuid": "35057495-bec8-4288-beec-568c552c88e4",
+ "dateModified": "2020-10-29T11:56:06.630+00:00",
+ "userId": "24548d05-5274-4ea0-82aa-f1693cb82045",
+ "userName": "Hu, Yucheng",
+ "userEmail": "Yucheng.Hu@insight.com",
+ "customerName": "license (1).txt",
+ "inputFileName": "license (1).txt",
+ "fileRowCount": null,
+ "fileMatchCount": null,
+ "fileStatus": null,
+ "fileSHA3": "069f7222e83cecec5663c47b0e2736709c425448b47962d1827ca958",
+ "createDate": "2020-10-29T11:56:06.630+00:00"
+}
\ No newline at end of file
diff --git a/toolkits/discourse/src/test/resources/log4j.xml b/toolkits/discourse/src/test/resources/log4j.xml
new file mode 100644
index 0000000000..4c1a066f00
--- /dev/null
+++ b/toolkits/discourse/src/test/resources/log4j.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/toolkits/pom.xml b/toolkits/pom.xml
new file mode 100644
index 0000000000..d0d92c38b4
--- /dev/null
+++ b/toolkits/pom.xml
@@ -0,0 +1,19 @@
+
+
+ 4.0.0
+ toolkits
+ toolkits
+ pom
+
+
+ com.ossez
+ parent-modules
+ 1.0.0
+
+
+
+ discourse
+
+
+
From f9100ecb43dad92559b36a1fdb5355ac9fa884a5 Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Mon, 12 Apr 2021 17:35:13 -0400
Subject: [PATCH 02/21] commit workspace.xml
---
.idea/workspace.xml | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 155c4e0c7e..77835ecf88 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,7 +4,9 @@
-
+
+
+
@@ -57,6 +59,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
From 088c73ba89a88490ed274f39630630c866ac41d5 Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Tue, 20 Nov 2018 13:08:19 -0500
Subject: [PATCH 03/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BF=BD=E7=95=A5?=
=?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=AD=E7=9A=84?=
=?UTF-8?q?=E5=86=85=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/.gitignore b/.gitignore
index b83d22266a..2e1f0b6dc7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,48 @@
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# =========================
+# Operating System Files
+# =========================
+
+# OSX
+# =========================
+
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
/target/
From 7ba067e016d52846e938d9ffc959766ef6e9833d Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Tue, 20 Nov 2018 16:03:32 -0500
Subject: [PATCH 04/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20ignore=20file=20?=
=?UTF-8?q?=E7=94=A8=E4=BA=8E=E5=BF=BD=E7=95=A5=20Eclipse=20=E7=9A=84?=
=?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 42 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 2e1f0b6dc7..999bc0fbfb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,43 @@
+# Binaries
+*.7z
+*.dmg
+*.gz
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+*.war
+*.ear
+*.sar
+*.class
+
+# Maven
+target/
+
+# eclipse project file
+.settings/
+.classpath
+.project
+
+
+# IntelliJ project files
+*.iml
+*.iws
+*.ipr
+.idea/
+
+
+
+# NetBeans specific
+nbproject/private/
+build/
+nbbuild/
+dist/
+nbdist/
+nbactions.xml
+nb-configuration.xml
+
# Windows image file caches
Thumbs.db
ehthumbs.db
@@ -45,4 +85,4 @@ $RECYCLE.BIN/
Network Trash Folder
Temporary Items
.apdisk
-/target/
+
From 7f6177e1609848f6760171407a3a419e287602a7 Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Sat, 15 Dec 2018 01:52:40 -0500
Subject: [PATCH 05/21] Submit
---
.../lang/tutorial/tests/LintcodeTest.java | 142 ++++++------------
1 file changed, 50 insertions(+), 92 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
index 7cf699092d..8b1a07a265 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
@@ -3,22 +3,16 @@ package com.ossez.lang.tutorial.tests;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.management.ListenerNotFoundException;
-
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.ossez.lang.tutorial.models.ListNode;
-
/**
*
* @author YuCheng
@@ -28,62 +22,6 @@ public class LintcodeTest {
private final static Logger logger = LoggerFactory.getLogger(LintcodeTest.class);
- /**
- * 35 https://www.lintcode.com/problem/reverse-linked-list/description
- */
- @Test
- public void test0035Reverse() {
- // INIT LINKED LIST
- ListNode head = new ListNode(1);
- head.next = new ListNode(2);
- head.next.next = new ListNode(3);
-
- // CHECK BEFORE
- System.out.println(head.val);
- System.out.println(head.next.val);
- System.out.println(head.next.next.val);
-
- // REVERSE
- ListNode prev = null;
- while (head != null) {
- ListNode temp = head.next;
- head.next = prev;
- prev = head;
- head = temp;
- }
-
- // CHECK AFTER
- System.out.println(prev.val);
- System.out.println(prev.next.val);
- System.out.println(prev.next.next.val);
- }
-
- /**
- * 1480 https://www.lintcode.com/problem/dot-product/description
- */
- @Test
- public void test0044minSubArray() {
-
- List nums = new ArrayList();
- nums.add(1);
- nums.add(1);
-
- int min_ending_here = 0;
- int retStatus = 0;
-
- for (int i = 0; i < nums.size(); i++) {
- if (min_ending_here > 0) {
- min_ending_here = nums.get(i);
- } else {
- min_ending_here += nums.get(i);
- }
- retStatus = Math.min(retStatus, min_ending_here);
- }
-
- System.out.println(retStatus);
-
- }
-
/**
* 53 https://www.lintcode.com/problem/reverse-words-in-a-string/description
*/
@@ -156,36 +94,6 @@ public class LintcodeTest {
System.out.println("" + retStatus);
}
- /**
- * 411
- *
- *
- *
- *
- *
- */
- @Test
- public void test0411GrayCode() {
- int n = 2;
-
- List retArray = new ArrayList<>();
-
- if (n == 0) {
- retArray.add(0);
- }
-
- for (int i = 0; i < (2 << (n - 1)); i++) {
- int g = i ^ (i / 2);
- retArray.add(g);
- }
-
- System.out.println(retArray);
- }
-
/**
* 1480 https://www.lintcode.com/problem/dot-product/description
*/
@@ -290,4 +198,54 @@ public class LintcodeTest {
System.out.println(strSet.size());
}
+ /**
+ * 1480 https://www.lintcode.com/problem/dot-product/description
+ */
+ @Test
+ public void test1480dotProduct() {
+ int[] A = { 1, 1, -1 };
+ int[] B = { 2147483647, 1, 3 };
+
+ int retStatus = 0;
+
+ // LENGTH CHECK
+ if (A.length == 0 || B.length == 0 || A.length != B.length)
+ retStatus = -1;
+
+ // ADDED
+ if (retStatus != -1) {
+ for (int i = 0; i < A.length; i++) {
+ retStatus = retStatus + A[i] * B[i];
+ }
+ }
+
+ System.out.println(retStatus);
+ }
+
+ /**
+ * 1480 https://www.lintcode.com/problem/dot-product/description
+ */
+ @Test
+ public void test0044minSubArray() {
+
+ List nums = new ArrayList();
+ nums.add(1);
+ nums.add(1);
+
+ int min_ending_here = 0;
+ int retStatus = 0;
+
+ for (int i = 0; i < nums.size(); i++) {
+ if (min_ending_here > 0) {
+ min_ending_here = nums.get(i);
+ } else {
+ min_ending_here += nums.get(i);
+ }
+ retStatus = Math.min(retStatus, min_ending_here);
+ }
+
+ System.out.println(retStatus);
+
+ }
+
}
From d48381717387109ac49bf128a6400e4f6b13b9f3 Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 12:31:16 -0500
Subject: [PATCH 06/21] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200411=20=E6=B5=8B?=
=?UTF-8?q?=E8=AF=95=E9=A2=98=EF=BC=8C=E6=A0=BC=E9=9B=B7=E6=95=B0=E7=BB=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lang/tutorial/tests/LintcodeTest.java | 117 ++++++++++++++----
1 file changed, 91 insertions(+), 26 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
index 8b1a07a265..78b5fe7ff3 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
@@ -4,15 +4,20 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.management.ListenerNotFoundException;
+
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.ossez.lang.tutorial.models.ListNode;
+
/**
*
* @author YuCheng
@@ -22,6 +27,62 @@ public class LintcodeTest {
private final static Logger logger = LoggerFactory.getLogger(LintcodeTest.class);
+ /**
+ * 35 https://www.lintcode.com/problem/reverse-linked-list/description
+ */
+ @Test
+ public void test0035Reverse() {
+ // INIT LINKED LIST
+ ListNode head = new ListNode(1);
+ head.next = new ListNode(2);
+ head.next.next = new ListNode(3);
+
+ // CHECK BEFORE
+ System.out.println(head.val);
+ System.out.println(head.next.val);
+ System.out.println(head.next.next.val);
+
+ // REVERSE
+ ListNode prev = null;
+ while (head != null) {
+ ListNode temp = head.next;
+ head.next = prev;
+ prev = head;
+ head = temp;
+ }
+
+ // CHECK AFTER
+ System.out.println(prev.val);
+ System.out.println(prev.next.val);
+ System.out.println(prev.next.next.val);
+ }
+
+ /**
+ * 1480 https://www.lintcode.com/problem/dot-product/description
+ */
+ @Test
+ public void test0044minSubArray() {
+
+ List nums = new ArrayList();
+ nums.add(1);
+ nums.add(1);
+
+ int min_ending_here = 0;
+ int retStatus = 0;
+
+ for (int i = 0; i < nums.size(); i++) {
+ if (min_ending_here > 0) {
+ min_ending_here = nums.get(i);
+ } else {
+ min_ending_here += nums.get(i);
+ }
+ retStatus = Math.min(retStatus, min_ending_here);
+ }
+
+ System.out.println(retStatus);
+
+ }
+
/**
* 53 https://www.lintcode.com/problem/reverse-words-in-a-string/description
*/
@@ -94,6 +155,36 @@ public class LintcodeTest {
System.out.println("" + retStatus);
}
+ /**
+ * 411
+ *
+ *
+ *
+ *
+ *
+ */
+ @Test
+ public void test0411GrayCode() {
+ int n = 2;
+
+ List retArray = new ArrayList<>();
+
+ if (n == 0) {
+ retArray.add(0);
+ }
+
+ for (int i = 0; i < (2 << (n - 1)); i++) {
+ int g = i ^ (i / 2);
+ retArray.add(g);
+ }
+
+ System.out.println(retArray);
+ }
+
/**
* 1480 https://www.lintcode.com/problem/dot-product/description
*/
@@ -222,30 +313,4 @@ public class LintcodeTest {
System.out.println(retStatus);
}
- /**
- * 1480 https://www.lintcode.com/problem/dot-product/description
- */
- @Test
- public void test0044minSubArray() {
-
- List nums = new ArrayList();
- nums.add(1);
- nums.add(1);
-
- int min_ending_here = 0;
- int retStatus = 0;
-
- for (int i = 0; i < nums.size(); i++) {
- if (min_ending_here > 0) {
- min_ending_here = nums.get(i);
- } else {
- min_ending_here += nums.get(i);
- }
- retStatus = Math.min(retStatus, min_ending_here);
- }
-
- System.out.println(retStatus);
-
- }
-
}
From 20012aae71aea905a35f5d5d30df4d4aee7ff63d Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 14:03:48 -0500
Subject: [PATCH 07/21] =?UTF-8?q?LintCode=200425=20=E9=A2=98=E7=9B=AE?=
=?UTF-8?q?=EF=BC=8C=E9=87=87=E7=94=A8=E9=80=92=E5=BD=92=E5=AE=9E=E7=8E=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tests/lintcode/LintCode0425LetterCombinationsTest.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java
index 7312cbb993..8c6c281cb3 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java
@@ -12,8 +12,7 @@ import org.slf4j.LoggerFactory;
*
* 425
*
From 21204ebbc13aa78a33c084369ba350cfd7d8d9a1 Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 14:20:13 -0500
Subject: [PATCH 08/21] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=95=B4=E7=90=86?=
=?UTF-8?q?=E7=BB=93=E6=9E=84=EF=BC=8C=E5=B0=86=E6=AF=8F=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E9=A2=98=E7=9B=AE=E5=8D=95=E7=8B=AC=E5=88=97=E5=87=BA=E4=B8=BA?=
=?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=B5=8B=E8=AF=95=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
index 78b5fe7ff3..7aea60afa6 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
@@ -3,6 +3,7 @@ package com.ossez.lang.tutorial.tests;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
From 4ec06517c054910e35dcf91e5621a4b550a08956 Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 14:25:17 -0500
Subject: [PATCH 09/21] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E7=82=B9=E7=A7=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lintcode/LintCode1480DotProductTest.java | 20 ++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java
index fb62a811a0..e4ab2356ee 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java
@@ -27,9 +27,23 @@ public class LintCode1480DotProductTest {
@Test
public void testMain() {
logger.debug("BEGIN");
- int t = 87;
- int[] dur = { 20, 25, 19, 37 };
- // Write your code here
+ int[] A = { 1, 1, -1 };
+ int[] B = { 2147483647, 1, 3 };
+
+ int retStatus = 0;
+
+ // LENGTH CHECK
+ if (A.length == 0 || B.length == 0 || A.length != B.length)
+ retStatus = -1;
+
+ // ADDED
+ if (retStatus != -1) {
+ for (int i = 0; i < A.length; i++) {
+ retStatus = retStatus + A[i] * B[i];
+ }
+ }
+
+ System.out.println(retStatus);
}
}
From 636e66a0978a43cf62ff7d49f8f30bb4bd617212 Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 14:29:35 -0500
Subject: [PATCH 10/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E7=9A=84=E5=A4=87=E6=B3=A8=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BF=9D?=
=?UTF-8?q?=E6=8C=81=E6=96=87=E4=BB=B6=E9=93=BE=E6=8E=A5=E4=B8=80=E8=87=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tests/lintcode/LintCode0425LetterCombinationsTest.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java
index 8c6c281cb3..7312cbb993 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0425LetterCombinationsTest.java
@@ -12,7 +12,8 @@ import org.slf4j.LoggerFactory;
*
* 425
*
From 08da871faa675cbdf4bd199112131c8f6c0d788a Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 15:16:24 -0500
Subject: [PATCH 11/21] =?UTF-8?q?lintcode=20=E4=B8=AD=E7=9A=84=E7=AC=AC=20?=
=?UTF-8?q?102=20=E9=A2=98=EF=BC=8C=E6=A3=80=E6=9F=A5=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E9=93=BE=E8=A1=A8=E4=B8=AD=E6=98=AF=E5=90=A6=E5=B8=A6=E7=8E=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tests/lintcode/LintCode0102HasCycleTest.java | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java
index 7ded09697e..d1a7f16197 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java
@@ -8,11 +8,11 @@ import com.ossez.lang.tutorial.models.ListNode;
/**
*
- * 102
+ * 1480
*
*
*
@@ -60,4 +60,5 @@ public class LintCode0102HasCycleTest {
System.out.println(retResult);
}
+
}
From 991adfbfa40a2ce939b5170af4c15315a6e87af0 Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sat, 15 Dec 2018 15:18:56 -0500
Subject: [PATCH 12/21] =?UTF-8?q?=E9=A2=98=E5=8F=B7=E7=BC=96=E8=BE=91?=
=?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E9=87=8D=E6=96=B0=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=E9=A2=98=E5=8F=B7=E5=92=8C=E9=93=BE=E6=8E=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tests/lintcode/LintCode0102HasCycleTest.java | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java
index d1a7f16197..7ded09697e 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java
@@ -8,11 +8,11 @@ import com.ossez.lang.tutorial.models.ListNode;
/**
*
- * 1480
+ * 102
*
*
*
@@ -60,5 +60,4 @@ public class LintCode0102HasCycleTest {
System.out.println(retResult);
}
-
}
From 8c8898cc9e179c94d9dc9620901633410c80bf1e Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sun, 16 Dec 2018 00:53:20 -0500
Subject: [PATCH 13/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20POM=20=E6=96=87?=
=?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=88=A0=E9=99=A4=E4=B8=8D=E9=9C=80=E8=A6=81?=
=?UTF-8?q?=E7=9A=84=20jar=20=E9=81=BF=E5=85=8D=E7=BC=96=E8=AF=91=E9=94=99?=
=?UTF-8?q?=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 29 +++++------------------------
1 file changed, 5 insertions(+), 24 deletions(-)
diff --git a/pom.xml b/pom.xml
index 9e7d36f4a0..ab492293fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,9 +1,6 @@
-
-
-
-4.0.0
+
+ 4.0.0
com.ossez
lang-tutorial
0.0.1
@@ -52,7 +49,7 @@
org.apache.commons
commons-compress
- 1.19
+ 1.18
@@ -178,22 +175,6 @@
1.3.2
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.junit.jupiter
- junit-jupiter-engine
- test
-
@@ -261,4 +242,4 @@
-
+
\ No newline at end of file
From 9109240fb61bc960b8933b06006e273e7ff8dafd Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sun, 16 Dec 2018 14:10:23 -0500
Subject: [PATCH 14/21] =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=A0=91=E7=9A=84?=
=?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8C=96=E5=92=8C=E5=8F=8D=E5=BA=8F=E5=88=97?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../LintCode0007SerializeAndDeserialize.java | 131 ++++++++++++++++++
1 file changed, 131 insertions(+)
create mode 100644 src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java
new file mode 100644
index 0000000000..7783e4254f
--- /dev/null
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java
@@ -0,0 +1,131 @@
+package com.ossez.lang.tutorial.tests.lintcode;
+
+import java.util.ArrayList;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.ossez.lang.tutorial.models.TreeNode;
+
+/**
+ *
+ * 7
+ *
+ *
+ *
+ * @author YuCheng
+ *
+ */
+public class LintCode0007SerializeAndDeserialize {
+
+ private final static Logger logger = LoggerFactory.getLogger(LintCode0007SerializeAndDeserialize.class);
+
+ /**
+ *
+ */
+ @Test
+ public void testMain() {
+ logger.debug("BEGIN");
+ String data = "{3,9,20,#,#,15,7}";
+
+ System.out.println(serialize(deserialize(data)));
+
+ }
+
+ /**
+ * Deserialize from array to tree
+ *
+ * @param data
+ * @return
+ */
+ private TreeNode deserialize(String data) {
+ // NULL CHECK
+ if (data.equals("{}")) {
+ return null;
+ }
+
+ ArrayList treeList = new ArrayList();
+
+ data = data.replace("{", "");
+ data = data.replace("}", "");
+ String[] vals = data.split(",");
+
+ // INSERT ROOT
+ TreeNode root = new TreeNode(Integer.parseInt(vals[0]));
+ treeList.add(root);
+
+ int index = 0;
+ boolean isLeftChild = true;
+ for (int i = 1; i < vals.length; i++) {
+ if (!vals[i].equals("#")) {
+ TreeNode node = new TreeNode(Integer.parseInt(vals[i]));
+ if (isLeftChild) {
+ treeList.get(index).left = node;
+ } else {
+ treeList.get(index).right = node;
+ }
+ treeList.add(node);
+ }
+
+ // LEVEL
+ if (!isLeftChild) {
+ index++;
+ }
+
+ // MOVE TO RIGHT OR NEXT LEVEL
+ isLeftChild = !isLeftChild;
+ }
+
+ return root;
+
+ }
+
+ /**
+ *
+ * @param root
+ * @return
+ */
+ public String serialize(TreeNode root) {
+ // write your code here
+ if (root == null) {
+ return "{}";
+ }
+
+ ArrayList queue = new ArrayList();
+ queue.add(root);
+
+ for (int i = 0; i < queue.size(); i++) {
+ TreeNode node = queue.get(i);
+ if (node == null) {
+ continue;
+ }
+ queue.add(node.left);
+ queue.add(node.right);
+ }
+
+ while (queue.get(queue.size() - 1) == null) {
+ queue.remove(queue.size() - 1);
+ }
+
+ StringBuilder sb = new StringBuilder();
+ sb.append("{");
+ sb.append(queue.get(0).val);
+ for (int i = 1; i < queue.size(); i++) {
+ if (queue.get(i) == null) {
+ sb.append(",#");
+ } else {
+ sb.append(",");
+ sb.append(queue.get(i).val);
+ }
+ }
+ sb.append("}");
+ return sb.toString();
+ }
+
+}
From 92e919a25411d6a28b201113e590472a17c509b8 Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sun, 16 Dec 2018 19:57:34 -0500
Subject: [PATCH 15/21] =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=A0=91=E7=9A=84?=
=?UTF-8?q?=E5=B1=82=E6=AC=A1=E9=81=8D=E5=8E=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lang/tutorial/tests/LintcodeTest.java | 24 ----
.../lintcode/LintCode0069SLevelOrderTest.java | 124 ++++++++++++++++++
2 files changed, 124 insertions(+), 24 deletions(-)
create mode 100644 src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
index 7aea60afa6..7cf699092d 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
@@ -290,28 +290,4 @@ public class LintcodeTest {
System.out.println(strSet.size());
}
- /**
- * 1480 https://www.lintcode.com/problem/dot-product/description
- */
- @Test
- public void test1480dotProduct() {
- int[] A = { 1, 1, -1 };
- int[] B = { 2147483647, 1, 3 };
-
- int retStatus = 0;
-
- // LENGTH CHECK
- if (A.length == 0 || B.length == 0 || A.length != B.length)
- retStatus = -1;
-
- // ADDED
- if (retStatus != -1) {
- for (int i = 0; i < A.length; i++) {
- retStatus = retStatus + A[i] * B[i];
- }
- }
-
- System.out.println(retStatus);
- }
-
}
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
new file mode 100644
index 0000000000..a9b1566edf
--- /dev/null
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
@@ -0,0 +1,124 @@
+package com.ossez.lang.tutorial.tests.lintcode;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.ossez.lang.tutorial.models.TreeNode;
+
+/**
+ *
+ * 69
+ *
+ *
+ *
+ * @author YuCheng
+ *
+ */
+public class LintCode0069SLevelOrderTest {
+
+ private final static Logger logger = LoggerFactory.getLogger(LintCode0069SLevelOrderTest.class);
+
+ /**
+ *
+ */
+ @Test
+ public void testMain() {
+ logger.debug("BEGIN");
+ String data = "{3,9,20,#,#,15,7}";
+
+ TreeNode tn = deserialize(data);
+ System.out.println(levelOrder(tn));
+
+ }
+
+ /**
+ * Deserialize from array to tree
+ *
+ * @param data
+ * @return
+ */
+ private TreeNode deserialize(String data) {
+ // NULL CHECK
+ if (data.equals("{}")) {
+ return null;
+ }
+
+ ArrayList treeList = new ArrayList();
+
+ data = data.replace("{", "");
+ data = data.replace("}", "");
+ String[] vals = data.split(",");
+
+ // INSERT ROOT
+ TreeNode root = new TreeNode(Integer.parseInt(vals[0]));
+ treeList.add(root);
+
+ int index = 0;
+ boolean isLeftChild = true;
+ for (int i = 1; i < vals.length; i++) {
+ if (!vals[i].equals("#")) {
+ TreeNode node = new TreeNode(Integer.parseInt(vals[i]));
+ if (isLeftChild) {
+ treeList.get(index).left = node;
+ } else {
+ treeList.get(index).right = node;
+ }
+ treeList.add(node);
+ }
+
+ // LEVEL
+ if (!isLeftChild) {
+ index++;
+ }
+
+ // MOVE TO RIGHT OR NEXT LEVEL
+ isLeftChild = !isLeftChild;
+ }
+
+ return root;
+
+ }
+
+ private List> levelOrder(TreeNode root) {
+ Queue queue = new LinkedList();
+ List> rs = new ArrayList>();
+
+ // NULL CHECK
+ if (root == null) {
+ return rs;
+ }
+
+ queue.offer(root);
+
+ while (!queue.isEmpty()) {
+ int length = queue.size();
+ List list = new ArrayList();
+
+ for (int i = 0; i < length; i++) {
+ TreeNode curTN = queue.poll();
+ list.add(curTN.val);
+ if (curTN.left != null) {
+ queue.offer(curTN.left);
+ }
+ if (curTN.right != null) {
+ queue.offer(curTN.right);
+ }
+ }
+
+ rs.add(list);
+ }
+
+ return rs;
+ }
+}
From 1a4eda83b5f068d91a0450dfdbf23e2bbcb981ca Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sun, 16 Dec 2018 20:38:24 -0500
Subject: [PATCH 16/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?=
=?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6=E5=90=8D=EF=BC=8C=E5=9C=A8=E6=96=87?=
=?UTF-8?q?=E4=BB=B6=E5=90=8D=E5=90=8E=E9=9D=A2=E6=B7=BB=E5=8A=A0=20Test?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../LintCode0007SerializeAndDeserialize.java | 131 ------------------
1 file changed, 131 deletions(-)
delete mode 100644 src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java
deleted file mode 100644
index 7783e4254f..0000000000
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package com.ossez.lang.tutorial.tests.lintcode;
-
-import java.util.ArrayList;
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.ossez.lang.tutorial.models.TreeNode;
-
-/**
- *
- * 7
- *
- *
- *
- * @author YuCheng
- *
- */
-public class LintCode0007SerializeAndDeserialize {
-
- private final static Logger logger = LoggerFactory.getLogger(LintCode0007SerializeAndDeserialize.class);
-
- /**
- *
- */
- @Test
- public void testMain() {
- logger.debug("BEGIN");
- String data = "{3,9,20,#,#,15,7}";
-
- System.out.println(serialize(deserialize(data)));
-
- }
-
- /**
- * Deserialize from array to tree
- *
- * @param data
- * @return
- */
- private TreeNode deserialize(String data) {
- // NULL CHECK
- if (data.equals("{}")) {
- return null;
- }
-
- ArrayList treeList = new ArrayList();
-
- data = data.replace("{", "");
- data = data.replace("}", "");
- String[] vals = data.split(",");
-
- // INSERT ROOT
- TreeNode root = new TreeNode(Integer.parseInt(vals[0]));
- treeList.add(root);
-
- int index = 0;
- boolean isLeftChild = true;
- for (int i = 1; i < vals.length; i++) {
- if (!vals[i].equals("#")) {
- TreeNode node = new TreeNode(Integer.parseInt(vals[i]));
- if (isLeftChild) {
- treeList.get(index).left = node;
- } else {
- treeList.get(index).right = node;
- }
- treeList.add(node);
- }
-
- // LEVEL
- if (!isLeftChild) {
- index++;
- }
-
- // MOVE TO RIGHT OR NEXT LEVEL
- isLeftChild = !isLeftChild;
- }
-
- return root;
-
- }
-
- /**
- *
- * @param root
- * @return
- */
- public String serialize(TreeNode root) {
- // write your code here
- if (root == null) {
- return "{}";
- }
-
- ArrayList queue = new ArrayList();
- queue.add(root);
-
- for (int i = 0; i < queue.size(); i++) {
- TreeNode node = queue.get(i);
- if (node == null) {
- continue;
- }
- queue.add(node.left);
- queue.add(node.right);
- }
-
- while (queue.get(queue.size() - 1) == null) {
- queue.remove(queue.size() - 1);
- }
-
- StringBuilder sb = new StringBuilder();
- sb.append("{");
- sb.append(queue.get(0).val);
- for (int i = 1; i < queue.size(); i++) {
- if (queue.get(i) == null) {
- sb.append(",#");
- } else {
- sb.append(",");
- sb.append(queue.get(i).val);
- }
- }
- sb.append("}");
- return sb.toString();
- }
-
-}
From 47b241b6b77612b790754952fefa41d614adeefd Mon Sep 17 00:00:00 2001
From: Yucheng Hu
Date: Sun, 16 Dec 2018 23:17:12 -0500
Subject: [PATCH 17/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E7=9A=84=E5=90=8D=E7=A7=B0=EF=BC=8C=E5=9B=A0=E4=B8=BA=E8=BE=93?=
=?UTF-8?q?=E5=85=A5=E7=9A=84=E5=90=8D=E7=A7=B0=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lintcode/LintCode0069SLevelOrderTest.java | 124 ------------------
1 file changed, 124 deletions(-)
delete mode 100644 src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
deleted file mode 100644
index a9b1566edf..0000000000
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.ossez.lang.tutorial.tests.lintcode;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.ossez.lang.tutorial.models.TreeNode;
-
-/**
- *
- * 69
- *
- *
- *
- * @author YuCheng
- *
- */
-public class LintCode0069SLevelOrderTest {
-
- private final static Logger logger = LoggerFactory.getLogger(LintCode0069SLevelOrderTest.class);
-
- /**
- *
- */
- @Test
- public void testMain() {
- logger.debug("BEGIN");
- String data = "{3,9,20,#,#,15,7}";
-
- TreeNode tn = deserialize(data);
- System.out.println(levelOrder(tn));
-
- }
-
- /**
- * Deserialize from array to tree
- *
- * @param data
- * @return
- */
- private TreeNode deserialize(String data) {
- // NULL CHECK
- if (data.equals("{}")) {
- return null;
- }
-
- ArrayList treeList = new ArrayList();
-
- data = data.replace("{", "");
- data = data.replace("}", "");
- String[] vals = data.split(",");
-
- // INSERT ROOT
- TreeNode root = new TreeNode(Integer.parseInt(vals[0]));
- treeList.add(root);
-
- int index = 0;
- boolean isLeftChild = true;
- for (int i = 1; i < vals.length; i++) {
- if (!vals[i].equals("#")) {
- TreeNode node = new TreeNode(Integer.parseInt(vals[i]));
- if (isLeftChild) {
- treeList.get(index).left = node;
- } else {
- treeList.get(index).right = node;
- }
- treeList.add(node);
- }
-
- // LEVEL
- if (!isLeftChild) {
- index++;
- }
-
- // MOVE TO RIGHT OR NEXT LEVEL
- isLeftChild = !isLeftChild;
- }
-
- return root;
-
- }
-
- private List> levelOrder(TreeNode root) {
- Queue queue = new LinkedList();
- List> rs = new ArrayList>();
-
- // NULL CHECK
- if (root == null) {
- return rs;
- }
-
- queue.offer(root);
-
- while (!queue.isEmpty()) {
- int length = queue.size();
- List list = new ArrayList();
-
- for (int i = 0; i < length; i++) {
- TreeNode curTN = queue.poll();
- list.add(curTN.val);
- if (curTN.left != null) {
- queue.offer(curTN.left);
- }
- if (curTN.right != null) {
- queue.offer(curTN.right);
- }
- }
-
- rs.add(list);
- }
-
- return rs;
- }
-}
From a37fa0a205281b5ba206d18c88d770ccf5b448f5 Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Sun, 23 Dec 2018 16:29:50 -0500
Subject: [PATCH 18/21] =?UTF-8?q?BinaryGap=20=20Test=20for=20codility=20?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9A=84=E5=8E=9F=E6=96=87=E8=AF=B7=E5=8F=82?=
=?UTF-8?q?=E8=80=83=E9=93=BE=E6=8E=A5=EF=BC=9A=20https://app.codility.com?=
=?UTF-8?q?/programmers/lessons/1-iterations/binary=5Fgap/?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
有关问题的解答思路和翻译,请参考:https://www.cwiki.us/display/ITCLASSIFICATION/Binary+Gap
---
.../lintcode/LintCode1480DotProductTest.java | 20 +++----------------
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java
index e4ab2356ee..fb62a811a0 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode1480DotProductTest.java
@@ -27,23 +27,9 @@ public class LintCode1480DotProductTest {
@Test
public void testMain() {
logger.debug("BEGIN");
- int[] A = { 1, 1, -1 };
- int[] B = { 2147483647, 1, 3 };
-
- int retStatus = 0;
-
- // LENGTH CHECK
- if (A.length == 0 || B.length == 0 || A.length != B.length)
- retStatus = -1;
-
- // ADDED
- if (retStatus != -1) {
- for (int i = 0; i < A.length; i++) {
- retStatus = retStatus + A[i] * B[i];
- }
- }
-
- System.out.println(retStatus);
+ int t = 87;
+ int[] dur = { 20, 25, 19, 37 };
+ // Write your code here
}
}
From c3965be7fb22b908ad8ae7db9522523fcde6a99b Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Mon, 27 Jan 2020 13:54:41 -0500
Subject: [PATCH 19/21] Change commons-compress version to 1.19 due to security
alert
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index ab492293fb..b33e06076b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,7 @@
org.apache.commons
commons-compress
- 1.18
+ 1.19
@@ -242,4 +242,4 @@
-
\ No newline at end of file
+
From 8284212b8a22088287d0cd37274393e03c54011c Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Sun, 11 Apr 2021 09:25:38 -0400
Subject: [PATCH 20/21] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20POM=20=E6=96=87?=
=?UTF-8?q?=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index b33e06076b..9e7d36f4a0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,9 @@
-
- 4.0.0
+
+
+
+4.0.0
com.ossez
lang-tutorial
0.0.1
@@ -175,6 +178,22 @@
1.3.2
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
From 361e407d91e00158295aadeaca0a91d84a534820 Mon Sep 17 00:00:00 2001
From: YuCheng Hu
Date: Mon, 12 Apr 2021 21:59:05 -0400
Subject: [PATCH 21/21] Rebase
---
.idea/workspace.xml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 77835ecf88..3edc2ca039 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,9 +4,7 @@
-
-
-
+
@@ -82,7 +80,7 @@
1618145802441
-
+
1618147556538