diff --git a/README.md b/README.md
index 2db0ce5cd2d804f3c43dca25bee22ce1991d7164..203584288f04398c043fbf14ad52825c200d7b73 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,13 @@
#### 介绍
uml模型识别、与代码追踪
+UML class diagram and sequence diagram recognition, and trace to source code
#### 软件架构
包括uml类图和顺序图识别、uml类图与代码追踪、uml顺序图与代码追踪。
-1、uml类图和顺序图识别
+1、uml类图和顺序图识别(UML class diagram and sequence diagram recognition)
包括方框识别、直线识别、关系类型符号识别、文字识别、特殊处理
+including the rectangle recognition, relationship line recognition, relationship type symbol recognition, text recognition, etc.
2、uml类图与代码追踪
包括基于启发式模糊匹配的初始追踪建立、基于文档语义的抽象模型元素追踪
3、uml顺序图与代码追踪
@@ -14,14 +16,15 @@ uml模型识别、与代码追踪
#### 安装教程
-1. 安装eclipse
-2. 在eclipse中打开项目
+1. Import this project into the IDE.
+2. Add the jar file to the dependencies.
+3. Run the UMLDiagramRecognizer, the results are saved in the path ".\src\main\resources\cd\" with predefined separators (defined in ClassDiagramRecognizer).
#### 使用说明
-1. 输入模型、文档、代码
-2. 识别
-3. 追踪
+1. The diagram path can be changed
+2. The result file path can be changed
+3. The depended jar file can be installed through Maven
#### 参与贡献
@@ -31,7 +34,7 @@ uml模型识别、与代码追踪
4. 新建 Pull Request
-#### 特技
+#### 特技 (How to use Gitee)
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
diff --git a/doc/replication package/experiments/CDTC_VSM-LSI/Apache OODT File Manager/Apache OODT File Manager-VSMLSI.xlsx b/doc/replication package/experiments/CDTC_VSM-LSI/Apache OODT File Manager/Apache OODT File Manager-VSMLSI.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..b618b612fd8b35bd9d561141e1136420c21b4585
Binary files /dev/null and b/doc/replication package/experiments/CDTC_VSM-LSI/Apache OODT File Manager/Apache OODT File Manager-VSMLSI.xlsx differ
diff --git a/doc/replication package/experiments/CDTC_VSM-LSI/Apache OODT File Manager/Apache OODT File Manager.xlsx b/doc/replication package/experiments/CDTC_VSM-LSI/Apache OODT File Manager/Apache OODT File Manager.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..3817696d135b44dee60ffdd4f16c59c63cb94852
Binary files /dev/null and b/doc/replication package/experiments/CDTC_VSM-LSI/Apache OODT File Manager/Apache OODT File Manager.xlsx differ
diff --git a/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop HDFS/Hadoop HDFS-VSMLSI.xlsx b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop HDFS/Hadoop HDFS-VSMLSI.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..88f01f4fe420e55ad3a3feea9e079ac0c3d9e3f9
Binary files /dev/null and b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop HDFS/Hadoop HDFS-VSMLSI.xlsx differ
diff --git a/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop HDFS/Hadoop HDFS.xlsx b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop HDFS/Hadoop HDFS.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..000c2fefe9d6023b99ed458d6c8698d03396307b
Binary files /dev/null and b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop HDFS/Hadoop HDFS.xlsx differ
diff --git a/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop MapReduce/Hadoop MapReduce-VSMLSI.xlsx b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop MapReduce/Hadoop MapReduce-VSMLSI.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..c97212403ced544a029dd2c5515bb508c0b6ab4c
Binary files /dev/null and b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop MapReduce/Hadoop MapReduce-VSMLSI.xlsx differ
diff --git a/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop MapReduce/Hadoop MapReduce.xlsx b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop MapReduce/Hadoop MapReduce.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..8e238d097bc07d12a58030922627d25832053667
Binary files /dev/null and b/doc/replication package/experiments/CDTC_VSM-LSI/Hadoop MapReduce/Hadoop MapReduce.xlsx differ
diff --git "a/doc/replication package/experiments/CDTC_VSM-LSI/\347\273\223\346\236\234\346\261\207\346\200\273.xlsx" "b/doc/replication package/experiments/CDTC_VSM-LSI/\347\273\223\346\236\234\346\261\207\346\200\273.xlsx"
new file mode 100644
index 0000000000000000000000000000000000000000..307e6bdd390803c2fc5d8f829428902d552bffde
Binary files /dev/null and "b/doc/replication package/experiments/CDTC_VSM-LSI/\347\273\223\346\236\234\346\261\207\346\200\273.xlsx" differ
diff --git a/doc/replication package/experiments/Improved CountAttract Mapping/results/Apache OODT File Manager-Improved CountAttract Mapping.xls b/doc/replication package/experiments/Improved CountAttract Mapping/results/Apache OODT File Manager-Improved CountAttract Mapping.xls
new file mode 100644
index 0000000000000000000000000000000000000000..6d9ba6b2373318d9bf3f26181879344cfcf6802c
Binary files /dev/null and b/doc/replication package/experiments/Improved CountAttract Mapping/results/Apache OODT File Manager-Improved CountAttract Mapping.xls differ
diff --git a/doc/replication package/experiments/Improved CountAttract Mapping/results/Hadoop HDFS-Improved CountAttract Mapping.xls b/doc/replication package/experiments/Improved CountAttract Mapping/results/Hadoop HDFS-Improved CountAttract Mapping.xls
new file mode 100644
index 0000000000000000000000000000000000000000..faef32ffdc2db79dab80d0b203786fff0eea6bd5
Binary files /dev/null and b/doc/replication package/experiments/Improved CountAttract Mapping/results/Hadoop HDFS-Improved CountAttract Mapping.xls differ
diff --git a/doc/replication package/experiments/Improved CountAttract Mapping/results/Hadoop MapReduce-Improved CountAttract Mapping.xls b/doc/replication package/experiments/Improved CountAttract Mapping/results/Hadoop MapReduce-Improved CountAttract Mapping.xls
new file mode 100644
index 0000000000000000000000000000000000000000..331889fc760c5395a5ab306b731d3b3f05b20c38
Binary files /dev/null and b/doc/replication package/experiments/Improved CountAttract Mapping/results/Hadoop MapReduce-Improved CountAttract Mapping.xls differ
diff --git a/doc/replication package/experiments/Improved CountAttract Mapping/systems/Apache OODT File Manager.architecture b/doc/replication package/experiments/Improved CountAttract Mapping/systems/Apache OODT File Manager.architecture
new file mode 100644
index 0000000000000000000000000000000000000000..797cdf220cdeb049b47ab9b5c3232bcbcadd5d27
--- /dev/null
+++ b/doc/replication package/experiments/Improved CountAttract Mapping/systems/Apache OODT File Manager.architecture
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/replication package/experiments/Improved CountAttract Mapping/systems/Hadoop HDFS.architecture b/doc/replication package/experiments/Improved CountAttract Mapping/systems/Hadoop HDFS.architecture
new file mode 100644
index 0000000000000000000000000000000000000000..c1ebb1b65252b36e44558c445b5ee9f151939e7c
--- /dev/null
+++ b/doc/replication package/experiments/Improved CountAttract Mapping/systems/Hadoop HDFS.architecture
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/replication package/experiments/Improved CountAttract Mapping/systems/Hadoop MapReduce.architecture b/doc/replication package/experiments/Improved CountAttract Mapping/systems/Hadoop MapReduce.architecture
new file mode 100644
index 0000000000000000000000000000000000000000..8299ce0d01756dc2bc446a9993321feb3a012174
--- /dev/null
+++ b/doc/replication package/experiments/Improved CountAttract Mapping/systems/Hadoop MapReduce.architecture
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/replication package/experiments/NBAttract/results/Apache OODT File Manager.png b/doc/replication package/experiments/NBAttract/results/Apache OODT File Manager.png
new file mode 100644
index 0000000000000000000000000000000000000000..41eed0052ecd0d484d9a78bbcdf50966b1d64d13
Binary files /dev/null and b/doc/replication package/experiments/NBAttract/results/Apache OODT File Manager.png differ
diff --git a/doc/replication package/experiments/NBAttract/results/Hadoop HDFS.png b/doc/replication package/experiments/NBAttract/results/Hadoop HDFS.png
new file mode 100644
index 0000000000000000000000000000000000000000..e65ca5befef02dddd91c41d61cfa4dd03a1ed6e8
Binary files /dev/null and b/doc/replication package/experiments/NBAttract/results/Hadoop HDFS.png differ
diff --git a/doc/replication package/experiments/NBAttract/results/Hadoop MapReduce.png b/doc/replication package/experiments/NBAttract/results/Hadoop MapReduce.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ea915dec1e5ee21411ac3f9db7d2c50924d197a
Binary files /dev/null and b/doc/replication package/experiments/NBAttract/results/Hadoop MapReduce.png differ
diff --git a/doc/replication package/experiments/NBAttract/results/results.txt b/doc/replication package/experiments/NBAttract/results/results.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8eca3855cdd14018392c180bf7d9f085e6d5bc9d
--- /dev/null
+++ b/doc/replication package/experiments/NBAttract/results/results.txt
@@ -0,0 +1,3 @@
+Apache OODT File Manager: Recall 65.38%, Precision 67.95%
+Hadoop HDFS: Recall 81.03%, Precision 87.93%
+Hadoop MapReduce: Recall 74.73%, Precision 76.92%
\ No newline at end of file
diff --git a/doc/replication package/experiments/NBAttract/systems/Apache OODT File Manager/OODT File Manager.sysmdl b/doc/replication package/experiments/NBAttract/systems/Apache OODT File Manager/OODT File Manager.sysmdl
new file mode 100644
index 0000000000000000000000000000000000000000..656573efc8e1b1030dec199c0f29f2d65ec1b1af
--- /dev/null
+++ b/doc/replication package/experiments/NBAttract/systems/Apache OODT File Manager/OODT File Manager.sysmdl
@@ -0,0 +1,40 @@
+# name
+OODT File Manager
+
+# jar
+cas-filemgr-1.9.1.jar
+
+# root-packages
+org/apache/oodt
+
+# modules
+versioner
+metadata
+product
+#prom.packages
+#log
+#apacheutils
+
+# mapping
+#
+versioner org\.apache\.oodt\.cas\.filemgr\.versioning\.*
+metadata org\.apache\.oodt\.cas\.filemgr\.metadata\.*
+product org\.apache\.oodt\.cas\.filemgr\.structs\.*
+
+# relations
+#
+versioner versioner
+metadata metadata
+product metadata
+product versioner
+#prom.packages prom.framework
+#prom.packages prom.domain.plugins
+#prom.packages prom.domain.contexts
+#prom.packages prom.domain.models
+
+# initial mapping
+versioner org.apache.oodt.cas.filemgr.versioning.Versioner
+metadata org.apache.oodt.cas.filemgr.metadata.CoreMetKeys
+product org.apache.oodt.cas.filemgr.structs.Product
+#prom.packages org.processmining.framework.impl.AbstractPluginContext
+
diff --git a/doc/replication package/experiments/NBAttract/systems/Apache OODT File Manager/cas-filemgr-1.9.1.jar b/doc/replication package/experiments/NBAttract/systems/Apache OODT File Manager/cas-filemgr-1.9.1.jar
new file mode 100644
index 0000000000000000000000000000000000000000..9650324ebaf19a3e62ae5ef4d182b3f822e28c86
Binary files /dev/null and b/doc/replication package/experiments/NBAttract/systems/Apache OODT File Manager/cas-filemgr-1.9.1.jar differ
diff --git a/doc/replication package/experiments/NBAttract/systems/Hadoop HDFS/HDFS.sysmdl b/doc/replication package/experiments/NBAttract/systems/Hadoop HDFS/HDFS.sysmdl
new file mode 100644
index 0000000000000000000000000000000000000000..452c53327cd198bea555b3328bb92636043abe69
--- /dev/null
+++ b/doc/replication package/experiments/NBAttract/systems/Hadoop HDFS/HDFS.sysmdl
@@ -0,0 +1,46 @@
+# name
+HDFS
+
+# jar
+hadoop-hdfs-2.10.2.jar
+
+# root-packages
+org/apache/hadoop
+
+# modules
+namenode
+datanode
+protocol
+client
+balancer
+#prom.packages
+#log
+#apacheutils
+
+# mapping
+#
+namenode org\.apache\.hadoop\.hdfs\.server\.namenode\.*
+datanode org\.apache\.hadoop\.hdfs\.server\.datanode\.*
+protocol org\.apache\.hadoop\.hdfs\.protocol\.*
+client org\.apache\.hadoop\.hdfs\.*
+balancer org\.apache\.hadoop\.hdfs\.server\.balancer\.*
+
+# relations
+#
+client namenode
+client datanode
+protocol protocol
+balancer balancer
+#prom.packages prom.framework
+#prom.packages prom.domain.plugins
+#prom.packages prom.domain.contexts
+#prom.packages prom.domain.models
+
+# initial mapping
+namenode org.apache.hadoop.hdfs.server.namenode.NameNode
+datanode org.apache.hadoop.hdfs.server.datanode.DataNode
+protocol org.apache.hadoop.hdfs.protocol.ClientProtocol
+client org.apache.hadoop.hdfs.DFSClient
+balancer org.apache.hadoop.hdfs.server.balancer.Balancer
+#prom.packages org.processmining.framework.impl.AbstractPluginContext
+
diff --git a/doc/replication package/experiments/NBAttract/systems/Hadoop HDFS/hadoop-hdfs-2.10.2.jar b/doc/replication package/experiments/NBAttract/systems/Hadoop HDFS/hadoop-hdfs-2.10.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..8d72c672d40d88875e094b825e1d4b3d9e741d33
Binary files /dev/null and b/doc/replication package/experiments/NBAttract/systems/Hadoop HDFS/hadoop-hdfs-2.10.2.jar differ
diff --git a/doc/replication package/experiments/NBAttract/systems/Hadoop MapReduce/MapReduce.sysmdl b/doc/replication package/experiments/NBAttract/systems/Hadoop MapReduce/MapReduce.sysmdl
new file mode 100644
index 0000000000000000000000000000000000000000..15431db5602a80264e69aad229545dfb3d1ca614
--- /dev/null
+++ b/doc/replication package/experiments/NBAttract/systems/Hadoop MapReduce/MapReduce.sysmdl
@@ -0,0 +1,46 @@
+# name
+MapReduce
+
+# jar
+hadoop-mapreduce-client-core-2.10.2.jar
+
+# root-packages
+org/apache/hadoop
+
+# modules
+input
+map
+partition
+reduce
+output
+#prom.packages
+#log
+#apacheutils
+
+# mapping
+#
+input org\.apache\.hadoop\.mapreduce\.lib\.input\.*
+map org\.apache\.hadoop\.mapreduce\.lib\.map\.*
+partition org\.apache\.hadoop\.mapreduce\.lib\.partition\.*
+reduce org\.apache\.hadoop\.mapreduce\.lib\.reduce\.*
+output org\.apache\.hadoop\.mapreduce\.lib\.output\.*
+
+# relations
+#
+input map
+map partition
+partition reduce
+reduce output
+#prom.packages prom.framework
+#prom.packages prom.domain.plugins
+#prom.packages prom.domain.contexts
+#prom.packages prom.domain.models
+
+# initial mapping
+input org.apache.hadoop.mapreduce.InputFormat
+map org.apache.hadoop.mapreduce.Mapper
+partition org.apache.hadoop.mapreduce.Partitioner
+reduce org.apache.hadoop.mapreduce.Reducer
+output org.apache.hadoop.mapreduce.OutputFormat
+#prom.packages org.processmining.framework.impl.AbstractPluginContext
+
diff --git a/doc/replication package/experiments/NBAttract/systems/Hadoop MapReduce/hadoop-mapreduce-client-core-2.10.2.jar b/doc/replication package/experiments/NBAttract/systems/Hadoop MapReduce/hadoop-mapreduce-client-core-2.10.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..f3b9d16c78d618dbf3ccda4df319261be058209f
Binary files /dev/null and b/doc/replication package/experiments/NBAttract/systems/Hadoop MapReduce/hadoop-mapreduce-client-core-2.10.2.jar differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/cd-Apache OODT File Manager.png b/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/cd-Apache OODT File Manager.png
new file mode 100644
index 0000000000000000000000000000000000000000..41eca3c67c65d8cbc73f9cf4dcdd9ad5401ced2b
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/cd-Apache OODT File Manager.png differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..18ce8cba87ac1d1b72afb26251367c60c0d248c5
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..579d59497b57372e90b3e584dc3206b3d8afb138
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/Apache OODT File Manager/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip" differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS-old.png b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS-old.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7f8ef9119841fccafbee1570f24d703c2b993e3
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS-old.png differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS1.png b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS1.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb7e560e8df5ddc227ccd75b086fc4729cbe4ec3
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS1.png differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS2.png b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS2.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a89ca7fd827bc457878f9788eab892f1fae1a76
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/cd-Hadoop HDFS2.png differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..890d5f8be97efd7426c7bc8fffd2bda9aeafe723
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..b4f31ca13cf33e592db19dbb8fe6c7213411bd70
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop HDFS/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip" differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce-old.png b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce-old.png
new file mode 100644
index 0000000000000000000000000000000000000000..428934aecc9ecf9a8720c537ed092891e2b21a43
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce-old.png differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce1.png b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce1.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a7cfa501497a3917a17a75fd45e5497e93e1593
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce1.png differ
diff --git a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce2.png b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce2.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffc790c72b0e6e6ffeea92cb8fd31c857981dffb
Binary files /dev/null and b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/cd-Hadoop MapReduce2.png differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..c3c9c9b5f2d7242944ab8a01d3b3a1323700183b
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/\346\225\260\346\215\256\357\274\210\346\226\207\346\241\243\357\274\211.zip" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..bd249fa34347c50315101578b1363d7f75a62ff4
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/Hadoop MapReduce/\346\240\207\345\207\206\347\255\224\346\241\210\357\274\210\345\244\247\344\275\234\344\270\232\357\274\211.zip" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\210\235\346\255\245\346\230\240\345\260\204.txt" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\210\235\346\255\245\346\230\240\345\260\204.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..57596c27f495dbaa6d9bca2de1ebaf40a82d34bb
--- /dev/null
+++ "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\210\235\346\255\245\346\230\240\345\260\204.txt"
@@ -0,0 +1,86 @@
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\ByteBufferOutputStream2.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-http2\http2-common\src\main\java\org\eclipse\jetty\http2\BufferingFlowControlStrategy.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\NullByteBufferPool.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\resource\ByteBufferRangeWriter.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-websocket\javax-websocket-client-impl\src\main\java\org\eclipse\jetty\websocket\jsr356\decoders\ByteBufferDecoder.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\ByteBufferPool.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\AbstractByteBufferPool.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\Utf8StringBuffer.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-client\src\main\java\org\eclipse\jetty\client\util\BufferingResponseListener.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\FileBufferedResponseHandler.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\BufferedResponseHandler.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\ByteBufferAccumulator.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\LeakTrackingByteBufferPool.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\ByteBufferOutputStream.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-client\src\main\java\org\eclipse\jetty\client\util\ByteBufferContentProvider.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-websocket\websocket-common\src\main\java\org\eclipse\jetty\websocket\common\message\Utf8CharBuffer.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-jmh\src\main\java\org\eclipse\jetty\io\jmh\ByteBufferBenchmark.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\MappedByteBufferPool.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\ArrayByteBufferPool.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-io\src\main\java\org\eclipse\jetty\io\RetainableByteBuffer.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-websocket\javax-websocket-client-impl\src\main\java\org\eclipse\jetty\websocket\jsr356\encoders\ByteBufferEncoder.java)
+Buffer(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\BufferUtil.java)
+==============================
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\FileNoticeLifeCycleListener.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-deploy\src\main\java\org\eclipse\jetty\deploy\AppLifeCycle.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\StopLifeCycle.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-plus\src\main\java\org\eclipse\jetty\plus\annotation\LifeCycleCallback.java)
+LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-plus\src\main\java\org\eclipse\jetty\plus\annotation\LifeCycleCallbackCollection.java)
+==============================
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\Connector.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\AbstractConnector.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-jmx\src\main\java\org\eclipse\jetty\jmx\ConnectorServer.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-jmx\src\main\java\org\eclipse\jetty\jmx\ConnectorServer.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-maven-plugin\src\main\java\org\eclipse\jetty\maven\plugin\ServerConnectorListener.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\AbstractConnector.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\AbstractConnector.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-osgi\jetty-osgi-boot\src\main\java\org\eclipse\jetty\osgi\boot\utils\ServerConnectorListener.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\ConnectorStatistics.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\ConnectorStatistics.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-maven-plugin\src\main\java\org\eclipse\jetty\maven\plugin\MavenServerConnector.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-maven-plugin\src\main\java\org\eclipse\jetty\maven\plugin\MavenServerConnector.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+==============================
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-http-spi\src\main\java\org\eclipse\jetty\http\spi\DelegatingThreadPool.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-http-spi\src\main\java\org\eclipse\jetty\http\spi\DelegatingThreadPool.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-http-spi\src\main\java\org\eclipse\jetty\http\spi\DelegatingThreadPool.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-jmh\src\main\java\org\eclipse\jetty\util\thread\jmh\ThreadPoolBenchmark.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\thread\QueuedThreadPool.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\thread\QueuedThreadPool.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\thread\QueuedThreadPool.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\thread\ExecutorThreadPool.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\thread\ExecutorThreadPool.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+ThreadPool(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-jmh\src\main\java\org\eclipse\jetty\util\thread\jmh\ReservedThreadPoolBenchmark.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+==============================
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandlerContainer.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\ContextHandler.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\HandlerContainer.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\Handler.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-servlet\src\main\java\org\eclipse\jetty\servlet\ServletContextHandler.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-servlet\src\main\java\org\eclipse\jetty\servlet\ServletContextHandler.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-annotations\src\main\java\org\eclipse\jetty\annotations\PostConstructAnnotationHandler.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-plus\src\main\java\org\eclipse\jetty\plus\annotation\LifeCycleCallbackCollection.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\HandlerWrapper.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-servlet\src\main\java\org\eclipse\jetty\servlet\ServletHandler.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)继承了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\ContainerLifeCycle.java)
+Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-annotations\src\main\java\org\eclipse\jetty\annotations\PreDestroyAnnotationHandler.java)依赖了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-plus\src\main\java\org\eclipse\jetty\plus\annotation\LifeCycleCallbackCollection.java)
+==============================
+AbstractLifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\AbstractLifeCycle.java)实现了LifeCycle(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-util\src\main\java\org\eclipse\jetty\util\component\LifeCycle.java)
+==============================
+Buffers没有映射
+==============================
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandlerContainer.java)继承了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandlerContainer.java)实现了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\HandlerContainer.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandlerContainer.java)依赖了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\Handler.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandlerContainer.java)依赖了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\HandlerContainer.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\jmx\AbstractHandlerMBean.java)依赖了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\jmx\AbstractHandlerMBean.java)依赖了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandlerContainer.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\jmx\AbstractHandlerMBean.java)依赖了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\ContextHandler.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)实现了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\Handler.java)
+AbstractHandler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\handler\AbstractHandler.java)依赖了Handler(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\Handler.java)
+==============================
+AbstractConnector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\AbstractConnector.java)实现了Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\Connector.java)
+AbstractConnector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\jmx\AbstractConnectorMBean.java)依赖了Connector(映射为D:\eclipse-committers\jetty.project-jetty-9.4.41.v20210516\jetty-server\src\main\java\org\eclipse\jetty\server\AbstractConnector.java)
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-handlers.png" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-handlers.png"
new file mode 100644
index 0000000000000000000000000000000000000000..47dd0e69bb28306623b5266e8ad14ee1a1bfdbb2
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-handlers.png" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-nested-handlers.png" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-nested-handlers.png"
new file mode 100644
index 0000000000000000000000000000000000000000..877400141d59661e0c7683378cda1f81cdd0f4f8
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-nested-handlers.png" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-patterns.png" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-patterns.png"
new file mode 100644
index 0000000000000000000000000000000000000000..777eed91c15ffbd9e3931055f27fabb1cb83aee8
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-patterns.png" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-servlet-handler.png" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-servlet-handler.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d8f2ea8e3cf91450a3dbe4d92623fe51def33ff3
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-servlet-handler.png" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-web-application.png" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-web-application.png"
new file mode 100644
index 0000000000000000000000000000000000000000..e5232a20d8e83cb473379e08b3396caf271ca8a0
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/basic-architecture-web-application.png" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/jetty-high-level-architecture.png" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/jetty-high-level-architecture.png"
new file mode 100644
index 0000000000000000000000000000000000000000..02bf6476bb20afb8ee97e2dba2d75131e9c79f13
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\345\233\276/jetty-high-level-architecture.png" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/jetty/\346\226\207\346\241\243.zip" "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\346\226\207\346\241\243.zip"
new file mode 100644
index 0000000000000000000000000000000000000000..27f6839292478c3d5edaff3aa07a924939286052
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/jetty/\346\226\207\346\241\243.zip" differ
diff --git "a/doc/replication package/online documentation collection and manual trace link establishment/\346\226\207\346\241\243\347\255\233\351\200\211\350\256\260\345\275\225.xlsx" "b/doc/replication package/online documentation collection and manual trace link establishment/\346\226\207\346\241\243\347\255\233\351\200\211\350\256\260\345\275\225.xlsx"
new file mode 100644
index 0000000000000000000000000000000000000000..30e27d45721b7d5022ff4301f10fbc71e323ef9f
Binary files /dev/null and "b/doc/replication package/online documentation collection and manual trace link establishment/\346\226\207\346\241\243\347\255\233\351\200\211\350\256\260\345\275\225.xlsx" differ
diff --git a/src/main/java/com/hy/java/uct/cdtocode/CDToCodeTracer.java b/src/main/java/com/hy/java/uct/cdtocode/CDToCodeTracer.java
index 100989ac767a20fccc1fe2ce9fb410e5b494d543..88268c84ba044c570d4d72ea3b6acb40d6477fef 100644
--- a/src/main/java/com/hy/java/uct/cdtocode/CDToCodeTracer.java
+++ b/src/main/java/com/hy/java/uct/cdtocode/CDToCodeTracer.java
@@ -48,11 +48,11 @@ public class CDToCodeTracer {
/*
* Hadoop HDFS
*/
- Map classes_in_CD = CDReader.read(cd_dir + "cd-Hadoop HDFS.txt");
+ // Map classes_in_CD = CDReader.read(cd_dir + "cd-Hadoop HDFS.txt");
/*
* Hadoop MapReduce
*/
- // Map classes_in_CD = CDReader.read(cd_dir + "cd-Hadoop MapReduce.txt");
+ Map classes_in_CD = CDReader.read(cd_dir + "cd-Hadoop MapReduce.txt");
// 检查结果,可注释掉
// CDReader.check(classes_in_CD);
/*
@@ -77,32 +77,35 @@ public class CDToCodeTracer {
/*
* Hadoop HDFS
*/
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop architectural overview.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop clusters with Kove® XPD™ persistent memory.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HADOOP DISTRIBUTED FILE SYSTEM (HDFS) ARCHITECTURAL DOCUMENTATION - MODULE VIEW.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop Distributed File System (HDFS) Architecture – A Guide to HDFS for Every Data Engineer.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HADOOP ECOSYSTEM.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop HDFS Architecture Explanation and Assumptions.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HDFS Architecture Guide.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HDFS Architecture.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HDFS.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Key Design of HDFS Architecture.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\The Hadoop Distributed File System Architecture and Design.txt");
- doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Towards A Scalable HDFS Architecture.txt");
/*
- * Hadoop MapReduce
+ * doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop architectural overview.txt"); doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop clusters with Kove® XPD™ persistent memory.txt"); doc_dir_ls.add(doc_dir +
+ * "Hadoop HDFS\\HADOOP DISTRIBUTED FILE SYSTEM (HDFS) ARCHITECTURAL DOCUMENTATION - MODULE VIEW.txt"); doc_dir_ls.add(doc_dir +
+ * "Hadoop HDFS\\Hadoop Distributed File System (HDFS) Architecture – A Guide to HDFS for Every Data Engineer.txt"); doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HADOOP ECOSYSTEM.txt");
+ * doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Hadoop HDFS Architecture Explanation and Assumptions.txt"); doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HDFS Architecture Guide.txt"); doc_dir_ls.add(doc_dir +
+ * "Hadoop HDFS\\HDFS Architecture.txt"); doc_dir_ls.add(doc_dir + "Hadoop HDFS\\HDFS.txt"); doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Key Design of HDFS Architecture.txt"); doc_dir_ls.add(doc_dir +
+ * "Hadoop HDFS\\The Hadoop Distributed File System Architecture and Design.txt"); doc_dir_ls.add(doc_dir + "Hadoop HDFS\\Towards A Scalable HDFS Architecture.txt");
*/
/*
- * doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\A BIG DATA PROCESSING FRAMEWORK BASED ON MAPREDUCE WITH APPLICATION TO INTERNET OF THINGS.txt"); doc_dir_ls.add(doc_dir +
- * "Hadoop MapReduce\\Apache Hadoop Architecture – HDFS, YARN & MapReduce.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Big Data Analysis Challenges and Solutions.txt"); doc_dir_ls.add(doc_dir +
- * "Hadoop MapReduce\\Big Data Management on Wireless Sensor Networks.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Hadoop - MapReduce.txt"); doc_dir_ls.add(doc_dir +
- * "Hadoop MapReduce\\Hadoop Architecture in Detail – HDFS, Yarn & MapReduce.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Hadoop MapReduce- Java-based Processing Framework for Big Data.txt");
- * doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce – Components.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Architecture1.txt"); doc_dir_ls.add(doc_dir +
- * "Hadoop MapReduce\\MapReduce Architecture2.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Architecture3.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Tutorial.txt");
- * doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Working and Components.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce.txt"); doc_dir_ls.add(doc_dir +
- * "Hadoop MapReduce\\mapreduce_hadoop2.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Understanding MapReduce in Hadoop.txt"); doc_dir_ls.add(doc_dir +
- * "Hadoop MapReduce\\What are the components of MapReduce.txt"); doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\What Is MapReduce Architecture An Important Overview For 2021.txt");
+ * Hadoop MapReduce
*/
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\A BIG DATA PROCESSING FRAMEWORK BASED ON MAPREDUCE WITH APPLICATION TO INTERNET OF THINGS.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Apache Hadoop Architecture – HDFS, YARN & MapReduce.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Big Data Analysis Challenges and Solutions.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Big Data Management on Wireless Sensor Networks.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Hadoop - MapReduce.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Hadoop Architecture in Detail – HDFS, Yarn & MapReduce.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Hadoop MapReduce- Java-based Processing Framework for Big Data.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce – Components.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Architecture1.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Architecture2.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Architecture3.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Tutorial.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce Working and Components.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\MapReduce.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\mapreduce_hadoop2.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\Understanding MapReduce in Hadoop.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\What are the components of MapReduce.txt");
+ doc_dir_ls.add(doc_dir + "Hadoop MapReduce\\What Is MapReduce Architecture An Important Overview For 2021.txt");
// 实际使用的Map,保存每份文档地址及其内容
Map> dir_sentences_map = DocReader.readDocs(doc_dir_ls);
/*
@@ -112,8 +115,8 @@ public class CDToCodeTracer {
*/
// 记得改这里的路径
// Map classFullName_javaFileDir_map = CodeReader.read(code_dir + "code path-fm");
- Map classFullName_javaFileDir_map = CodeReader.read(code_dir + "code path-hdfs");
- // Map classFullName_javaFileDir_map = CodeReader.read(code_dir + "code path-mr");
+ // Map classFullName_javaFileDir_map = CodeReader.read(code_dir + "code path-hdfs");
+ Map classFullName_javaFileDir_map = CodeReader.read(code_dir + "code path-mr");
// 检查结果,可注释掉
// CodeReader.check(classFullName_javaFileDir_map);
// 针对每个图中的类名,如果代码中有相似的包名,则将包下所有相似的类(字符串包含至少一个关键词即可)都重点标记。此脚本为一次性,使用后删除即可
@@ -143,15 +146,15 @@ public class CDToCodeTracer {
/*
* Apache OODT File Manager
*/
- // CodeRelationMapper.save(mapped_classes, res_dir + "Apache OODT File Manager-noadd.xls");
+ // CodeRelationMapper.save(mapped_classes, res_dir + "Apache OODT File Manager-NBAttract.xls");
/*
* Hadoop HDFS
*/
- CodeRelationMapper.save(mapped_classes, res_dir + "Hadoop HDFS-noadd.xls");
+ // CodeRelationMapper.save(mapped_classes, res_dir + "Hadoop HDFS-NBAttract.xls");
/*
* Hadoop MapReduce
*/
- // CodeRelationMapper.save(mapped_classes, res_dir + "Hadoop MapReduce-noadd.xls");
+ CodeRelationMapper.save(mapped_classes, res_dir + "Hadoop MapReduce-NBAttract.xls");
// 检查结果,可注释掉
// CodeRelationMapper.check(res_dir + "Apache OODT File Manager.xls");
}
diff --git a/src/main/java/com/hy/java/uct/umlrecog/ClassDiagramRecognizer.java b/src/main/java/com/hy/java/uct/umlrecog/ClassDiagramRecognizer.java
index 9ab813e5d6e6037315ababa01d89189812ed32c9..e760ee48523b4951b0b633d0a68db52503e62f03 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/ClassDiagramRecognizer.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/ClassDiagramRecognizer.java
@@ -17,23 +17,39 @@ import com.hy.java.utility.common.Pair;
import com.hy.java.utility.common.Traverser;
import com.hy.java.utility.common.Traverser.FileNode;
+/**
+ * The ClassDiagramRecognizer can recognize a class diagram, and save the results in predefined separators
+ *
+ * First, it traverses the files under cd_dir, and find the image with the name repo_name.
+ *
+ * Second, it recognizes the classes and texts in the image by calling ClassDetector.recog().
+ *
+ * Third, it recognizes the relationships and the type symbols by calling ClassRelationDetector.recog().
+ *
+ * Then, it saves the results into a TEXT file. "#" means a class; "@" means the texts within a class (attributes, methods, etc.); "¥" and "%" means a relationship.
+ */
public class ClassDiagramRecognizer {
private static String temp_res_path = null;
public static void recog(String cd_dir, String repo_name) {
// 遍历cd_dir下的文件,寻找repo_name对应的图片,存在repo_cd_path中
+ // traverses the files under cd_dir, and find the image with the name repo_name
String repo_cd_path = findCD(cd_dir, repo_name);
if (repo_cd_path != null) {
// 导入OpenCV库,开始识别
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
/*
* 识别类图中的类
+ *
+ * recognizes the classes and texts in the image
*/
ClassDetector cls_detector = new ClassDetector(repo_cd_path);
cls_detector.recog();
Pair> classes = cls_detector.getResult();
/*
* 识别类图中的关系
+ *
+ * recognizes the relationships and the type symbols
*/
ClassRelationDetector cls_relation_detector = new ClassRelationDetector(repo_cd_path, classes);
cls_relation_detector.recog();
@@ -42,6 +58,8 @@ public class ClassDiagramRecognizer {
* 目前classes_with_relations中包含所有类。每个类包含这些信息:类名、属性、方法;关系(分为in和out)
*
* 将所有类整合为一个txt,以每个类为划分,包含每个类的信息
+ *
+ * saves the results into a TEXT file.
*/
// 图包路径+项目名称+.txt
FileEditor fe = new FileEditor(cd_dir + repo_name.replaceAll("/", "_") + ".txt");
@@ -55,6 +73,8 @@ public class ClassDiagramRecognizer {
* 每条关系之间用¥分隔。
*
* 每条关系内容:“%”分隔源、目标、类型
+ *
+ * "#" means a class; "@" means the texts within a class (attributes, methods, etc.); "¥" and "%" means a relationship.
*/
fe.write("(" + UML_class.whole.x + "," + UML_class.whole.y + ")", true);
fe.write(UML_class.getTitle() + "@", true);
diff --git a/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java b/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java
index 31b922862821403bfac7ba2de0ea0274f0a85699..d36caceb69ed01b460886044820ebe06343c8775 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java
@@ -3,6 +3,8 @@ package com.hy.java.uct.umlrecog;
public class UMLDiagramRecognizer {
/**
* 将要识别的类图放在cd_dir目录下
+ *
+ * put the diagrams under cd_dir
*/
private static final String cd_dir = System.getProperty("user.dir") + "\\src\\main\\resources\\cd\\";
@@ -18,6 +20,8 @@ public class UMLDiagramRecognizer {
/**
* 识别目录下指定的类图并将结果存为文件
*
+ * recognize the diagrams and save the results
+ *
* @param check
*/
public static void recogCD(String cd_dir, String repo_name, boolean to_check) {
@@ -45,6 +49,8 @@ public class UMLDiagramRecognizer {
* 测试一下识别特定的类图和顺序图
*
* 是否没有
+ *
+ * the diagram path can be changed in order to recognize it
*/
public static void main(String[] args) {
// 类图实验
diff --git a/src/main/java/com/hy/java/uct/umlrecog/cddetector/BizaareSituations.java b/src/main/java/com/hy/java/uct/umlrecog/cddetector/BizarreSituations.java
similarity index 83%
rename from src/main/java/com/hy/java/uct/umlrecog/cddetector/BizaareSituations.java
rename to src/main/java/com/hy/java/uct/umlrecog/cddetector/BizarreSituations.java
index 87a83a1bc845d0ecdd9b5fa2fb6796b5d2be20ac..a1a4682a97cc333d3663dfdc0132118b7d086bff 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/cddetector/BizaareSituations.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/cddetector/BizarreSituations.java
@@ -1,6 +1,9 @@
package com.hy.java.uct.umlrecog.cddetector;
-public class BizaareSituations {
+/**
+ * These are the bizarre situations within an image. They are processed through adjusting the corresponding thresholds
+ */
+public class BizarreSituations {
public static double rect_containing_tri_to_be_ext = 0.7;
public static double rect_not_containing_tri_still_to_be_ext = 0.5;
public static double rect_containing_bizaare_to_be_aggr = 0.3;
diff --git a/src/main/java/com/hy/java/uct/umlrecog/cddetector/ClassRelationDetector.java b/src/main/java/com/hy/java/uct/umlrecog/cddetector/ClassRelationDetector.java
index a635e62418f5161014234987d1163e6b8d028630..b6585ccba54a9e98ad782f536f29846adfeae2a7 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/cddetector/ClassRelationDetector.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/cddetector/ClassRelationDetector.java
@@ -590,7 +590,7 @@ public class ClassRelationDetector {
// the double-approximation, to get the shape of the relationship type symbol. The first approximation stretches the shape; the second approximation is more delicate
Imgproc.approxPolyDP(origin_curve, origin_approx_curve, 0.05 * Imgproc.arcLength(origin_curve, false), true);
Imgproc.approxPolyDP(origin_approx_curve, origin_approx_curve, 0.01 * Imgproc.arcLength(origin_approx_curve, true), true);
- double threshold = BizaareSituations.getThreshold(1, 1, 0, 1, 1, 1, 0);
+ double threshold = BizarreSituations.getThreshold(1, 1, 0, 1, 1, 1, 0);
// double threshold = BizaareSituations.getThreshold(1, 1, 0, 1, 1, 0, 0);
// double threshold = BizaareSituations.getThreshold(0.2, 0.3, 0.5, 0.55, 0.6, 0.1, 0.03);
// 如果逼近得到三角形,则基本就是继承了,再检查一下位置即可(其实检不检查作用不大)
@@ -627,20 +627,20 @@ public class ClassRelationDetector {
if (rect_possible_containing_ext.contains(temp_pt0) || rect_possible_containing_ext.contains(temp_pt1) || rect_possible_containing_ext.contains(temp_pt2)) {
// 看图是否异常
// some unexpected situations may influence the recognition
- if (threshold <= BizaareSituations.rect_containing_tri_to_be_ext) {
+ if (threshold <= BizarreSituations.rect_containing_tri_to_be_ext) {
type = "继承";
} else {
type = "依赖";
}
} else {
- if (threshold <= BizaareSituations.rect_not_containing_tri_still_to_be_ext) {
+ if (threshold <= BizarreSituations.rect_not_containing_tri_still_to_be_ext) {
type = "继承";
} else {
type = "依赖";
}
}
} else {
- if (threshold <= BizaareSituations.rect_containing_bizaare_to_be_aggr) {
+ if (threshold <= BizarreSituations.rect_containing_bizaare_to_be_aggr) {
type = "聚合";
} else {
type = "依赖";
diff --git a/src/main/java/com/hy/java/uct/umlrecog/util/ImgProcessor.java b/src/main/java/com/hy/java/uct/umlrecog/util/ImgProcessor.java
index 6b26c6a08566cf5831bfcce8bb88be55420ce529..9e3f47cc98b674a9ea33cc60dd96d716774e1c51 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/util/ImgProcessor.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/util/ImgProcessor.java
@@ -7,6 +7,8 @@ import org.opencv.core.Rect;
public class ImgProcessor {
/**
* 图片裁剪。裁剪src中的矩形区域
+ *
+ * Cut an area within an image
*/
public static Mat cutImage(Mat src, Rect rect) {
Mat result = new Mat();
@@ -24,6 +26,8 @@ public class ImgProcessor {
/**
* 基于line的端点pt的坐标,延着line向着该端点的方向延伸,延伸长度为l。若reverse为真,则反向延伸
*
+ * extend a line's endpoint by 1. If reverse is true, instead shrink the line
+ *
* @return 延伸后的一个Point
*/
public static Point reachPt(Point pt, Line line, double l, boolean reverse) {
@@ -34,6 +38,7 @@ public class ImgProcessor {
flag = -1.0;
}
// 如果折线端点所在线段的斜率是无穷大,则只延长坐标y即可
+ // if the k is infinite, then extend the y coordinate
if (k_str == "无穷大") {
// 根据坐标y的方向进行延长
if (line.otherPt(pt).y - pt.y <= 0) {
diff --git a/src/main/java/com/hy/java/uct/umlrecog/util/Line.java b/src/main/java/com/hy/java/uct/umlrecog/util/Line.java
index 17d5b9387543214c9e4aabd9f453d156f21b9a2b..83324407ea8e18bc4969da216404fcdd245a1b5a 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/util/Line.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/util/Line.java
@@ -36,11 +36,15 @@ public class Line {
* 判断一条直线是否与另一条直线重合。如果重合,则记录另一条直线为near_line;如果某一端点与另一条直线重合,则同时记录该端点和另一条直线的端点为near_points
*
* 只在处理“原始直线”集时使用,即去除冗余或合并时使用。之后不再使用
+ *
+ * check if a line is overlapped with another line
*/
public boolean isCoincideWith(Line line) {
boolean result = false;
/*
* 判断该直线端点是否与另一条直线重合。即“是否与另一条直线的某一端点接近”
+ *
+ * check if the endpoints are close to each other
*/
Pair if_pt1_near_line = Line.ptNearLine(pt1, line);
Pair if_pt2_near_line = Line.ptNearLine(pt2, line);
@@ -50,6 +54,7 @@ public class Line {
line.init_merge_with = this;
}
// 如果该直线某一个端点与另一条直线重合,且两条直线斜率接近,则也认为两条直线重合
+ // check the ks
else if (if_pt1_near_line.getLeft() || if_pt2_near_line.getLeft()) {
// 既然有点重合,则可先检查斜率
result = Line.Knear(this, line);
@@ -73,6 +78,8 @@ public class Line {
* 判断某一点是否与另一条直线重合。即“是否与另一条直线的某一端点接近”、“是否在另一条直线内”。记录接近的直线端点
*
* 在识别直线、去除冗余时使用,其他时候不要用
+ *
+ * check if a point is overlapped with another line
*/
public static Pair ptNearLine(Point pt, Line line) {
Pair result = new Pair<>(false, null);
@@ -103,6 +110,8 @@ public class Line {
/**
* 判断两点是否接近。如果要判断的是两个端点,则check_in_line==false;如果要判断的p1在line中、且p2是line的端点,则check_in_line==true,且threshold=line.length()/2
*
+ * check if two points are close to each other
+ *
* @param p1
* @param p2
* @param check_in_line
@@ -133,6 +142,8 @@ public class Line {
/**
* 判断点是否在直线内。计算点到直线距离,与阈值比较。如果是关系线与元素对比,则阈值可以大一点
*
+ * check if a point is just within a line
+ *
* @param pt 点
* @param line 直线
*/
@@ -150,6 +161,8 @@ public class Line {
/**
* 判断两条直线斜率是否接近
+ *
+ * check if two lines have the similar ks
*/
public static boolean Knear(Line l1, Line l2) {
boolean result = false;
@@ -170,6 +183,7 @@ public class Line {
* 获得直线斜率
*/
public static String getK(Line line) {
+ // infinite k
if (Math.abs(line.pt1.x - line.pt2.x) <= 5) {
return "无穷大";
} else {
diff --git a/src/main/java/com/hy/java/uct/umlrecog/util/Rectangle.java b/src/main/java/com/hy/java/uct/umlrecog/util/Rectangle.java
index ee787b34b321e9c1c4ce9f7ff69a58ab2df935e5..5a02da3d461169da68fa8c02d5f3f860d53c94bc 100644
--- a/src/main/java/com/hy/java/uct/umlrecog/util/Rectangle.java
+++ b/src/main/java/com/hy/java/uct/umlrecog/util/Rectangle.java
@@ -9,6 +9,9 @@ import org.opencv.core.MatOfPoint2f;
import org.opencv.core.Point;
import org.opencv.core.Rect;
+/**
+ * The raw rectangles
+ */
public class Rectangle extends Rect {
private Mat mat;
private MatOfPoint contour;
diff --git a/src/main/java/com/hy/java/uct/util/cd/ImgRelation.java b/src/main/java/com/hy/java/uct/util/cd/ImgRelation.java
index 544870a9320adfc3075efdb58d9e9723eeff369d..82d183c09b0b8dcdfafae26c10d8e9f99bfc0bb1 100644
--- a/src/main/java/com/hy/java/uct/util/cd/ImgRelation.java
+++ b/src/main/java/com/hy/java/uct/util/cd/ImgRelation.java
@@ -2,6 +2,9 @@ package com.hy.java.uct.util.cd;
import com.hy.java.uct.umlrecog.util.PolygonalLine;
+/**
+ * Relationship
+ */
public class ImgRelation {
public PolygonalLine poly_line;
public UMLClass source;
diff --git a/src/main/java/com/hy/java/uct/util/cd/UMLClass.java b/src/main/java/com/hy/java/uct/util/cd/UMLClass.java
index 398456c820c7c2495137e182e93424068eab8a24..966884c1e0caf79cf307664f0e932189ece55f2d 100644
--- a/src/main/java/com/hy/java/uct/util/cd/UMLClass.java
+++ b/src/main/java/com/hy/java/uct/util/cd/UMLClass.java
@@ -9,6 +9,9 @@ import com.hy.java.uct.cdtocode.util.Entity;
import com.hy.java.uct.cdtocode.util.MappedFile;
import com.hy.java.uct.umlrecog.util.Rectangle;
+/**
+ * An object representing the UML class, with its graphical information and semantic information
+ */
public class UMLClass {
/**
* 初始检测时用。后续不再使用
diff --git a/src/main/resources/cdtocode/Apache OODT File Manager-NBAttract.xls b/src/main/resources/cdtocode/Apache OODT File Manager-NBAttract.xls
new file mode 100644
index 0000000000000000000000000000000000000000..005b2580e559b1dae36f590740eb27ccb087e881
Binary files /dev/null and b/src/main/resources/cdtocode/Apache OODT File Manager-NBAttract.xls differ
diff --git a/src/main/resources/cdtocode/Hadoop HDFS-NBAttract.xls b/src/main/resources/cdtocode/Hadoop HDFS-NBAttract.xls
new file mode 100644
index 0000000000000000000000000000000000000000..7ce8e6e4a349109e53523dc9f45013c0c87aabfc
Binary files /dev/null and b/src/main/resources/cdtocode/Hadoop HDFS-NBAttract.xls differ
diff --git a/src/main/resources/cdtocode/Hadoop MapReduce-NBAttract.xls b/src/main/resources/cdtocode/Hadoop MapReduce-NBAttract.xls
new file mode 100644
index 0000000000000000000000000000000000000000..39f065d7e1aa51239c194c53e0333145f17c1a83
Binary files /dev/null and b/src/main/resources/cdtocode/Hadoop MapReduce-NBAttract.xls differ