Просмотр исходного кода

change the location of filter file

Miaomz 6 лет назад
Родитель
Сommit
332837168c

+ 19 - 14
src/main/java/com/moekr/moocoder/logic/api/Wala.java

@@ -126,25 +126,30 @@ public class Wala {
 
 
     public ArrayList<IMethod> getAllMethods() {
-        ArrayList<IMethod> methodlist = new ArrayList<>();
-        ArrayList<IMethod> mainlist = new ArrayList<>();
-        for(IClass klass: cha) {
-            if(scope.isApplicationLoader(klass.getClassLoader())) {
-                for(IMethod m: klass.getAllMethods()) {
-                    if(m.getDeclaringClass().equals(klass)) {
-                        if(m.getSelector().toString().equals("main([Ljava/lang/String;)V")&&m.isStatic()&&m.isPublic())
-                            mainlist.add(m);
-                        methodlist.add(m);
+        try {
+            ArrayList<IMethod> methodlist = new ArrayList<>();
+            ArrayList<IMethod> mainlist = new ArrayList<>();
+            for(IClass klass: cha) {
+                if(scope.isApplicationLoader(klass.getClassLoader())) {
+                    for(IMethod m: klass.getAllMethods()) {
+                        if(m.getDeclaringClass().equals(klass)) {
+                            if(m.getSelector().toString().equals("main([Ljava/lang/String;)V")&&m.isStatic()&&m.isPublic())
+                                mainlist.add(m);
+                            methodlist.add(m);
 
+                        }
                     }
                 }
             }
+            System.out.println(name + " has " + methodlist.size() + " methods\nand " + mainlist.size() + " main functions");
+            if(mainlist.size()!=0){
+                System.out.println(name);
+            }
+            return mainlist.isEmpty() ? methodlist: mainlist;
+        } catch (Exception e) {
+            log.error(e);
+            return new ArrayList<>();
         }
-        System.out.println(name + " has " + methodlist.size() + " methods\nand " + mainlist.size() + " main functions");
-        if(mainlist.size()!=0){
-            System.out.println(name);
-        }
-        return mainlist.isEmpty() ? methodlist: mainlist;
     }
 
 

+ 1 - 1
src/main/java/com/moekr/moocoder/logic/api/WalaController.java

@@ -23,7 +23,7 @@ import java.util.*;
  */
 @Component
 public class WalaController {
-    private static final String FILTER = "/wala/Java60RegressionExclusions.txt";
+    private static final String FILTER = "/Java60RegressionExclusions.txt";
 
     /**
      * make wala analysis data

+ 15 - 1
src/main/java/com/moekr/moocoder/logic/service/impl/ScoreServiceImpl.java

@@ -102,7 +102,8 @@ public class ScoreServiceImpl implements ScoreService{
         double extensionScore = 100 * extensionMetricVO.getNormDistMainSeqMean();
 
         int packageSize = extensionMetricVO.getPackageAfferentCouplingMap().size();
-        if (packageSize == 0) {  // TODO if there is no package, it is an illegal input
+        // if there is no package, it is basically an illegal input
+        if (packageSize == 0) {
             return extensionScore;
         }
 
@@ -130,4 +131,17 @@ public class ScoreServiceImpl implements ScoreService{
         double unscaledScore = (ISSUES_HIGH_THRESHOLD-issuesCount) / (double)(ISSUES_HIGH_THRESHOLD-ISSUES_LOW_THRESHOLD);
         return 100 * Math.min(1, Math.max(0, unscaledScore));
     }
+
+
+    /**
+     * calc the scale coefficient for other
+     * @param scaleMetricVO scale metrics
+     * @return a float ranging from 0 to 1
+     */
+    private double scaleCoefficient(CodeScaleMetricVO scaleMetricVO) {
+        int product =  (scaleMetricVO.getMethodsCount() + 1)
+                * (scaleMetricVO.getClassesCount() + 1)
+                * (scaleMetricVO.getPackagesCount() + 1);
+        return Math.pow(product, -1.0/3);
+    }
 }

+ 0 - 0
src/main/resources/wala/Java60RegressionExclusions.txt → src/main/resources/Java60RegressionExclusions.txt


+ 1 - 1
src/test/java/com/moekr/moocoder/util/FileUtilTest.java

@@ -12,7 +12,7 @@ class FileUtilTest {
 
     @Test
     void readFile() {
-        String content = FileUtil.readFile(getClass().getResource("/wala/Java60RegressionExclusions.txt").getPath());
+        String content = FileUtil.readFile(getClass().getResource("/Java60RegressionExclusions.txt").getPath());
         assertEquals("java\\/awt\\/.*\n" +
                 "javax\\/swing\\/.*\n" +
                 "sun\\/awt\\/.*\n" +