new version

This commit is contained in:
mimic
2019-03-03 11:42:44 +01:00
parent 711f8776c6
commit ea93442150
96 changed files with 3169 additions and 190 deletions
Generated
+1
View File
@@ -0,0 +1 @@
FixPatternMiner
+27
View File
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="client" />
<module name="client.diff" />
<module name="core" />
<module name="FixPatternMiner" />
<module name="gen.jdt" />
<module name="simple-utils" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="client" target="1.8" />
<module name="client.diff" target="1.8" />
<module name="core" target="1.8" />
<module name="FixPatternMiner" target="1.8" />
<module name="gen.jdt" target="1.8" />
<module name="gumtree" target="1.8" />
<module name="simple-utils" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM">
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/../gumtree" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/../gumtree/client" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/../gumtree/client.diff" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/../gumtree/core" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/../gumtree/gen.jdt" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/../simple-utils" charset="UTF-8" />
</component>
</project>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-classic:1.1.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.2/logback-classic-1.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.2/logback-classic-1.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.2/logback-classic-1.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-classic:1.1.7">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-classic:1.2.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-core:1.1.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.2/logback-core-1.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.2/logback-core-1.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.2/logback-core-1.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-core:1.1.7">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-core:1.2.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.github.mpkorstanje:simmetrics-core:3.0.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/github/mpkorstanje/simmetrics-core/3.0.3/simmetrics-core-3.0.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/github/mpkorstanje/simmetrics-core/3.0.3/simmetrics-core-3.0.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/github/mpkorstanje/simmetrics-core/3.0.3/simmetrics-core-3.0.3-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.code.findbugs:jsr305:1.3.9">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.code.gson:gson:2.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.3/gson-2.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.3/gson-2.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.3/gson-2.3-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:guava:11.0.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/11.0.2/guava-11.0.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/11.0.2/guava-11.0.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/11.0.2/guava-11.0.2-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:guava:18.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/18.0/guava-18.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/18.0/guava-18.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/18.0/guava-18.0-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.nanohttpd:nanohttpd:2.1.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/nanohttpd/nanohttpd/2.1.1/nanohttpd-2.1.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/nanohttpd/nanohttpd/2.1.1/nanohttpd-2.1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/nanohttpd/nanohttpd/2.1.1/nanohttpd-2.1.1-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.nanohttpd:nanohttpd-webserver:2.1.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/nanohttpd/nanohttpd-webserver/2.1.1/nanohttpd-webserver-2.1.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/nanohttpd/nanohttpd-webserver/2.1.1/nanohttpd-webserver-2.1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/nanohttpd/nanohttpd-webserver/2.1.1/nanohttpd-webserver-2.1.1-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.rabbitmq:amqp-client:4.0.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/rabbitmq/amqp-client/4.0.0/amqp-client-4.0.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/rabbitmq/amqp-client/4.0.0/amqp-client-4.0.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/rabbitmq/amqp-client/4.0.0/amqp-client-4.0.0-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.sparkjava:spark-core:2.6.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/sparkjava/spark-core/2.6.0/spark-core-2.6.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/sparkjava/spark-core/2.6.0/spark-core-2.6.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/sparkjava/spark-core/2.6.0/spark-core-2.6.0-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.typesafe.akka:akka-actor_2.11:2.4.11">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/typesafe/akka/akka-actor_2.11/2.4.11/akka-actor_2.11-2.4.11.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/typesafe/akka/akka-actor_2.11/2.4.11/akka-actor_2.11-2.4.11-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/typesafe/akka/akka-actor_2.11/2.4.11/akka-actor_2.11-2.4.11-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.typesafe:config:1.3.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/typesafe/config/1.3.0/config-1.3.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/typesafe/config/1.3.0/config-1.3.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/typesafe/config/1.3.0/config-1.3.0-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: commons-codec:commons-codec:1.10">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.10/commons-codec-1.10.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.10/commons-codec-1.10-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.10/commons-codec-1.10-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: commons-codec:commons-codec:1.9">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.9/commons-codec-1.9.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.9/commons-codec-1.9-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.9/commons-codec-1.9-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: dom4j:dom4j:1.6.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: javax.servlet:javax.servlet-api:3.1.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: junit:junit:3.8.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: junit:junit:4.11">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.11/junit-4.11.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.11/junit-4.11-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.11/junit-4.11-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: junit:junit:4.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: log4j:log4j:1.2.14">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.14/log4j-1.2.14-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: net.sf.trove4j:trove4j:3.0.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: net.sourceforge.jexcelapi:jxl:2.6.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-lang3:3.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-lang3:3.7">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-pool2:2.4.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-text:1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-text/1.3/commons-text-1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-text/1.3/commons-text-1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-text/1.3/commons-text-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.poi:poi:3.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.12/poi-3.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.12/poi-3.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.12/poi-3.12-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.poi:poi-ooxml:3.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml/3.12/poi-ooxml-3.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml/3.12/poi-ooxml-3.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml/3.12/poi-ooxml-3.12-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.poi:poi-ooxml-schemas:3.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml-schemas/3.12/poi-ooxml-schemas-3.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml-schemas/3.12/poi-ooxml-schemas-3.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml-schemas/3.12/poi-ooxml-schemas-3.12-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.6.0/xmlbeans-2.6.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.6.0/xmlbeans-2.6.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.6.0/xmlbeans-2.6.0-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.birt.runtime:org.eclipse.core.resources:3.10.0.v20150423-0755">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/birt/runtime/org.eclipse.core.resources/3.10.0.v20150423-0755/org.eclipse.core.resources-3.10.0.v20150423-0755.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/birt/runtime/org.eclipse.core.resources/3.10.0.v20150423-0755/org.eclipse.core.resources-3.10.0.v20150423-0755-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/birt/runtime/org.eclipse.core.resources/3.10.0.v20150423-0755/org.eclipse.core.resources-3.10.0.v20150423-0755-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.core:contenttype:3.4.200-v20140207-1251">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/contenttype/3.4.200-v20140207-1251/contenttype-3.4.200-v20140207-1251.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/contenttype/3.4.200-v20140207-1251/contenttype-3.4.200-v20140207-1251-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/contenttype/3.4.200-v20140207-1251/contenttype-3.4.200-v20140207-1251-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.core:jobs:3.6.0-v20140424-0053">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/jobs/3.6.0-v20140424-0053/jobs-3.6.0-v20140424-0053.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/jobs/3.6.0-v20140424-0053/jobs-3.6.0-v20140424-0053-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/jobs/3.6.0-v20140424-0053/jobs-3.6.0-v20140424-0053-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.core:runtime:3.10.0-v20140318-2214">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/runtime/3.10.0-v20140318-2214/runtime-3.10.0-v20140318-2214.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/runtime/3.10.0-v20140318-2214/runtime-3.10.0-v20140318-2214-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/core/runtime/3.10.0-v20140318-2214/runtime-3.10.0-v20140318-2214-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.equinox:app:1.3.200-v20130910-1609">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/app/1.3.200-v20130910-1609/app-1.3.200-v20130910-1609.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/app/1.3.200-v20130910-1609/app-1.3.200-v20130910-1609-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/app/1.3.200-v20130910-1609/app-1.3.200-v20130910-1609-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.equinox:common:3.6.200-v20130402-1505">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/common/3.6.200-v20130402-1505/common-3.6.200-v20130402-1505.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/common/3.6.200-v20130402-1505/common-3.6.200-v20130402-1505-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/common/3.6.200-v20130402-1505/common-3.6.200-v20130402-1505-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.equinox:preferences:3.5.200-v20140224-1527">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/preferences/3.5.200-v20140224-1527/preferences-3.5.200-v20140224-1527.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/preferences/3.5.200-v20140224-1527/preferences-3.5.200-v20140224-1527-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/preferences/3.5.200-v20140224-1527/preferences-3.5.200-v20140224-1527-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.equinox:registry:3.5.400-v20140428-1507">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/registry/3.5.400-v20140428-1507/registry-3.5.400-v20140428-1507.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/registry/3.5.400-v20140428-1507/registry-3.5.400-v20140428-1507-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/equinox/registry/3.5.400-v20140428-1507/registry-3.5.400-v20140428-1507-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-client:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/9.4.4.v20170414/jetty-client-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/9.4.4.v20170414/jetty-client-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/9.4.4.v20170414/jetty-client-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-http:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/9.4.4.v20170414/jetty-http-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/9.4.4.v20170414/jetty-http-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/9.4.4.v20170414/jetty-http-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-io:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/9.4.4.v20170414/jetty-io-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/9.4.4.v20170414/jetty-io-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/9.4.4.v20170414/jetty-io-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-security:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/9.4.4.v20170414/jetty-security-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/9.4.4.v20170414/jetty-security-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/9.4.4.v20170414/jetty-security-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-server:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/9.4.4.v20170414/jetty-server-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/9.4.4.v20170414/jetty-server-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/9.4.4.v20170414/jetty-server-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-servlet:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/9.4.4.v20170414/jetty-servlet-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/9.4.4.v20170414/jetty-servlet-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/9.4.4.v20170414/jetty-servlet-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-util:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/9.4.4.v20170414/jetty-util-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/9.4.4.v20170414/jetty-util-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/9.4.4.v20170414/jetty-util-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-webapp:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/9.4.4.v20170414/jetty-webapp-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/9.4.4.v20170414/jetty-webapp-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/9.4.4.v20170414/jetty-webapp-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty:jetty-xml:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/9.4.4.v20170414/jetty-xml-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/9.4.4.v20170414/jetty-xml-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/9.4.4.v20170414/jetty-xml-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty.websocket:websocket-api:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-api/9.4.4.v20170414/websocket-api-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-api/9.4.4.v20170414/websocket-api-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-api/9.4.4.v20170414/websocket-api-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty.websocket:websocket-client:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-client/9.4.4.v20170414/websocket-client-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-client/9.4.4.v20170414/websocket-client-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-client/9.4.4.v20170414/websocket-client-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty.websocket:websocket-common:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-common/9.4.4.v20170414/websocket-common-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-common/9.4.4.v20170414/websocket-common-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-common/9.4.4.v20170414/websocket-common-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty.websocket:websocket-server:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-server/9.4.4.v20170414/websocket-server-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-server/9.4.4.v20170414/websocket-server-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-server/9.4.4.v20170414/websocket-server-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.jetty.websocket:websocket-servlet:9.4.4.v20170414">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-servlet/9.4.4.v20170414/websocket-servlet-9.4.4.v20170414.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-servlet/9.4.4.v20170414/websocket-servlet-9.4.4.v20170414-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-servlet/9.4.4.v20170414/websocket-servlet-9.4.4.v20170414-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse:osgi:3.10.0-v20140606-1445">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/osgi/3.10.0-v20140606-1445/osgi-3.10.0-v20140606-1445.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/osgi/3.10.0-v20140606-1445/osgi-3.10.0-v20140606-1445-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/osgi/3.10.0-v20140606-1445/osgi-3.10.0-v20140606-1445-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.eclipse.tycho:org.eclipse.jdt.core:3.12.2.v20161117-1814">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/tycho/org.eclipse.jdt.core/3.12.2.v20161117-1814/org.eclipse.jdt.core-3.12.2.v20161117-1814.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/tycho/org.eclipse.jdt.core/3.12.2.v20161117-1814/org.eclipse.jdt.core-3.12.2.v20161117-1814-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/tycho/org.eclipse.jdt.core/3.12.2.v20161117-1814/org.eclipse.jdt.core-3.12.2.v20161117-1814-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.hamcrest:hamcrest-core:1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.javassist:javassist:3.16.1-GA">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.16.1-GA/javassist-3.16.1-GA.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.16.1-GA/javassist-3.16.1-GA-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.16.1-GA/javassist-3.16.1-GA-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.javatuples:javatuples:1.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/javatuples/javatuples/1.2/javatuples-1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/javatuples/javatuples/1.2/javatuples-1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/javatuples/javatuples/1.2/javatuples-1.2-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.reflections:reflections:0.9.9-RC1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/reflections/reflections/0.9.9-RC1/reflections-0.9.9-RC1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/reflections/reflections/0.9.9-RC1/reflections-0.9.9-RC1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/reflections/reflections/0.9.9-RC1/reflections-0.9.9-RC1-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.rendersnake:rendersnake:1.8">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/rendersnake/rendersnake/1.8/rendersnake-1.8.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/rendersnake/rendersnake/1.8/rendersnake-1.8-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/rendersnake/rendersnake/1.8/rendersnake-1.8-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.scala-lang.modules:scala-java8-compat_2.11:0.7.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/modules/scala-java8-compat_2.11/0.7.0/scala-java8-compat_2.11-0.7.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/modules/scala-java8-compat_2.11/0.7.0/scala-java8-compat_2.11-0.7.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/modules/scala-java8-compat_2.11/0.7.0/scala-java8-compat_2.11-0.7.0-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.scala-lang:scala-library:2.11.8">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.13">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.13/slf4j-api-1.7.13.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.13/slf4j-api-1.7.13-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.13/slf4j-api-1.7.13-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.21">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.25">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.7">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: redis.clients:jedis:2.8.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/redis/clients/jedis/2.8.1/jedis-2.8.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/redis/clients/jedis/2.8.1/jedis-2.8.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/redis/clients/jedis/2.8.1/jedis-2.8.1-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: stax:stax-api:1.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>
+13
View File
@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: xml-apis:xml-apis:1.0.b2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar!/" />
</SOURCES>
</library>
</component>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
<option value="$PROJECT_DIR$/../gumtree/pom.xml" />
<option value="$PROJECT_DIR$/../simple-utils/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/FixPatternMiner.iml" filepath="$PROJECT_DIR$/FixPatternMiner.iml" />
<module fileurl="file://$PROJECT_DIR$/../gumtree/client/client.iml" filepath="$PROJECT_DIR$/../gumtree/client/client.iml" />
<module fileurl="file://$PROJECT_DIR$/../gumtree/client.diff/client.diff.iml" filepath="$PROJECT_DIR$/../gumtree/client.diff/client.diff.iml" />
<module fileurl="file://$PROJECT_DIR$/../gumtree/core/core.iml" filepath="$PROJECT_DIR$/../gumtree/core/core.iml" />
<module fileurl="file://$PROJECT_DIR$/../gumtree/gen.jdt/gen.jdt.iml" filepath="$PROJECT_DIR$/../gumtree/gen.jdt/gen.jdt.iml" />
<module fileurl="file://$PROJECT_DIR$/../gumtree/gumtree.iml" filepath="$PROJECT_DIR$/../gumtree/gumtree.iml" />
<module fileurl="file://$PROJECT_DIR$/../simple-utils/simple-utils.iml" filepath="$PROJECT_DIR$/../simple-utils/simple-utils.iml" />
</modules>
</component>
</project>
Generated
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/../gumtree" vcs="Git" />
<mapping directory="$PROJECT_DIR$/../simple-utils" vcs="Git" />
</component>
</project>
+1218
View File
File diff suppressed because it is too large Load Diff
+11 -10
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
@@ -10,7 +10,17 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: edu.lu.uni:simple-utils:0.0.1-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.javatuples:javatuples:1.2" level="project" />
<orderEntry type="module" module-name="simple-utils" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.12" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.12" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.14" level="project" />
<orderEntry type="library" name="Maven: com.typesafe.akka:akka-actor_2.11:2.4.11" level="project" />
<orderEntry type="library" name="Maven: org.scala-lang:scala-library:2.11.8" level="project" />
<orderEntry type="library" name="Maven: com.typesafe:config:1.3.0" level="project" />
@@ -18,18 +28,9 @@
<orderEntry type="module" module-name="core" />
<orderEntry type="library" name="Maven: com.github.mpkorstanje:simmetrics-core:3.0.3" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
<orderEntry type="library" name="Maven: net.sf.trove4j:trove4j:3.0.3" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.3" level="project" />
<orderEntry type="module" module-name="gen.jdt" />
<orderEntry type="library" name="Maven: edu.lu.uni:simple-utils:0.0.1-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.12" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.14" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.core:runtime:3.10.0-v20140318-2214" level="project" />
<orderEntry type="library" name="Maven: org.eclipse:osgi:3.10.0-v20140606-1445" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.equinox:common:3.6.200-v20130402-1505" level="project" />
+210
View File
@@ -0,0 +1,210 @@
diff --git a/.gitignore b/.gitignore
index 24cae48..27c7ba3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@ GumTreeInput/
GumTreeInput1/
GumTreeOutput1/
GumTreeResults/
+.idea/*
*/Test.java
*TestParser.java
diff --git a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java
index 4d885ea..eb1eca1 100644
--- a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java
+++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java
@@ -1,5 +1,9 @@
package edu.lu.uni.serval.FixPatternParser.violations;
+import com.github.gumtreediff.actions.model.Delete;
+import com.github.gumtreediff.actions.model.Insert;
+import com.github.gumtreediff.actions.model.Move;
+import com.github.gumtreediff.actions.model.Update;
import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet;
import java.io.*;
@@ -30,27 +34,29 @@ public class FixedViolationHunkParser extends FixedViolationParser {
public void parseFixPatterns(File prevFile, File revFile, File diffentryFile,String project) {
List<HierarchicalActionSet> actionSets = parseChangedSourceCodeWithGumTree2(prevFile, revFile);
if (actionSets.size() != 0) {
-// boolean isUpdate =
-// actionSets.stream().allMatch(p -> p.getAction() instanceof Update);
-// boolean isInsert =
-// actionSets.stream().allMatch(p -> p.getAction() instanceof Insert);
-// boolean isDelete =
-// actionSets.stream().allMatch(p -> p.getAction() instanceof Delete);
-// boolean isMove =
-// actionSets.stream().allMatch(p -> p.getAction() instanceof Move);
int hunkSet = 0;
// if (isUpdate || isInsert || isDelete || isMove) {
for (HierarchicalActionSet actionSet : actionSets) {
- String folder = "/ALL/";
-// if (isUpdate) {
-// folder = "/UPD/";
-// } else if (isDelete) {
-// folder = "/DEL/";
-// } else if (isInsert) {
-// folder = "/INS/";
-// } else if (isMove) {
-// folder = "/MOV/";
-// }
+ boolean isUpdate =
+ actionSets.stream().allMatch(p -> p.getAction() instanceof Update);
+ boolean isInsert =
+ actionSets.stream().allMatch(p -> p.getAction() instanceof Insert);
+ boolean isDelete =
+ actionSets.stream().allMatch(p -> p.getAction() instanceof Delete);
+ boolean isMove =
+ actionSets.stream().allMatch(p -> p.getAction() instanceof Move);
+ String folder = "/MIX/";
+ if (isUpdate) {
+ folder = "/UPD/";
+ } else if (isDelete) {
+ folder = "/DEL/";
+ } else if (isInsert) {
+ folder = "/INS/";
+ } else if (isMove) {
+ folder = "/MOV/";
+ } else{
+ folder = "/MIX/";
+ }
FileOutputStream f = null;
diff --git a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java b/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java
index 3084dbe..ffe1b01 100644
--- a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java
+++ b/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java
@@ -61,7 +61,7 @@ public class ParseFixPatternWorker extends UntypedActor {
int testInfos = 0;
int timeouts = 0;
StringBuilder builder = new StringBuilder();
-
+// log.info("Work queue size " + files.size());
for (MessageFile msgFile : files) {
File revFile = msgFile.getRevFile();
File prevFile = msgFile.getPrevFile();
diff --git a/src/main/java/edu/lu/uni/serval/config/Configuration.java b/src/main/java/edu/lu/uni/serval/config/Configuration.java
index 4421c72..7162180 100644
--- a/src/main/java/edu/lu/uni/serval/config/Configuration.java
+++ b/src/main/java/edu/lu/uni/serval/config/Configuration.java
@@ -2,6 +2,6 @@ package edu.lu.uni.serval.config;
public class Configuration {
- public static final long SECONDS_TO_WAIT = 900L;
+ public static final long SECONDS_TO_WAIT = 90000L;
}
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java b/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java
index 43895e0..066b07d 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java
@@ -5,7 +5,7 @@ import akka.actor.ActorSystem;
import edu.lu.uni.serval.MultipleThreadsParser.MessageFile;
import edu.lu.uni.serval.MultipleThreadsParser.ParseFixPatternActor;
import edu.lu.uni.serval.MultipleThreadsParser.WorkMessage;
-import edu.lu.uni.serval.utils.FileHelper;
+import edu.lu.uni.serval.FixPattern.utils.FileHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +13,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Locale;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -31,6 +32,7 @@ public class EnhancedASTDiff {
Stream<File> stream = Arrays.stream(listOfFiles);
List<File> folders = stream
.filter(x -> !x.getName().startsWith("."))
+// .filter(x -> x.getName().startsWith("JDT"))
.collect(Collectors.toList());
@@ -49,11 +51,11 @@ public class EnhancedASTDiff {
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/INS");
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/DEL");
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MOV");
- FileHelper.createDirectory(GUM_TREE_OUTPUT + "/ALL");
+ FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MIX");
int a = 0;
-
+ log.info("Work queue size " + msgFiles.size());
ActorSystem system = null;
ActorRef parsingActor = null;
final WorkMessage msg = new WorkMessage(0, msgFiles);
@@ -80,6 +82,11 @@ public class EnhancedASTDiff {
if (revFiles.length >= 0) {
for (File revFile : revFiles) {
String fileName = revFile.getName();
+ if(fileName.toLowerCase(Locale.ENGLISH).contains("test")){
+ log.info(fileName);
+ continue;
+ }
+
File prevFile = new File(gumTreeInput + "prevFiles/prev_" + fileName);// previous file
fileName = fileName.replace(".java", ".txt");
File diffentryFile = new File(gumTreeInput + "DiffEntries/" + fileName); // DiffEntry file
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java b/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java
index 44575a7..88f36c6 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java
@@ -5,7 +5,7 @@ import akka.actor.ActorSystem;
import edu.lu.uni.serval.MultipleThreadsParser.MessageFile;
import edu.lu.uni.serval.MultipleThreadsParser.ParseFixPatternActor;
import edu.lu.uni.serval.MultipleThreadsParser.WorkMessage;
-import edu.lu.uni.serval.utils.FileHelper;
+import edu.lu.uni.serval.FixPattern.utils.FileHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java
index 9c1d05d..3dceda0 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java
@@ -37,7 +37,7 @@ public class CallShell {
}
// Thread.sleep(Integer.valueOf(serverWait));
- String cmd = "redis-cli -p %s ping";
+ String cmd = "bash source activate redisEnv && redis-cli -p %s ping";
String cmd1 = String.format(cmd,Integer.valueOf(port));
runPing(cmd1);
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java
index 39bba51..8657dce 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java
@@ -52,13 +52,15 @@ public class StoreEDiffInCache {
.filter(x -> x.getName().startsWith("UPD") ||
x.getName().startsWith("INS") ||
x.getName().startsWith("DEL") ||
+ x.getName().startsWith("MIX") ||
x.getName().startsWith("MOV"))
.collect(Collectors.toList());
File[] files1 = fs.get(0).listFiles();
File[] files2 = fs.get(1).listFiles();
File[] files3 = fs.get(2).listFiles();
File[] files4 = fs.get(3).listFiles();
- dumps = Stream.of(files1, files2, files3,files4).flatMap(Stream::of).toArray(File[]::new);
+ File[] files5 = fs.get(4).listFiles();
+ dumps = Stream.of(files1, files2, files3,files4,files5).flatMap(Stream::of).toArray(File[]::new);
}else{
fs = fileStream
.filter(x -> x.getName().startsWith(operation))
@@ -70,7 +72,7 @@ public class StoreEDiffInCache {
for (File f : dumps) {
String name = f.getName();
- String key = pjName + "/"+ operation+"/" + name;
+ String key = pjName + f.getPath().replace(pj.getPath(),"");
String result = key +","+f.getPath();
workList.add(result);
}
+6 -6
View File
@@ -25,11 +25,11 @@
<version>1.2</version>
</dependency>
<!--<dependency>-->
<!--<groupId>edu.lu.uni</groupId>-->
<!--<artifactId>simple-utils</artifactId>-->
<!--<version>0.0.1-SNAPSHOT</version>-->
<!--</dependency>-->
<dependency>
<groupId>edu.lu.uni</groupId>
<artifactId>simple-utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- akka -->
<dependency>
@@ -135,7 +135,7 @@
<archive>
<manifest>
<mainClass>
edu.lu.uni.serval.fixminer.Launcher
edu.lu.uni.serval.fixminer.akka.compare.CompareTrees
</mainClass>
</manifest>
</archive>
@@ -68,7 +68,7 @@ public class Launcher {
gumInput = datasetPath +"/"+pjName+"/";
gumOutput = datasetPath + "/EnhancedASTDiff" + pjName;
dbDir = datasetPath + "/redis";
pairsPath = datasetPath + "/pairsImport"+pjName;
pairsPath = datasetPath + "/pairs";
dumpsName = "dumps-"+pjName+".rdb";
int iCursor = Integer.valueOf(cursor);
@@ -81,11 +81,11 @@ public class Launcher {
StoreEDiffInCache.main(gumOutput, portDumps, dbDir, actionType+dumpsName,actionType);
break;
case "SI":
CalculatePairs.main(dbDir, actionType+dumpsName, portDumps, pairsPath+actionType, pjName+actionType,isBigPair,iCursor);
ImportPairs2DB.main(pairsPath+actionType, portInner, dbDir,datasetPath,chunk);
// CalculatePairs.main(dbDir, actionType+dumpsName, portDumps, pairsPath+actionType, pjName+actionType,isBigPair,iCursor);
ImportPairs2DB.main(pairsPath, portInner, dbDir,datasetPath,chunk);
break;
case "SIMI":
AkkaTreeLoader.main(portInner, dbDir, pjName +actionType+chunk+".rdb" , portDumps, actionType+dumpsName,pairsPath+actionType,numOfWorkers,iCursor,chunk,eDiffTimeout,parallelism);
AkkaTreeLoader.main(portInner, dbDir, "pairs.rdb" , portDumps, actionType+dumpsName,pairsPath,numOfWorkers,iCursor,chunk,eDiffTimeout,parallelism);
break;
case "LEVEL1":
@@ -136,9 +136,9 @@ public class Launcher {
private static void level2(String port, String pythonPath, String datasetPath, String pjName, String actionType, String threshold, String dbDir, String dumpsName, String gumInput,int cursor) throws Exception {
String stopServer;
MultiThreadTreeLoaderCluster.calculatePairsOfClusters(datasetPath + "/cluster"+pjName+ actionType, datasetPath,actionType);
// MultiThreadTreeLoaderCluster.calculatePairsOfClusters(datasetPath + "/cluster"+pjName+ actionType, datasetPath,actionType);
MultiThreadTreeLoaderCluster.mainCompare("6300", datasetPath+"/pairs"+actionType, datasetPath + "/redisSingleImport.sh", dbDir, "clusterl1-"+pjName+actionType+".rdb", actionType+dumpsName, "6301",actionType,cursor);
MultiThreadTreeLoaderCluster.mainCompare(port, datasetPath+"/pairsAction", datasetPath + "/redisSingleImport.sh", dbDir, "clusterl1-"+pjName+actionType+".rdb", actionType+dumpsName, "6380",actionType,cursor);
CallShell cs3 =new CallShell();
String db22 = "bash "+dbDir + "/" + "startServer.sh" +" %s %s %s";
@@ -87,7 +87,8 @@ public class AkkaTreeParser {
log.info("Scanning ");
sc.count(cursor);
sc.match("pair_[0-9]*");
sc.match("*");
// sc.match("pair_[0-9]*");
scan = inner.scan("0", sc);
int size = scan.getResult().size();
@@ -38,11 +38,12 @@ public class Compare {
String i = split[1];
String j = split[2];
String keyName = split[0];
oldTree = EDiffHelper.getSimpliedTree(i,outerPool);
oldTree = EDiffHelper.getSimpliedTree(keyName,i,outerPool);
newTree = EDiffHelper.getSimpliedTree(j,outerPool);
newTree = EDiffHelper.getSimpliedTree(keyName,j,outerPool);
Matcher m = Matchers.getInstance().getMatcher(oldTree, newTree);
m.match();
@@ -66,7 +67,7 @@ public class Compare {
if (((Double) chawatheSimilarity1).equals(1.0) || ((Double) diceSimilarity1).equals(1.0)
|| ((Double) jaccardSimilarity1).equals(1.0) || actions.size() == 0) {
String matchKey = "match_" + (String.valueOf(i)) + "_" + String.valueOf(j);
String matchKey = keyName+"_" + (String.valueOf(i)) + "_" + String.valueOf(j);
log.info("{} tagged to be similar" ,matchKey);
jedis.select(1);
@@ -76,7 +77,7 @@ public class Compare {
jedis.select(0);
jedis.del("pair_" + (String.valueOf(i)) + "_" + String.valueOf(j));
jedis.del(keyName+"_" + (String.valueOf(i)) + "_" + String.valueOf(j));
@@ -0,0 +1,197 @@
package edu.lu.uni.serval.fixminer.akka.compare;
import com.github.gumtreediff.actions.ActionGenerator;
import com.github.gumtreediff.actions.model.Action;
import com.github.gumtreediff.matchers.Matcher;
import com.github.gumtreediff.matchers.Matchers;
import com.github.gumtreediff.tree.ITree;
import edu.lu.uni.serval.utils.EDiffHelper;
import edu.lu.uni.serval.utils.PoolBuilder;
import org.apache.commons.text.similarity.JaroWinklerDistance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static edu.lu.uni.serval.fixminer.jobs.MultiThreadTreeLoaderCluster3.getNames;
/**
* Created by anilkoyuncu on 03/04/2018.
*/
public class CompareTrees {
private static Logger log = LoggerFactory.getLogger(CompareTrees.class);
public static void main(String[] args) throws IOException {
String portInner = "6380";
String port = "6399";
//
JedisPool innerPool = new JedisPool(PoolBuilder.getPoolConfig(), "127.0.0.1",Integer.valueOf(portInner),20000000);
JedisPool outerPool = new JedisPool(PoolBuilder.getPoolConfig(), "127.0.0.1",Integer.valueOf(port),20000000);
List<String> listOfPairs = AkkaTreeParser.getMessages(innerPool,100000000);
// listOfPairs.stream().parallel().
int counter = new Object() {
int counter = 0;
{
listOfPairs.parallelStream().
peek(x -> counter++).
forEach(m ->
{
// Compare compare = new Compare();
coreCompare(m, args[0],innerPool, outerPool);
if (counter % 1000 == 0) {
log.info("Finalized parsing " + counter + " files... remaing " + (listOfPairs.size() - counter));
}
}
);
}
}.counter;
// coreCompare(args[0],args[1],args[2],args[3]);
}
public static void coreCompare(String pairName, String treeType,JedisPool innerPool,JedisPool outerPool ) {
// String portInner = "6380";
// String port = "6399";
// JedisPool innerPool = new JedisPool(PoolBuilder.getPoolConfig(), "127.0.0.1",Integer.valueOf(portInner),20000000);
//
// JedisPool outerPool = new JedisPool(PoolBuilder.getPoolConfig(), "127.0.0.1",Integer.valueOf(port),20000000);
Map<String, String> resultMap;
Jedis jedis = null;
ITree oldTree = null;
ITree newTree = null;
try {
jedis = innerPool.getResource();
String[] split = pairName.split("_");
String i = split[1];
String j = split[2];
String keyName = split[0];
switch (treeType) {
case "shape":
oldTree = EDiffHelper.getShapes(keyName, i, outerPool);
newTree = EDiffHelper.getShapes(keyName, j, outerPool);
break;
case "action":
oldTree = EDiffHelper.getActions(keyName, i, outerPool,innerPool);
newTree = EDiffHelper.getActions(keyName, j, outerPool,innerPool);
break;
case "token":
oldTree = EDiffHelper.getTokens(keyName, i, outerPool,innerPool);
newTree = EDiffHelper.getTokens(keyName, j, outerPool,innerPool);
List<String> oldTokens = new ArrayList<>();
List<String> newTokens = new ArrayList<>();
oldTokens = getNames(oldTree,oldTokens);
newTokens = getNames(newTree,newTokens);
CharSequence[] oldSequences = oldTokens.toArray(new CharSequence[oldTokens.size()]);
CharSequence[] newSequences = newTokens.toArray(new CharSequence[newTokens.size()]);
JaroWinklerDistance jwd = new JaroWinklerDistance();
Double overallSimi = Double.valueOf(0);
if(oldSequences.length > 0 && (oldSequences.length == newSequences.length)){
for (int idx = 0; idx < newSequences.length; idx++) {
Double simi = jwd.apply(newSequences[idx], oldSequences[idx]);
overallSimi = simi + overallSimi;
}
overallSimi = overallSimi / oldSequences.length;
}else{
overallSimi = Double.valueOf(0);
// if(oldSequences.length != 0) {
// log.info("ERROR");
// }
}
int retval = Double.compare(overallSimi, Double.valueOf(0.8));
String matchKey = keyName+"_" + (String.valueOf(i)) + "_" + String.valueOf(j);
if(retval >= 0){
String result = i + "," + j + ","+String.join(",", oldTokens);
jedis.select(2);
jedis.set(matchKey, result);
}
jedis.select(0);
jedis.del(matchKey);
return;
default:
break;
}
Matcher m = Matchers.getInstance().getMatcher(oldTree, newTree);
m.match();
ActionGenerator ag = new ActionGenerator(oldTree, newTree, m.getMappings());
ag.generate();
List<Action> actions = ag.getActions();
double chawatheSimilarity1 = m.chawatheSimilarity(oldTree, newTree);
String chawatheSimilarity = String.format("%1.2f", chawatheSimilarity1);
double diceSimilarity1 = m.diceSimilarity(oldTree, newTree);
String diceSimilarity = String.format("%1.2f", diceSimilarity1);
double jaccardSimilarity1 = m.jaccardSimilarity(oldTree, newTree);
String jaccardSimilarity = String.format("%1.2f", jaccardSimilarity1);
String editDistance = String.valueOf(actions.size());
String result = i + "," + j + "," + chawatheSimilarity + "," + diceSimilarity + "," + jaccardSimilarity + "," + editDistance;
String matchKey = keyName+"_" + (String.valueOf(i)) + "_" + String.valueOf(j);
if (((Double) chawatheSimilarity1).equals(1.0) || ((Double) diceSimilarity1).equals(1.0)
|| ((Double) jaccardSimilarity1).equals(1.0) || actions.size() == 0) {
// log.info("{} tagged to be similar" ,matchKey);
jedis.select(2);
jedis.set(matchKey, result);
}
jedis.select(0);
jedis.del(matchKey);
} catch (Exception e) {
log.debug("{} not comparable", pairName);
// e.printStackTrace();
}finally {
if (jedis != null) {
jedis.close();
}
}
}
}
@@ -4,6 +4,7 @@ import com.github.gumtreediff.actions.model.Delete;
import com.github.gumtreediff.actions.model.Insert;
import com.github.gumtreediff.actions.model.Move;
import com.github.gumtreediff.actions.model.Update;
import edu.lu.uni.serval.utils.FileHelper;
import java.io.*;
import java.util.List;
@@ -23,41 +24,41 @@ public class EDiffHunkParser extends EDiffParser {
public void parseFixPatterns(File prevFile, File revFile, File diffentryFile,String project,String actionType) {
List<HierarchicalActionSet> actionSets = parseChangedSourceCodeWithGumTree2(prevFile, revFile);
if (actionSets.size() != 0) {
String folder= null;
boolean processActionSet = false;
// String folder= null;
boolean processActionSet = true;
// switch (actionType){
// case "ALL":
if(actionType.equals("ALL")){
folder = "/ALL/";
processActionSet = true;
}else if(actionType.equals("UPD") || actionType.equals("INS") || actionType.equals("DEL") || actionType.equals("MOV")|| actionType.equals("MIX")){
boolean isUPD = actionSets.stream().allMatch(p -> p.getAction() instanceof Update);
boolean isINS = actionSets.stream().allMatch(p -> p.getAction() instanceof Insert);
boolean isDEL = actionSets.stream().allMatch(p -> p.getAction() instanceof Delete);
boolean isMOV = actionSets.stream().allMatch(p -> p.getAction() instanceof Move);
if(isUPD){
folder = "/UPD/";
processActionSet = true;
}else if(isINS){
folder = "/INS/";
processActionSet = true;
}else if(isDEL){
folder = "/DEL/";
processActionSet = true;
}else if(isMOV){
folder = "/MOV/";
processActionSet = true;
}else{
folder = "/MIX/";
processActionSet = true;
}
}else{
processActionSet = false;
System.err.print(actionType + "not known");
}
// if(actionType.equals("ALL")){
// folder = "/ALL/";
// processActionSet = true;
// }else if(actionType.equals("UPD") || actionType.equals("INS") || actionType.equals("DEL") || actionType.equals("MOV")|| actionType.equals("MIX")){
// boolean isUPD = actionSets.stream().allMatch(p -> p.getAction() instanceof Update);
// boolean isINS = actionSets.stream().allMatch(p -> p.getAction() instanceof Insert);
// boolean isDEL = actionSets.stream().allMatch(p -> p.getAction() instanceof Delete);
// boolean isMOV = actionSets.stream().allMatch(p -> p.getAction() instanceof Move);
// if(isUPD){
// folder = "/UPD/";
// processActionSet = true;
// }else if(isINS){
// folder = "/INS/";
// processActionSet = true;
// }else if(isDEL){
// folder = "/DEL/";
// processActionSet = true;
// }else if(isMOV){
// folder = "/MOV/";
// processActionSet = true;
// }else{
// folder = "/MIX/";
// processActionSet = true;
// }
// }else{
//
//
// processActionSet = false;
// System.err.print(actionType + "not known");
//
// }
int hunkSet = 0;
@@ -70,12 +71,21 @@ public class EDiffHunkParser extends EDiffParser {
FileOutputStream f = null;
try {
String astNodeType = actionSet.getAstNodeType();
int size = actionSet.toString().split("\\n").length;
// int size = actionSet.strList.size();
String datasetName = project;
String[] split1 = diffentryFile.getParent().split(datasetName);
String root = split1[0];
String pj = split1[1].split("/")[1];
String hunkTreeFileName = root + "EnhancedASTDiff" + datasetName + "/" + pj + folder + diffentryFile.getName() + "_" + String.valueOf(hunkSet);
File file = new File(root + "EnhancedASTDiff" + datasetName + "/"+astNodeType+"/"+String.valueOf(size)+"/");
file.mkdirs();
String hunkTreeFileName = root + "EnhancedASTDiff" + datasetName + "/"+astNodeType+"/"+String.valueOf(size)+"/" + pj +"_" + diffentryFile.getName() + "_" + String.valueOf(hunkSet);
// String hunkTreeFileName = root + "EnhancedASTDiff" + datasetName + "/" + pj + folder + diffentryFile.getName() + "_" + String.valueOf(hunkSet);
f = new FileOutputStream(new File(hunkTreeFileName));
ObjectOutputStream o = new ObjectOutputStream(f);
o.writeObject(actionSet);
@@ -8,11 +8,16 @@ import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static edu.lu.uni.serval.fixminer.akka.compare.AkkaTreeParser.akkaCompare;
@@ -47,44 +52,63 @@ public class AkkaTreeLoader {
String pairsIndexFile = pairsPath + "/"+ chunkName;
// String pairsIndexFile = pairsPath + "/"+ chunkName;
//0.txt.rdb
pairsIndexFile = pairsIndexFile.replace(chunk+".rdb",".index");
// pairsIndexFile = pairsIndexFile.replace(chunk+".rdb",".index");
File folder = new File(pairsPath);
File[] rootsFolder = folder.listFiles();
Pattern pattern = Pattern.compile(",");
String csvFile = pairsIndexFile;
try {
try (BufferedReader in = new BufferedReader(new FileReader(csvFile));){
Map<String,String> namefreq = in
.lines()
.map(x -> pattern.split(x))
.collect(HashMap::new, (map, x) ->
map.put(x[0], x[1]),
Map::putAll);
Stream<File> stream = Arrays.stream(rootsFolder);
List<File> roots = stream
.filter(x -> !x.getName().startsWith("."))
.collect(Collectors.toList());
Jedis inner = null;
for(File root:roots) {
File[] files = root.listFiles();
Stream<File> fileStream = Arrays.stream(files);
List<File> pairsIndexFiles = fileStream
.filter(x -> !x.getName().startsWith("."))
.filter(x -> x.getName().endsWith(".index"))
.collect(Collectors.toList());
for (File pairsIndexFile : pairsIndexFiles) {
Pattern pattern = Pattern.compile(",");
String csvFile = pairsIndexFile.getPath();
try {
inner = outerPool.getResource();
try (BufferedReader in = new BufferedReader(new FileReader(csvFile));) {
Map<String, String> namefreq = in
.lines()
.map(x -> pattern.split(x))
.collect(HashMap::new, (map, x) ->
map.put(root.getName()+"-"+pairsIndexFile.getName().split("\\.")[0]+"-"+x[0], x[1]),
Map::putAll);
Jedis inner = null;
try {
inner = outerPool.getResource();
for (Map.Entry<String, String> entry : namefreq.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
inner.select(1);
inner.set(key, value);
}
} finally {
if (inner != null) {
inner.close();
}
}
for (Map.Entry<String, String> entry : namefreq.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
inner.select(1);
inner.set(key,value);
}
}finally {
if (inner != null) {
inner.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
@@ -50,15 +50,15 @@ public class EnhancedASTDiff {
// a
if (actionType.equals("ALL")) {
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/" + actionType);
} else {
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/UPD");
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/INS");
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/DEL");
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MOV");
FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MIX");
}
// if (actionType.equals("ALL")) {
// FileHelper.createDirectory(GUM_TREE_OUTPUT + "/" + actionType);
// } else {
// FileHelper.createDirectory(GUM_TREE_OUTPUT + "/UPD");
// FileHelper.createDirectory(GUM_TREE_OUTPUT + "/INS");
// FileHelper.createDirectory(GUM_TREE_OUTPUT + "/DEL");
// FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MOV");
// FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MIX");
// }
}
switch (parallelism){
@@ -30,36 +30,49 @@ public class ImportPairs2DB {
File folder = new File(csvInputPath);
File[] subFolders = folder.listFiles();
Stream<File> stream = Arrays.stream(subFolders);
List<File> pjs = stream
.filter(x -> x.getName().endsWith(chunkType))
List<File> roots = stream
// .filter(x -> x.getName().endsWith(chunkType))
.collect(Collectors.toList());
Integer portInt = Integer.valueOf(portInner);
for (File pj : pjs) {
String cmd = "bash " + dbDir + "/" + "startServer.sh" + " %s %s %s";
cmd = String.format(cmd, dbDir,"pairs.rdb", portInt);
log.info(cmd);
CallShell cs = new CallShell();
cs.runShell(cmd, portInner);
String cmd = "bash "+dbDir + "/" + "startServer.sh" +" %s %s %s";
cmd = String.format(cmd, dbDir,pj.getName() +".rdb", portInt);
log.info(cmd);
CallShell cs = new CallShell();
cs.runShell(cmd, portInner);
for (File root : roots) {
cmd = "bash "+datasetPath + "/redisSingleImport.sh" +" %s %s";
File[] files = root.listFiles();
Stream<File> fileStream = Arrays.stream(files);
List<File> pairs = fileStream
.filter(x -> x.getName().endsWith(chunkType))
.collect(Collectors.toList());
cmd = String.format(cmd, pj.getPath(), portInt);
log.info(cmd);
cs.runShell(cmd,portInner);
for(File pj:pairs) {
String stopServer = "bash "+dbDir + "/" + "stopServer.sh" +" %s";
String stopServer2 = String.format(stopServer,portInt);
cs.runShell(stopServer2, portInner);
portInt++;
cmd = "bash " + datasetPath + "/redisSingleImport.sh" + " %s %s %s";
cmd = String.format(cmd, pj.getPath(), portInt,root.getName()+"-"+pj.getName().split("\\.")[0]);
log.info(cmd);
cs.runShell(cmd,portInner);
}
}
String stopServer = "bash " + dbDir + "/" + "stopServer.sh" + " %s";
String stopServer2 = String.format(stopServer, portInt);
cs.runShell(stopServer2, portInner);
// portInt++;
log.info(parameters);
}
@@ -20,10 +20,8 @@ import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -49,8 +47,8 @@ public class MultiThreadTreeLoaderCluster {
String cmd3;
cmd3 = "bash " + importScript +" %s %s";
// String cmd3;
// cmd3 = "bash " + importScript +" %s %s";
JedisPool jedisPool = new JedisPool(PoolBuilder.getPoolConfig(), "127.0.0.1",Integer.valueOf(portInner),20000000);
@@ -65,41 +63,74 @@ public class MultiThreadTreeLoaderCluster {
.filter(x -> !x.getName().startsWith("."))
.collect(Collectors.toList());
for (File f:folders){
for (File f:folders) {
// if(f.getName().startsWith("cluster0")) {
File[] files = f.listFiles();
Stream<File> fileStream = Arrays.stream(files);
List<File> pairs = fileStream
.filter(x -> !x.getName().startsWith("."))
.filter(x -> !x.getName().endsWith(".index"))
.collect(Collectors.toList());
for (File pair : pairs) {
try (Jedis jedis = jedisPool.getResource()) {
// do operations with jedis resource
ScanParams sc = new ScanParams();
sc.count(cursor);
sc.match("pair_[0-9]*");
sc.match(f.getName()+"*");
log.info("Scanning");
ScanResult<String> scan = jedis.scan("0", sc);
int size = scan.getResult().size();
if (size == 0) {
String comd = String.format(cmd3,f.getPath(),portInner);
String cmd3 = "bash " + importScript + " %s %s %s";
cmd3 = String.format(cmd3, pair.getPath(), portInner,f.getName()+"-"+pair.getName().split("\\.")[0]);
// String comd = String.format(cmd3, f.getPath(), portInner);
// loadRedis(comd);
log.info("Importing {} pairs for cluster {}",size,f.getName());
cs.runShell(comd,portInner);
log.info("Importing {} pairs for cluster {}", size, f.getName());
cs.runShell(cmd3, portInner);
scan = jedis.scan("0", sc);
size = scan.getResult().size();
}
log.info("Scanned {} for cluster {}",String.valueOf(size),f.getName());
log.info("Scanned {} for cluster {}", String.valueOf(size), f.getName());
Pattern pattern = Pattern.compile(",");
String csvFile = pair.getPath();
csvFile = csvFile.replace("txt","index");
try (BufferedReader in = new BufferedReader(new FileReader(csvFile));) {
Map<String, String> namefreq = in
.lines()
.map(x -> pattern.split(x))
.collect(HashMap::new, (map, x) ->
map.put(f.getName()+"-"+pair.getName().split("\\.")[0]+"-"+x[0], x[1]),
Map::putAll);
for (Map.Entry<String, String> entry : namefreq.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
jedis.select(1);
jedis.set(key, value);
}
String clusterName = f.getName().replaceAll("[^0-9]+", "");
}
// String clusterName = f.getName().replaceAll("[^0-9]+", "");
//76
scan.getResult().parallelStream()
.forEach(m -> coreCompare(m, jedisPool, clusterName,outerPool,type));
.forEach(m -> coreCompare(m, jedisPool, f.getName(), outerPool, type));
jedis.save();
@@ -108,6 +139,7 @@ public class MultiThreadTreeLoaderCluster {
// }
}
}
String stopServer = "bash "+dbDir + "/" + "stopServer.sh" +" %s";
String stopServer1 = String.format(stopServer,Integer.valueOf(portInner));
@@ -122,26 +154,40 @@ public class MultiThreadTreeLoaderCluster {
public static Pair<ITree,String> getTree(String firstValue, JedisPool outerPool,String type){
public static Pair<ITree,String> getTree(String prefix,String firstValue, JedisPool outerPool,JedisPool innerPool){
ITree tree = null;
Jedis inner = null;
String[] split2 = firstValue.split("/");
String fullFileName = split2[split2.length-1];
String[] split = fullFileName.split(".txt_");
String pureFileName = split[0];
String[] splitPJ = split[1].split("_");
String project = splitPJ[1];
String actionSetPosition = splitPJ[0];
Jedis outer = null;
// String[] split2 = firstValue.split("/");
//
// String fullFileName = split2[split2.length-1];
// String[] split = fullFileName.split(".txt_");
// String pureFileName = split[0];
// String[] splitPJ = split[1].split("_");
// String project = splitPJ[1];
// String actionSetPosition = splitPJ[0];
try {
inner = outerPool.getResource();
String filename = project + "/"+type+"/" + pureFileName + ".txt_" + actionSetPosition;
String si= inner.get(filename);
inner = innerPool.getResource();
inner.select(1);
String dist2load = inner.get(prefix+"-"+firstValue);
outer = outerPool.getResource();
outer.select(0);
String s = null;//inner.get(prefix.replace("-","/") +"/"+dist2load);
Set<String> keys = outer.keys(prefix.split("-")[0] + "/*/" + dist2load);
if(keys.size() == 1) {
s = (String) keys.toArray()[0];
}else{
throw new Error("cok key");
}
// String filename = project + "/"+type+"/" + pureFileName + ".txt_" + actionSetPosition;
String si= outer.get(s);
HierarchicalActionSet actionSet = (HierarchicalActionSet) EDiffHelper.fromString(si);
@@ -161,8 +207,11 @@ public class MultiThreadTreeLoaderCluster {
if (inner != null) {
inner.close();
}
if (outer != null) {
outer.close();
}
}
Pair<ITree, String> pair = new Pair<>(tree,project);
Pair<ITree, String> pair = new Pair<>(tree,null);
return pair;
@@ -197,19 +246,20 @@ public class MultiThreadTreeLoaderCluster {
catch (Exception e){
e.printStackTrace();
}
String firstValue = resultMap.get("0");
String secondValue = resultMap.get("1");
// String firstValue = resultMap.get("0");
// String secondValue = resultMap.get("1");
try {
Pair<ITree, String> oldPair = getTree(firstValue, outerPool,type);
Pair<ITree, String> newPair = getTree(secondValue, outerPool,type);
String keyName = split[0];
Pair<ITree, String> oldPair = getTree(keyName,i, outerPool,jedisPool);
Pair<ITree, String> newPair = getTree(keyName,j, outerPool,jedisPool);
ITree oldTree = oldPair.getValue0();
ITree newTree = newPair.getValue0();
String oldProject = oldPair.getValue1();
String newProject = newPair.getValue1();
// String oldProject = oldPair.getValue1();
// String newProject = newPair.getValue1();
@@ -231,23 +281,24 @@ public class MultiThreadTreeLoaderCluster {
String editDistance = String.valueOf(actions.size());
// jedis.select(1);
String result = resultMap.get("0") + "," + oldProject +"," + resultMap.get("1") + "," +newProject+ "," + chawatheSimilarity + "," + diceSimilarity + "," + jaccardSimilarity + "," + editDistance;
String result = i+ "," + j + "," + chawatheSimilarity + "," + diceSimilarity + "," + jaccardSimilarity + "," + editDistance;
// jedis.set(resultKey, result);
String matchKey = keyName+"_" + (String.valueOf(i)) + "_" + String.valueOf(j);
if (((Double) chawatheSimilarity1).equals(1.0) || ((Double) diceSimilarity1).equals(1.0)
|| ((Double) jaccardSimilarity1).equals(1.0) || actions.size() == 0) {
String matchKey = "match-"+clusterName+"_" + (String.valueOf(i)) + "_" + String.valueOf(j);
jedis.select(1);
jedis.select(2);
jedis.set(matchKey, result);
}
jedis.select(0);
String pairKey = "pair_" + (String.valueOf(i)) + "_" + String.valueOf(j);
jedis.del(pairKey);
jedis.del(matchKey);
// log.info("Completed " + resultKey);
}catch (Exception e){
log.debug(e.toString() + " {}",(name));
e.printStackTrace();
}
@@ -38,42 +38,55 @@ public class StoreEDiffInCache {
File folder = new File(inputPath);
File[] subFolders = folder.listFiles();
Stream<File> stream = Arrays.stream(subFolders);
List<File> pjs = stream
List<File> roots = stream
.filter(x -> !x.getName().startsWith("."))
.collect(Collectors.toList());
List<String> workList = new ArrayList<String>();
File[] dumps;
for (File pj : pjs) {
String pjName = pj.getName();
File[] files = pj.listFiles();
Stream<File> fileStream = Arrays.stream(files);
List<File> fs;
// if (operation.equals("ALLOP")){
// fs= fileStream
// .filter(x -> x.getName().startsWith("UPD") ||
// x.getName().startsWith("INS") ||
// x.getName().startsWith("DEL") ||
// x.getName().startsWith("MOV"))
// .collect(Collectors.toList());
// File[] files1 = fs.get(0).listFiles();
// File[] files2 = fs.get(1).listFiles();
// File[] files3 = fs.get(2).listFiles();
// File[] files4 = fs.get(3).listFiles();
// dumps = Stream.of(files1, files2, files3,files4).flatMap(Stream::of).toArray(File[]::new);
// }else{
fs = fileStream
.filter(x -> x.getName().startsWith(operation))
.collect(Collectors.toList());
dumps = fs.get(0).listFiles();
// }
for (File root : roots) {
String pjName = root.getName();
File[] sizes = root.listFiles();
Stream<File> sizesStream = Arrays.stream(sizes);
List<File> sizeFolders = sizesStream
.filter(x -> !x.getName().startsWith("."))
.collect(Collectors.toList());
for (File sf:sizeFolders){
File[] files = sf.listFiles();
int length = files.length;
if (length == 1)
continue;
Stream<File> fileStream = Arrays.stream(files);
List<File> fs;
// if (operation.equals("ALLOP")){
// fs= fileStream
// .filter(x -> x.getName().startsWith("UPD") ||
// x.getName().startsWith("INS") ||
// x.getName().startsWith("DEL") ||
// x.getName().startsWith("MOV"))
// .collect(Collectors.toList());
// File[] files1 = fs.get(0).listFiles();
// File[] files2 = fs.get(1).listFiles();
// File[] files3 = fs.get(2).listFiles();
// File[] files4 = fs.get(3).listFiles();
// dumps = Stream.of(files1, files2, files3,files4).flatMap(Stream::of).toArray(File[]::new);
// }else{
// fs = fileStream
// .filter(x -> x.getName().startsWith(operation))
// .collect(Collectors.toList());
// dumps = fs.get(0).listFiles();
// }
for (File f : dumps) {
String name = f.getName();
for (File f : files) {
String name = f.getName();
String key = pjName + "/"+ sf.getName()+"/" + name;
String result = key +","+f.getPath();
workList.add(result);
}
String key = pjName + "/"+ operation+"/" + name;
String result = key +","+f.getPath();
workList.add(result);
}
}
@@ -0,0 +1,71 @@
package edu.lu.uni.serval.utils;
import com.github.gumtreediff.tree.ITree;
import com.github.gumtreediff.tree.TreeContext;
import edu.lu.uni.serval.fixminer.akka.ediff.HierarchicalActionSet;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ClusterToPattern {
public static void main(String[] args) throws IOException, ClassNotFoundException {
String shapesFolder = "/Users/anil.koyuncu/projects/fixminer-all/enhancedASTDiff/python/data/shapes";
String port = "6399";
JedisPool outerPool = new JedisPool(PoolBuilder.getPoolConfig(), "127.0.0.1",Integer.valueOf(port),20000000);
File folder = new File(shapesFolder);
File[] listOfFiles = folder.listFiles();
Stream<File> stream = Arrays.stream(listOfFiles);
List<File> shapes = stream
.filter(x -> !x.getName().startsWith("."))
.filter(x -> !x.getName().endsWith(".pickle"))
.collect(Collectors.toList());
for(File shape:shapes){
File[] clusters = shape.listFiles();
Stream<File> fileStream = Arrays.stream(clusters);
List<File> fileList = fileStream.filter(x -> !x.getName().startsWith("."))
.collect(Collectors.toList());
for(File cluster:fileList){
File[] files = cluster.listFiles();
File file = files[0];
String key = shape.getName() + "/*/"+file.getName();
Jedis outer = outerPool.getResource();
String s = null;//inner.get(prefix.replace("-","/") +"/"+dist2load);
Set<String> keys = outer.keys(key);
if (keys.size() == 1) {
s = (String) keys.toArray()[0];
} else {
throw new Error("cok key");
}
String si = outer.get(s);
HierarchicalActionSet actionSet = (HierarchicalActionSet) EDiffHelper.fromString(si);
String s1 = actionSet.toString();
File saveFile = new File(folder.getParent()+"/shapePatterns/" +shape.getName()+"/"+cluster.getName()+".pattern");
saveFile.getParentFile().mkdirs();
BufferedWriter writer = new BufferedWriter(new FileWriter(saveFile));
writer.write(s1);
writer.close();
}
}
}
}
@@ -10,10 +10,7 @@ import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.io.*;
import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -130,7 +127,7 @@ public class EDiffHelper {
.collect(Collectors.toList());
}
public static ITree getSimpliedTree(String fn, JedisPool outerPool) {
public static ITree getSimpliedTree(String prefix, String fn, JedisPool outerPool) {
ITree tree = null;
Jedis inner = null;
@@ -140,9 +137,9 @@ public class EDiffHelper {
log.info("wait");
}
inner.select(1);
String dist2load = inner.get(fn);
String dist2load = inner.get(prefix+"-"+fn);
inner.select(0);
String s = inner.get(dist2load);
String s = inner.get(prefix.replace("-","/") +"/"+dist2load);
HierarchicalActionSet actionSet = (HierarchicalActionSet) EDiffHelper.fromString(s);
ITree parent = null;
@@ -164,6 +161,152 @@ public class EDiffHelper {
return tree;
}
public static ITree getShapes(String prefix, String fn, JedisPool outerPool) {
ITree tree = null;
Jedis inner = null;
try {
inner = outerPool.getResource();
while (!inner.ping().equals("PONG")){
log.info("wait");
}
inner.select(1);
String dist2load = inner.get(prefix+"-"+fn);
inner.select(0);
String s = inner.get(prefix.replace("-","/") +"/"+dist2load);
HierarchicalActionSet actionSet = (HierarchicalActionSet) EDiffHelper.fromString(s);
ITree parent = null;
ITree children =null;
TreeContext tc = new TreeContext();
tree = EDiffHelper.getASTTree(actionSet, parent, children,tc);
//tree.setParent(null);
tc.validate();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
if (inner != null) {
inner.close();
}
}
return tree;
}
public static ITree getActions(String prefix,String firstValue, JedisPool outerPool,JedisPool innerPool) {
ITree tree = null;
Jedis inner = null;
Jedis outer = null;
try {
inner = innerPool.getResource();
inner.select(1);
String dist2load = inner.get(prefix + "-" + firstValue);
outer = outerPool.getResource();
outer.select(0);
String s = null;//inner.get(prefix.replace("-","/") +"/"+dist2load);
Set<String> keys = outer.keys(prefix.split("-")[0] + "/*/" + dist2load);
if (keys.size() == 1) {
s = (String) keys.toArray()[0];
} else {
throw new Error("cok key");
}
// String filename = project + "/"+type+"/" + pureFileName + ".txt_" + actionSetPosition;
String si = outer.get(s);
HierarchicalActionSet actionSet = (HierarchicalActionSet) EDiffHelper.fromString(si);
ITree parent = null;
ITree children = null;
TreeContext tc = new TreeContext();
tree = EDiffHelper.getActionTree(actionSet, parent, children, tc);
//tree.setParent(null);
tc.validate();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
if (inner != null) {
inner.close();
}
if (outer != null) {
outer.close();
}
}
return tree;
}
public static ITree getTokens(String prefix,String firstValue, JedisPool outerPool,JedisPool innerPool) {
ITree tree = null;
Jedis inner = null;
Jedis outer = null;
try {
inner = innerPool.getResource();
inner.select(1);
String dist2load = inner.get(prefix + "-" + firstValue);
outer = outerPool.getResource();
outer.select(0);
String s = null;//inner.get(prefix.replace("-","/") +"/"+dist2load);
Set<String> keys = outer.keys(prefix.split("-")[0] + "/*/" + dist2load);
if (keys.size() == 1) {
s = (String) keys.toArray()[0];
} else {
throw new Error("cok key");
}
// String filename = project + "/"+type+"/" + pureFileName + ".txt_" + actionSetPosition;
String si = outer.get(s);
HierarchicalActionSet actionSet = (HierarchicalActionSet) EDiffHelper.fromString(si);
ITree parent = null;
ITree children = null;
TreeContext tc = new TreeContext();
tree = EDiffHelper.getTokenTree(actionSet, parent, children, tc);
tree.setParent(null);
tc.validate();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
if (inner != null) {
inner.close();
}
if (outer != null) {
outer.close();
}
}
return tree;
}
public static ITree getActionTree(HierarchicalActionSet actionSet, ITree parent, ITree children,TreeContext tc){
int newType = 0;