From 3d20268377926343ba99434cf8a7b4843409118f Mon Sep 17 00:00:00 2001 From: fixminer Date: Mon, 17 Sep 2018 21:20:13 +0200 Subject: [PATCH] rc 3 --- .../serval/FixPatternParser/CUCreator.java | 55 ------------------- ...arser.java => FixedPatternHunkParser.java} | 6 +- ...ionParser.java => FixedPatternParser.java} | 7 +-- .../HierarchicalActionSet.java | 2 +- .../HierarchicalRegrouper.java | 4 +- .../edu/lu/uni/serval/fixminer/Launcher.java | 3 +- .../{cluster => }/MultiThreadTreeLoader.java | 6 +- .../fixminer/TestHunkParserSingleFile.java | 12 ++-- .../uni/serval/fixminer/cluster/Compare.java | 2 +- .../serval/fixminer/cluster/WorkMessage.java | 51 ----------------- .../fixminer/cluster/akka/AkkaTreeParser.java | 1 - .../cluster/akka/EDiffActor.java} | 22 ++++---- .../cluster/akka/EDiffMessage.java} | 6 +- .../cluster/akka/EDiffWorker.java} | 22 ++++---- .../cluster/akka}/MessageFile.java | 2 +- .../cluster/{ => akka}/TreeActor.java | 3 +- .../cluster/{ => akka}/TreeWorker.java | 7 ++- .../{cluster => jobs}/AkkaTreeLoader.java | 5 +- .../{cluster => jobs}/CalculatePairs.java | 5 +- .../fixminer/{ => jobs}/EnhancedASTDiff.java | 12 ++-- .../{cluster => jobs}/ImportPairs2DB.java | 3 +- .../MultiThreadTreeLoaderCluster.java | 11 ++-- .../MultiThreadTreeLoaderCluster3.java | 9 +-- .../fixminer/{ => jobs}/PatternExtractor.java | 6 +- .../{cluster => jobs}/StoreEDiffInCache.java | 9 +-- .../TreeLoaderClusterL1.java | 5 +- .../{FixPattern => }/utils/ASTNodeMap.java | 2 +- .../cluster => utils}/CallShell.java | 2 +- .../{FixPattern => }/utils/Checker.java | 2 +- .../serval/{FixPattern => }/utils/EDiff.java | 4 +- .../{FixPattern => }/utils/EDiffHelper.java | 4 +- .../{FixPattern => }/utils/PoolBuilder.java | 2 +- 32 files changed, 94 insertions(+), 198 deletions(-) delete mode 100644 src/main/java/edu/lu/uni/serval/FixPatternParser/CUCreator.java rename src/main/java/edu/lu/uni/serval/FixPatternParser/{violations/FixedViolationHunkParser.java => FixedPatternHunkParser.java} (92%) rename src/main/java/edu/lu/uni/serval/FixPatternParser/{violations/FixedViolationParser.java => FixedPatternParser.java} (86%) rename src/main/java/edu/lu/uni/serval/{gumtree/regroup => FixPatternParser}/HierarchicalActionSet.java (99%) rename src/main/java/edu/lu/uni/serval/{gumtree/regroup => FixPatternParser}/HierarchicalRegrouper.java (98%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => }/MultiThreadTreeLoader.java (99%) delete mode 100644 src/main/java/edu/lu/uni/serval/fixminer/cluster/WorkMessage.java rename src/main/java/edu/lu/uni/serval/{MultipleThreadsParser/ParseFixPatternActor.java => fixminer/cluster/akka/EDiffActor.java} (70%) rename src/main/java/edu/lu/uni/serval/{MultipleThreadsParser/WorkMessage.java => fixminer/cluster/akka/EDiffMessage.java} (64%) rename src/main/java/edu/lu/uni/serval/{MultipleThreadsParser/ParseFixPatternWorker.java => fixminer/cluster/akka/EDiffWorker.java} (85%) rename src/main/java/edu/lu/uni/serval/{MultipleThreadsParser => fixminer/cluster/akka}/MessageFile.java (93%) rename src/main/java/edu/lu/uni/serval/fixminer/cluster/{ => akka}/TreeActor.java (95%) rename src/main/java/edu/lu/uni/serval/fixminer/cluster/{ => akka}/TreeWorker.java (96%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/AkkaTreeLoader.java (95%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/CalculatePairs.java (97%) rename src/main/java/edu/lu/uni/serval/fixminer/{ => jobs}/EnhancedASTDiff.java (87%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/ImportPairs2DB.java (95%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/MultiThreadTreeLoaderCluster.java (97%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/MultiThreadTreeLoaderCluster3.java (99%) rename src/main/java/edu/lu/uni/serval/fixminer/{ => jobs}/PatternExtractor.java (99%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/StoreEDiffInCache.java (95%) rename src/main/java/edu/lu/uni/serval/fixminer/{cluster => jobs}/TreeLoaderClusterL1.java (96%) rename src/main/java/edu/lu/uni/serval/{FixPattern => }/utils/ASTNodeMap.java (98%) rename src/main/java/edu/lu/uni/serval/{fixminer/cluster => utils}/CallShell.java (98%) rename src/main/java/edu/lu/uni/serval/{FixPattern => }/utils/Checker.java (98%) rename src/main/java/edu/lu/uni/serval/{FixPattern => }/utils/EDiff.java (96%) rename src/main/java/edu/lu/uni/serval/{FixPattern => }/utils/EDiffHelper.java (96%) rename src/main/java/edu/lu/uni/serval/{FixPattern => }/utils/PoolBuilder.java (95%) diff --git a/src/main/java/edu/lu/uni/serval/FixPatternParser/CUCreator.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/CUCreator.java deleted file mode 100644 index ec47e1a..0000000 --- a/src/main/java/edu/lu/uni/serval/FixPatternParser/CUCreator.java +++ /dev/null @@ -1,55 +0,0 @@ -package edu.lu.uni.serval.FixPatternParser; - -import org.eclipse.jdt.core.dom.AST; -import org.eclipse.jdt.core.dom.ASTParser; -import org.eclipse.jdt.core.dom.CompilationUnit; - -import java.io.*; - -/** - * Creator of a CompilationUnit. - * - * @author kui.liu - * - */ -public class CUCreator { - - public CompilationUnit createCompilationUnit(File javaFile) { - CompilationUnit unit = null; - try { - char[] sourceCode = readFileToCharArray(new FileReader(javaFile)); - ASTParser parser = createASTParser(sourceCode); - parser.setKind(ASTParser.K_COMPILATION_UNIT); - unit = (CompilationUnit) parser.createAST(null); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - return unit; - } - - private ASTParser createASTParser(char[] javaCode) { - ASTParser parser = ASTParser.newParser(AST.JLS8); - parser.setSource(javaCode); - - return parser; - } - - private char[] readFileToCharArray(FileReader fileReader) throws IOException { - StringBuilder fileData = new StringBuilder(); - BufferedReader br = new BufferedReader(fileReader); - - char[] buf = new char[10]; - int numRead = 0; - while ((numRead = br.read(buf)) != -1) { - String readData = String.valueOf(buf, 0, numRead); - fileData.append(readData); - buf = new char[1024]; - } - br.close(); - - return fileData.toString().toCharArray(); - } -} diff --git a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/FixedPatternHunkParser.java similarity index 92% rename from src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java rename to src/main/java/edu/lu/uni/serval/FixPatternParser/FixedPatternHunkParser.java index 4d885ea..eaf7e7c 100644 --- a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java +++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/FixedPatternHunkParser.java @@ -1,6 +1,4 @@ -package edu.lu.uni.serval.FixPatternParser.violations; - -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +package edu.lu.uni.serval.FixPatternParser; import java.io.*; import java.util.List; @@ -13,7 +11,7 @@ import java.util.List; * @author kui.liu * */ -public class FixedViolationHunkParser extends FixedViolationParser { +public class FixedPatternHunkParser extends FixedPatternParser { public String testingInfo = ""; diff --git a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationParser.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/FixedPatternParser.java similarity index 86% rename from src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationParser.java rename to src/main/java/edu/lu/uni/serval/FixPatternParser/FixedPatternParser.java index 3bbc4eb..ae3255a 100644 --- a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationParser.java +++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/FixedPatternParser.java @@ -1,10 +1,7 @@ -package edu.lu.uni.serval.FixPatternParser.violations; +package edu.lu.uni.serval.FixPatternParser; import com.github.gumtreediff.actions.model.Action; -import edu.lu.uni.serval.FixPatternParser.Parser; import edu.lu.uni.serval.gumtree.GumTreeComparer; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalRegrouper; import edu.lu.uni.serval.utils.ListSorter; import java.io.File; @@ -17,7 +14,7 @@ import java.util.List; * @author kui.liu * */ -public class FixedViolationParser extends Parser { +public class FixedPatternParser extends Parser { /* * ResultType: diff --git a/src/main/java/edu/lu/uni/serval/gumtree/regroup/HierarchicalActionSet.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/HierarchicalActionSet.java similarity index 99% rename from src/main/java/edu/lu/uni/serval/gumtree/regroup/HierarchicalActionSet.java rename to src/main/java/edu/lu/uni/serval/FixPatternParser/HierarchicalActionSet.java index 4b5fb60..a0125b6 100644 --- a/src/main/java/edu/lu/uni/serval/gumtree/regroup/HierarchicalActionSet.java +++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/HierarchicalActionSet.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.gumtree.regroup; +package edu.lu.uni.serval.FixPatternParser; import com.github.gumtreediff.actions.model.Action; import com.github.gumtreediff.tree.ITree; diff --git a/src/main/java/edu/lu/uni/serval/gumtree/regroup/HierarchicalRegrouper.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/HierarchicalRegrouper.java similarity index 98% rename from src/main/java/edu/lu/uni/serval/gumtree/regroup/HierarchicalRegrouper.java rename to src/main/java/edu/lu/uni/serval/FixPatternParser/HierarchicalRegrouper.java index db1e1db..004c773 100644 --- a/src/main/java/edu/lu/uni/serval/gumtree/regroup/HierarchicalRegrouper.java +++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/HierarchicalRegrouper.java @@ -1,8 +1,8 @@ -package edu.lu.uni.serval.gumtree.regroup; +package edu.lu.uni.serval.FixPatternParser; import com.github.gumtreediff.actions.model.*; import com.github.gumtreediff.tree.ITree; -import edu.lu.uni.serval.FixPattern.utils.ASTNodeMap; +import edu.lu.uni.serval.utils.ASTNodeMap; import edu.lu.uni.serval.utils.ListSorter; import java.util.ArrayList; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/Launcher.java b/src/main/java/edu/lu/uni/serval/fixminer/Launcher.java index d4cf22b..9c8a4f8 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/Launcher.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/Launcher.java @@ -1,6 +1,7 @@ package edu.lu.uni.serval.fixminer; -import edu.lu.uni.serval.fixminer.cluster.*; +import edu.lu.uni.serval.fixminer.jobs.*; +import edu.lu.uni.serval.utils.CallShell; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoader.java b/src/main/java/edu/lu/uni/serval/fixminer/MultiThreadTreeLoader.java similarity index 99% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoader.java rename to src/main/java/edu/lu/uni/serval/fixminer/MultiThreadTreeLoader.java index e4e0441..67fed8f 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoader.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/MultiThreadTreeLoader.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer; import com.github.gumtreediff.actions.ActionGenerator; import com.github.gumtreediff.actions.model.Action; @@ -6,8 +6,8 @@ import com.github.gumtreediff.matchers.Matcher; import com.github.gumtreediff.matchers.Matchers; import com.github.gumtreediff.tree.ITree; import com.github.gumtreediff.tree.Tree; -import edu.lu.uni.serval.FixPattern.utils.ASTNodeMap; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.utils.ASTNodeMap; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.*; 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..be93c0b 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java @@ -2,9 +2,9 @@ package edu.lu.uni.serval.fixminer; import akka.actor.ActorRef; 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.fixminer.cluster.akka.MessageFile; +import edu.lu.uni.serval.fixminer.cluster.akka.EDiffActor; +import edu.lu.uni.serval.fixminer.cluster.akka.EDiffMessage; import edu.lu.uni.serval.utils.FileHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -96,11 +96,11 @@ public class TestHunkParserSingleFile { ActorSystem system = null; ActorRef parsingActor = null; - final WorkMessage msg = new WorkMessage(0, msgFiles); + final EDiffMessage msg = new EDiffMessage(0, msgFiles); try { log.info("Akka begins..."); system = ActorSystem.create("Mining-FixPattern-System"); - parsingActor = system.actorOf(ParseFixPatternActor.props(1, "dataset"), "mine-fix-pattern-actor"); + parsingActor = system.actorOf(EDiffActor.props(1, "dataset"), "mine-fix-pattern-actor"); parsingActor.tell(msg, ActorRef.noSender()); } catch (Exception e) { system.shutdown(); @@ -109,7 +109,7 @@ public class TestHunkParserSingleFile { // int counter = 0; // for (MessageFile msgFile : msgFiles) { -// FixedViolationHunkParser parser = new FixedViolationHunkParser(); +// FixedPatternHunkParser parser = new FixedPatternHunkParser(); // // final ExecutorService executor = Executors.newSingleThreadExecutor(); // // schedule the work diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/Compare.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/Compare.java index 49c03af..cdfcc45 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/Compare.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/Compare.java @@ -5,7 +5,7 @@ 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.FixPattern.utils.EDiff; +import edu.lu.uni.serval.utils.EDiff; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/WorkMessage.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/WorkMessage.java deleted file mode 100644 index f009b25..0000000 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/WorkMessage.java +++ /dev/null @@ -1,51 +0,0 @@ -package edu.lu.uni.serval.fixminer.cluster; - -import java.util.List; - -public class WorkMessage { - - private int id; - private List msgFiles; - - public String getDbDir() { - return dbDir; - } - - public String getServerWait() { - return serverWait; - } - - private String dbDir; - private String serverWait; - - public String getInputPath() { - return inputPath; - } - - private String inputPath; - - public String getInnerPort() { - return innerPort; - } - - private String innerPort; - - public WorkMessage(int id, List msgFiles,String innerPort,String inputPath,String dbDir,String serverWait) { - super(); - this.id = id; - this.msgFiles = msgFiles; - this.innerPort = innerPort; - this.inputPath = inputPath; - this.dbDir = dbDir; - this.serverWait = serverWait; - } - - public int getId() { - return id; - } - - public List getMsgFiles() { - return msgFiles; - } - -} \ No newline at end of file diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/AkkaTreeParser.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/AkkaTreeParser.java index d76b532..c504528 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/AkkaTreeParser.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/AkkaTreeParser.java @@ -2,7 +2,6 @@ package edu.lu.uni.serval.fixminer.cluster.akka; import akka.actor.ActorRef; import akka.actor.ActorSystem; -import edu.lu.uni.serval.fixminer.cluster.TreeActor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternActor.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffActor.java similarity index 70% rename from src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternActor.java rename to src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffActor.java index 46ea6df..42be0b0 100644 --- a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternActor.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffActor.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.MultipleThreadsParser; +package edu.lu.uni.serval.fixminer.cluster.akka; import akka.actor.ActorRef; import akka.actor.Props; @@ -10,29 +10,29 @@ import org.slf4j.LoggerFactory; import java.util.List; -public class ParseFixPatternActor extends UntypedActor { +public class EDiffActor extends UntypedActor { - private static Logger logger = LoggerFactory.getLogger(ParseFixPatternActor.class); + private static Logger logger = LoggerFactory.getLogger(EDiffActor.class); private ActorRef mineRouter; private final int numberOfWorkers; private int counter = 0; - public ParseFixPatternActor(int numberOfWorkers, String project) { + public EDiffActor(int numberOfWorkers, String project) { mineRouter = this.getContext().actorOf(new RoundRobinPool(numberOfWorkers) - .props(ParseFixPatternWorker.props(project)), "mine-fix-pattern-router"); + .props(EDiffWorker.props(project)), "mine-fix-pattern-router"); this.numberOfWorkers = numberOfWorkers; } public static Props props(final int numberOfWorkers, final String project) { - return Props.create(new Creator() { + return Props.create(new Creator() { private static final long serialVersionUID = 9207427376110704705L; @Override - public ParseFixPatternActor create() throws Exception { - return new ParseFixPatternActor(numberOfWorkers, project); + public EDiffActor create() throws Exception { + return new EDiffActor(numberOfWorkers, project); } }); @@ -41,8 +41,8 @@ public class ParseFixPatternActor extends UntypedActor { @SuppressWarnings("deprecation") @Override public void onReceive(Object message) throws Exception { - if (message instanceof WorkMessage) { - List files = ((WorkMessage) message).getMsgFiles(); + if (message instanceof EDiffMessage) { + List files = ((EDiffMessage) message).getMsgFiles(); int size = files.size(); int average = size / numberOfWorkers; int reminder = size % numberOfWorkers; @@ -54,7 +54,7 @@ public class ParseFixPatternActor extends UntypedActor { int toIndex = (i + 1) * average + counter; List filesOfWorkers = files.subList(fromIndex, toIndex); - final WorkMessage workMsg = new WorkMessage(i + 1, filesOfWorkers); + final EDiffMessage workMsg = new EDiffMessage(i + 1, filesOfWorkers); mineRouter.tell(workMsg, getSelf()); logger.info("Assign a task to worker #" + (i + 1) + "..."); } diff --git a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/WorkMessage.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffMessage.java similarity index 64% rename from src/main/java/edu/lu/uni/serval/MultipleThreadsParser/WorkMessage.java rename to src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffMessage.java index 9d30eb6..afea756 100644 --- a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/WorkMessage.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffMessage.java @@ -1,13 +1,13 @@ -package edu.lu.uni.serval.MultipleThreadsParser; +package edu.lu.uni.serval.fixminer.cluster.akka; import java.util.List; -public class WorkMessage { +public class EDiffMessage { private int id; private List msgFiles; - public WorkMessage(int id, List msgFiles) { + public EDiffMessage(int id, List msgFiles) { super(); this.id = id; this.msgFiles = msgFiles; diff --git a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffWorker.java similarity index 85% rename from src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java rename to src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffWorker.java index 3084dbe..5c8a77f 100644 --- a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/EDiffWorker.java @@ -1,10 +1,10 @@ -package edu.lu.uni.serval.MultipleThreadsParser; +package edu.lu.uni.serval.fixminer.cluster.akka; import akka.actor.Props; import akka.actor.UntypedActor; import akka.japi.Creator; +import edu.lu.uni.serval.FixPatternParser.FixedPatternHunkParser; import edu.lu.uni.serval.FixPatternParser.RunnableParser; -import edu.lu.uni.serval.FixPatternParser.violations.FixedViolationHunkParser; import edu.lu.uni.serval.config.Configuration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,24 +13,24 @@ import java.io.File; import java.util.List; import java.util.concurrent.*; -public class ParseFixPatternWorker extends UntypedActor { - private static Logger log = LoggerFactory.getLogger(ParseFixPatternActor.class); +public class EDiffWorker extends UntypedActor { + private static Logger log = LoggerFactory.getLogger(EDiffActor.class); private String project; - public ParseFixPatternWorker(String project) { + public EDiffWorker(String project) { this.project = project; } public static Props props(final String project) { - return Props.create(new Creator() { + return Props.create(new Creator() { private static final long serialVersionUID = -7615153844097275009L; @Override - public ParseFixPatternWorker create() throws Exception { - return new ParseFixPatternWorker(project); + public EDiffWorker create() throws Exception { + return new EDiffWorker(project); } }); @@ -38,8 +38,8 @@ public class ParseFixPatternWorker extends UntypedActor { @Override public void onReceive(Object message) throws Exception { - if (message instanceof WorkMessage) { - WorkMessage msg = (WorkMessage) message; + if (message instanceof EDiffMessage) { + EDiffMessage msg = (EDiffMessage) message; List files = msg.getMsgFiles(); StringBuilder editScripts = new StringBuilder(); StringBuilder patchesSourceCode = new StringBuilder(); @@ -68,7 +68,7 @@ public class ParseFixPatternWorker extends UntypedActor { File diffentryFile = msgFile.getDiffEntryFile(); - FixedViolationHunkParser parser = new FixedViolationHunkParser(); + FixedPatternHunkParser parser = new FixedPatternHunkParser(); final ExecutorService executor = Executors.newSingleThreadExecutor(); // schedule the work diff --git a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/MessageFile.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/MessageFile.java similarity index 93% rename from src/main/java/edu/lu/uni/serval/MultipleThreadsParser/MessageFile.java rename to src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/MessageFile.java index de224ef..e2bea96 100644 --- a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/MessageFile.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/MessageFile.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.MultipleThreadsParser; +package edu.lu.uni.serval.fixminer.cluster.akka; import java.io.File; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeActor.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/TreeActor.java similarity index 95% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeActor.java rename to src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/TreeActor.java index 939c129..6957275 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeActor.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/TreeActor.java @@ -1,11 +1,10 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.cluster.akka; import akka.actor.ActorRef; import akka.actor.Props; import akka.actor.UntypedActor; import akka.japi.Creator; import akka.routing.RoundRobinPool; -import edu.lu.uni.serval.fixminer.cluster.akka.TreeMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.JedisPool; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeWorker.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/TreeWorker.java similarity index 96% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeWorker.java rename to src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/TreeWorker.java index cfc7bb9..5eb61e1 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeWorker.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/akka/TreeWorker.java @@ -1,10 +1,11 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.cluster.akka; import akka.actor.Props; import akka.actor.UntypedActor; import akka.japi.Creator; import edu.lu.uni.serval.config.Configuration; -import edu.lu.uni.serval.fixminer.cluster.akka.TreeMessage; +import edu.lu.uni.serval.fixminer.cluster.Compare; +import edu.lu.uni.serval.fixminer.cluster.RunnableCompare; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.JedisPool; @@ -65,7 +66,7 @@ public class TreeWorker extends UntypedActor { if(message instanceof TreeMessage) { -// if (message instanceof edu.lu.uni.serval.MultipleThreadsParser.WorkMessage) { +// if (message instanceof edu.lu.uni.serval.fixminer.cluster.akka.EDiffMessage) { TreeMessage msg = (TreeMessage) message; List files = msg.getName(); JedisPool innerPool = msg.getInnerPool(); diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/AkkaTreeLoader.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/AkkaTreeLoader.java similarity index 95% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/AkkaTreeLoader.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/AkkaTreeLoader.java index 2cc115b..439c845 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/AkkaTreeLoader.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/AkkaTreeLoader.java @@ -1,6 +1,7 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; -import edu.lu.uni.serval.FixPattern.utils.PoolBuilder; +import edu.lu.uni.serval.utils.CallShell; +import edu.lu.uni.serval.utils.PoolBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CalculatePairs.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/CalculatePairs.java similarity index 97% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/CalculatePairs.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/CalculatePairs.java index 87ab887..dfaa3c0 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CalculatePairs.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/CalculatePairs.java @@ -1,6 +1,7 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; -import edu.lu.uni.serval.FixPattern.utils.PoolBuilder; +import edu.lu.uni.serval.utils.CallShell; +import edu.lu.uni.serval.utils.PoolBuilder; import edu.lu.uni.serval.utils.FileHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/EnhancedASTDiff.java similarity index 87% rename from src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/EnhancedASTDiff.java index 43895e0..0ec8660 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/EnhancedASTDiff.java @@ -1,10 +1,10 @@ -package edu.lu.uni.serval.fixminer; +package edu.lu.uni.serval.fixminer.jobs; import akka.actor.ActorRef; 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.fixminer.cluster.akka.EDiffMessage; +import edu.lu.uni.serval.fixminer.cluster.akka.MessageFile; +import edu.lu.uni.serval.fixminer.cluster.akka.EDiffActor; import edu.lu.uni.serval.utils.FileHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,12 +56,12 @@ public class EnhancedASTDiff { ActorSystem system = null; ActorRef parsingActor = null; - final WorkMessage msg = new WorkMessage(0, msgFiles); + final EDiffMessage msg = new EDiffMessage(0, msgFiles); try { log.info("Akka begins..."); system = ActorSystem.create("Mining-FixPattern-System"); - parsingActor = system.actorOf(ParseFixPatternActor.props(Integer.valueOf(numOfWorkers), project), "mine-fix-pattern-actor"); + parsingActor = system.actorOf(EDiffActor.props(Integer.valueOf(numOfWorkers), project), "mine-fix-pattern-actor"); parsingActor.tell(msg, ActorRef.noSender()); } catch (Exception e) { system.shutdown(); diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/ImportPairs2DB.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/ImportPairs2DB.java similarity index 95% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/ImportPairs2DB.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/ImportPairs2DB.java index 6249a4a..bf2befb 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/ImportPairs2DB.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/ImportPairs2DB.java @@ -1,5 +1,6 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; +import edu.lu.uni.serval.utils.CallShell; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoaderCluster.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/MultiThreadTreeLoaderCluster.java similarity index 97% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoaderCluster.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/MultiThreadTreeLoaderCluster.java index fa6ed79..723babf 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoaderCluster.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/MultiThreadTreeLoaderCluster.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; import com.github.gumtreediff.actions.ActionGenerator; import com.github.gumtreediff.actions.model.Action; @@ -6,10 +6,11 @@ import com.github.gumtreediff.matchers.Matcher; import com.github.gumtreediff.matchers.Matchers; import com.github.gumtreediff.tree.ITree; import com.github.gumtreediff.tree.TreeContext; -import edu.lu.uni.serval.FixPattern.utils.EDiff; -import edu.lu.uni.serval.FixPattern.utils.EDiffHelper; -import edu.lu.uni.serval.FixPattern.utils.PoolBuilder; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.utils.CallShell; +import edu.lu.uni.serval.utils.EDiff; +import edu.lu.uni.serval.utils.EDiffHelper; +import edu.lu.uni.serval.utils.PoolBuilder; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import edu.lu.uni.serval.utils.FileHelper; import org.javatuples.Pair; import org.slf4j.Logger; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoaderCluster3.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/MultiThreadTreeLoaderCluster3.java similarity index 99% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoaderCluster3.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/MultiThreadTreeLoaderCluster3.java index 661595a..73562b8 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/MultiThreadTreeLoaderCluster3.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/MultiThreadTreeLoaderCluster3.java @@ -1,10 +1,11 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; import com.github.gumtreediff.tree.ITree; import com.github.gumtreediff.tree.TreeContext; -import edu.lu.uni.serval.FixPattern.utils.EDiffHelper; -import edu.lu.uni.serval.FixPattern.utils.PoolBuilder; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.utils.CallShell; +import edu.lu.uni.serval.utils.EDiffHelper; +import edu.lu.uni.serval.utils.PoolBuilder; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import edu.lu.uni.serval.utils.FileHelper; import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.similarity.JaroWinklerDistance; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/PatternExtractor.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/PatternExtractor.java similarity index 99% rename from src/main/java/edu/lu/uni/serval/fixminer/PatternExtractor.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/PatternExtractor.java index bbc33a5..0dd8b6e 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/PatternExtractor.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/PatternExtractor.java @@ -1,7 +1,7 @@ -package edu.lu.uni.serval.fixminer; +package edu.lu.uni.serval.fixminer.jobs; -import edu.lu.uni.serval.FixPattern.utils.Checker; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.utils.Checker; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/StoreEDiffInCache.java similarity index 95% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/StoreEDiffInCache.java index 39bba51..9e5541d 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/StoreEDiffInCache.java @@ -1,8 +1,9 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; -import edu.lu.uni.serval.FixPattern.utils.EDiffHelper; -import edu.lu.uni.serval.FixPattern.utils.PoolBuilder; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.utils.CallShell; +import edu.lu.uni.serval.utils.EDiffHelper; +import edu.lu.uni.serval.utils.PoolBuilder; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeLoaderClusterL1.java b/src/main/java/edu/lu/uni/serval/fixminer/jobs/TreeLoaderClusterL1.java similarity index 96% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeLoaderClusterL1.java rename to src/main/java/edu/lu/uni/serval/fixminer/jobs/TreeLoaderClusterL1.java index 36a480a..99a32fe 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/TreeLoaderClusterL1.java +++ b/src/main/java/edu/lu/uni/serval/fixminer/jobs/TreeLoaderClusterL1.java @@ -1,6 +1,7 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.fixminer.jobs; -import edu.lu.uni.serval.FixPattern.utils.PoolBuilder; +import edu.lu.uni.serval.utils.CallShell; +import edu.lu.uni.serval.utils.PoolBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/FixPattern/utils/ASTNodeMap.java b/src/main/java/edu/lu/uni/serval/utils/ASTNodeMap.java similarity index 98% rename from src/main/java/edu/lu/uni/serval/FixPattern/utils/ASTNodeMap.java rename to src/main/java/edu/lu/uni/serval/utils/ASTNodeMap.java index 266063c..c2d5bf8 100644 --- a/src/main/java/edu/lu/uni/serval/FixPattern/utils/ASTNodeMap.java +++ b/src/main/java/edu/lu/uni/serval/utils/ASTNodeMap.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.FixPattern.utils; +package edu.lu.uni.serval.utils; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java b/src/main/java/edu/lu/uni/serval/utils/CallShell.java similarity index 98% rename from src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java rename to src/main/java/edu/lu/uni/serval/utils/CallShell.java index 9c1d05d..9e4b56d 100644 --- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java +++ b/src/main/java/edu/lu/uni/serval/utils/CallShell.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.fixminer.cluster; +package edu.lu.uni.serval.utils; /** * Created by anilkoyuncu on 17/04/2018. diff --git a/src/main/java/edu/lu/uni/serval/FixPattern/utils/Checker.java b/src/main/java/edu/lu/uni/serval/utils/Checker.java similarity index 98% rename from src/main/java/edu/lu/uni/serval/FixPattern/utils/Checker.java rename to src/main/java/edu/lu/uni/serval/utils/Checker.java index 83e1e3a..89752fa 100644 --- a/src/main/java/edu/lu/uni/serval/FixPattern/utils/Checker.java +++ b/src/main/java/edu/lu/uni/serval/utils/Checker.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.FixPattern.utils; +package edu.lu.uni.serval.utils; public class Checker { diff --git a/src/main/java/edu/lu/uni/serval/FixPattern/utils/EDiff.java b/src/main/java/edu/lu/uni/serval/utils/EDiff.java similarity index 96% rename from src/main/java/edu/lu/uni/serval/FixPattern/utils/EDiff.java rename to src/main/java/edu/lu/uni/serval/utils/EDiff.java index acec7ff..a2a1bfc 100644 --- a/src/main/java/edu/lu/uni/serval/FixPattern/utils/EDiff.java +++ b/src/main/java/edu/lu/uni/serval/utils/EDiff.java @@ -1,9 +1,9 @@ -package edu.lu.uni.serval.FixPattern.utils; +package edu.lu.uni.serval.utils; import com.github.gumtreediff.actions.model.*; import com.github.gumtreediff.tree.ITree; import com.github.gumtreediff.tree.TreeContext; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; diff --git a/src/main/java/edu/lu/uni/serval/FixPattern/utils/EDiffHelper.java b/src/main/java/edu/lu/uni/serval/utils/EDiffHelper.java similarity index 96% rename from src/main/java/edu/lu/uni/serval/FixPattern/utils/EDiffHelper.java rename to src/main/java/edu/lu/uni/serval/utils/EDiffHelper.java index b6f7980..ae7d3f0 100644 --- a/src/main/java/edu/lu/uni/serval/FixPattern/utils/EDiffHelper.java +++ b/src/main/java/edu/lu/uni/serval/utils/EDiffHelper.java @@ -1,8 +1,8 @@ -package edu.lu.uni.serval.FixPattern.utils; +package edu.lu.uni.serval.utils; import com.github.gumtreediff.tree.ITree; import com.github.gumtreediff.tree.TreeContext; -import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet; +import edu.lu.uni.serval.FixPatternParser.HierarchicalActionSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/edu/lu/uni/serval/FixPattern/utils/PoolBuilder.java b/src/main/java/edu/lu/uni/serval/utils/PoolBuilder.java similarity index 95% rename from src/main/java/edu/lu/uni/serval/FixPattern/utils/PoolBuilder.java rename to src/main/java/edu/lu/uni/serval/utils/PoolBuilder.java index fba3f04..31562f2 100644 --- a/src/main/java/edu/lu/uni/serval/FixPattern/utils/PoolBuilder.java +++ b/src/main/java/edu/lu/uni/serval/utils/PoolBuilder.java @@ -1,4 +1,4 @@ -package edu.lu.uni.serval.FixPattern.utils; +package edu.lu.uni.serval.utils; import redis.clients.jedis.JedisPoolConfig;