Revision: 44
Author: maka82
Date: Sat Jul 25 03:08:02 2009
Log: Support for generating queries with language information is added.
Information about language is used based on which heuristic checker is used
-JavaFunctionHeuristicChecker will cause queries to be generated for Java
language and so on...
GoogleCodeSearchParser is improved. It can split very long queries and now
error "query too long" is not happening any more. Tests are updated.
http://code.google.com/p/apache-rat-pd/source/detail?r=44
Added:
/trunk/src/test/java/org/apache/rat/pd/engines/google/GoogleCodeSearchParserTest.java
Modified:
/trunk/src/main/java/org/apache/rat/pd/core/PlagiarismDetector.java
/trunk/src/main/java/org/apache/rat/pd/engines/google/GoogleCodeSearchParser.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/BruteForceHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/IHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ActionScriptCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CPPCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CSharpCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CobolCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ColdFusionCommentsheuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/DelphiCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/FortranCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/HTMLCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/JavaCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/JavaScriptCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/LispCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PHPCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PascalCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PerlCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PythonCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/RubyCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/SQLCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ShellCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/VisualBasicCommentHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/ActionScriptFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CPPFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CSharpFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/DelphiFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/FortranFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/FunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/JavaFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/JavaScriptFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/PHPFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/PascalFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/VisualBasicFunctionHeuristicChecker.java
/trunk/src/main/java/org/apache/rat/pd/heuristic/misspellings/MisspellingsHeuristicChecker.java
/trunk/src/test/java/org/apache/rat/pd/core/SlidingWindowAlgorithmTest.java
/trunk/src/test/java/org/apache/rat/pd/heuristic/misspellings/CodeHeuristicsSpellCheckerTest.java
=======================================
--- /dev/null
+++
/trunk/src/test/java/org/apache/rat/pd/engines/google/GoogleCodeSearchParserTest.java
Sat Jul 25 03:08:02 2009
@@ -0,0 +1,53 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.rat.pd.engines.google;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class GoogleCodeSearchParserTest extends TestCase {
+
+ private GoogleCodeSearchParser parser = new
GoogleCodeSearchParser("lag");
+
+ public void testSplitLongUrl() throws IOException{
+ //minimum length is 96
+ List<URL> actual = parser.splitLongUrl("a", 100);
+ assertEquals(1,actual.size());
+
+ actual = parser.splitLongUrl("a\nb", 100);
+ assertEquals(2,actual.size());
+
+ actual = parser.splitLongUrl("a\nb", 125);
+ assertEquals(1,actual.size());
+
+ actual = parser.splitLongUrl("a\nb\nc", 100);
+ assertEquals(3,actual.size());
+
+ actual = parser.splitLongUrl("a\nb\nc\nd", 100);
+ assertEquals(4,actual.size());
+
+ actual = parser.splitLongUrl("", 100);
+ assertEquals(1,actual.size());
+ }
+}
=======================================
--- /trunk/src/main/java/org/apache/rat/pd/core/PlagiarismDetector.java Mon
Jun 29 16:57:33 2009
+++ /trunk/src/main/java/org/apache/rat/pd/core/PlagiarismDetector.java Sat
Jul 25 03:08:02 2009
@@ -26,6 +26,8 @@
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
import org.apache.rat.DirectoryWalker;
import org.apache.rat.pd.engines.ISearchEngine;
@@ -83,7 +85,8 @@
* @param args
* @throws RatReportFailedException
*/
- public static void main(String[] args) throws RatReportFailedException,
IOException {
+ public static void main(String[] args) throws RatReportFailedException,
+ IOException {
PdCommandLine pdCommandLine = new PdCommandLine(args);
if (!pdCommandLine.isAllArgumentsCorrect()) {
@@ -93,7 +96,8 @@
// we add all rules we are interested in
final List<IHeuristicChecker> algorithmsForChecking =
configureHeuristicCheckers(pdCommandLine);
// making one or more parsers
- final List<ISearchEngine> searchEngines =
configureSearchEngines(pdCommandLine);
+ final List<ISearchEngine> searchEngines =
configureSearchEngines(
+ pdCommandLine,
getLanguage(algorithmsForChecking));
// we check whole directory
final DirectoryWalker walker = new DirectoryWalker(new File(
@@ -121,11 +125,11 @@
* @return
*/
private static List<ISearchEngine> configureSearchEngines(
- PdCommandLine pdCommandLine) {
+ PdCommandLine pdCommandLine, String language) {
List<ISearchEngine> toret = new ArrayList<ISearchEngine>();
for (String searchEngine : pdCommandLine.getEngines()) {
if (searchEngine.equals("GoogleCodeSearchParser")) {
- toret.add(new GoogleCodeSearchParser());
+ toret.add(new GoogleCodeSearchParser(language));
}
// TODO add more parsers
}
@@ -138,7 +142,7 @@
*
* @param pdCommandLine
* @return
- * @throws IOException
+ * @throws IOException
*/
private static List<IHeuristicChecker> configureHeuristicCheckers(
PdCommandLine pdCommandLine) throws IOException {
@@ -146,7 +150,8 @@
for (String heuristicChecker : pdCommandLine.getHeuristics()) {
if
(heuristicChecker.equals("BruteForceHeuristicChecker")) {
- toret.add(new BruteForceHeuristicChecker());
+ toret.add(new BruteForceHeuristicChecker(
+
IHeuristicChecker.ALL_LANGUAGES));
}
// ///////////////////////////////////////////////////
// Comment heuristic checkers
@@ -221,31 +226,36 @@
// ///////////////////////////////////////////////////
// Functions heuristic checkers
// //////////////////////////////////////////////////
- else if
(heuristicChecker.equals("ActionScriptFunctionHeuristicChecker")) {
- toret.add(new
ActionScriptFunctionHeuristicChecker(pdCommandLine
- .getLimit()));
- }else if
(heuristicChecker.equals("CFunctionHeuristicChecker")) {
+ else if (heuristicChecker
+
.equals("ActionScriptFunctionHeuristicChecker")) {
+ toret.add(new
ActionScriptFunctionHeuristicChecker(
+ pdCommandLine.getLimit()));
+ } else if
(heuristicChecker.equals("CFunctionHeuristicChecker")) {
toret.add(new
CFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("CPPFunctionHeuristicChecker")) {
+ } else if
(heuristicChecker.equals("CPPFunctionHeuristicChecker")) {
toret.add(new
CPPFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("CSharpFunctionHeuristicChecker")) {
+ } else if (heuristicChecker
+
.equals("CSharpFunctionHeuristicChecker")) {
toret.add(new
CSharpFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("DelphiFunctionHeuristicChecker")) {
+ } else if (heuristicChecker
+
.equals("DelphiFunctionHeuristicChecker")) {
toret.add(new
DelphiFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("JavaFunctionHeuristicChecker")) {
+ } else if
(heuristicChecker.equals("JavaFunctionHeuristicChecker")) {
toret.add(new
JavaFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("JavaScriptFunctionHeuristicChecker")) {
+ } else if (heuristicChecker
+
.equals("JavaScriptFunctionHeuristicChecker")) {
toret.add(new
JavaScriptFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("PascalFunctionHeuristicChecker")) {
+ } else if (heuristicChecker
+
.equals("PascalFunctionHeuristicChecker")) {
toret.add(new
PascalFunctionHeuristicChecker(pdCommandLine
.getLimit()));
- }else if
(heuristicChecker.equals("PHPFunctionHeuristicChecker")) {
+ } else if
(heuristicChecker.equals("PHPFunctionHeuristicChecker")) {
toret.add(new
PHPFunctionHeuristicChecker(pdCommandLine
.getLimit()));
}
@@ -253,15 +263,13 @@
// Misspellings heuristic checkers
// //////////////////////////////////////////////////
else if
(heuristicChecker.equals("MisspellingsHeuristicChecker")) {
- InputStream is =
ClassLoader.getSystemClassLoader().
- getResourceAsStream(
- "/misspellings/english.dict");
+ InputStream is =
ClassLoader.getSystemClassLoader()
+
.getResourceAsStream("/misspellings/english.dict");
IDictionary dictionary = new Dictionary(is);
- toret.add(new
MisspellingsHeuristicChecker(dictionary));
- }
-
-
-
+ toret.add(new
MisspellingsHeuristicChecker(dictionary,
+
IHeuristicChecker.ALL_LANGUAGES));
+ }
+
else {
System.err.println("Cannot find propper class for
"
+ heuristicChecker);
@@ -279,4 +287,23 @@
e.printStackTrace();
}
}
-}
+
+ /**
+ * @param algorithmsForChecking
+ * @return Language of source code. It depends by selected heuristic
+ * checkers.
+ */
+ private static String getLanguage(
+ List<IHeuristicChecker> algorithmsForChecking) {
+ String toret = IHeuristicChecker.ALL_LANGUAGES;
+ Set<String> langs = new TreeSet<String>();
+ for (IHeuristicChecker heuristicChecker :
algorithmsForChecking) {
+ langs.add(heuristicChecker.getLanguage());
+ }
+ if (langs.size() == 1) {
+ toret = langs.iterator().next();
+ System.out.println("Chosen language is: " +toret);
+ }
+ return toret;
+ }
+}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/engines/google/GoogleCodeSearchParser.java
Wed Jul 22 14:50:50 2009
+++
/trunk/src/main/java/org/apache/rat/pd/engines/google/GoogleCodeSearchParser.java
Sat Jul 25 03:08:02 2009
@@ -26,6 +26,8 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -34,6 +36,7 @@
import org.apache.rat.pd.engines.ISearchEngine;
import org.apache.rat.pd.engines.Managable;
import org.apache.rat.pd.engines.RetryManager;
+import org.apache.rat.pd.heuristic.IHeuristicChecker;
import com.google.gdata.client.codesearch.CodeSearchService;
import com.google.gdata.data.codesearch.CodeSearchEntry;
@@ -61,11 +64,13 @@
public static final int NUMBER_OF_RETRY = 5;
// timeout time between two requests
public static final int WAIT_TIME = 2000;
+ //2324 is too long
+ public static final int CODESEARCH_QUERY_MAX_LENGTH = 2000;
private static final String CODESEARCH_FEEDS_URL
= "http://www.google.com/codesearch/feeds/search?";
public static final String RESULT_NUMBER = "20";
-
+
/**
* This class is there to estimate matching of results returned by
* GoogleCodeSearch with real code. It will read CodeSearchFeed and
analyze
@@ -156,11 +161,24 @@
private Postprocessor postprocessor = new Postprocessor(SIMILARITY);
private CodeSearchService codesearchService = new CodeSearchService(
"apache-rat-pd");
- private URL privateFeedUrl;
+ private List<URL> privateFeedUrl = new ArrayList<URL>();
private RegexGenerator regexGenerator = new MultilineRegexGenerator();
private RetryManager retryManager = new RetryManager(this,
NUMBER_OF_RETRY,
WAIT_TIME);
+ private final String language;
+
+ public GoogleCodeSearchParser(String language){
+ this.language = language;
+ }
+
+ private String getLanguageQuery(){
+ String toret = "";
+ if(!language.equals(IHeuristicChecker.ALL_LANGUAGES)){
+ toret = "as_lang="+this.language+"&";
+ }
+ return toret;
+ }
@Override
public String getLastCheckedURL() {
@@ -170,8 +188,8 @@
// FIXME URLEncoding is system dependent now
private URL createUrl(String posibleCutAndPastedCode)
throws MalformedURLException {
- URL toret = new URL(CODESEARCH_FEEDS_URL
- + "as_lang=java&q="
+ URL toret = new URL(CODESEARCH_FEEDS_URL
+ + getLanguageQuery()+"q="
+ URLEncoder.encode(regexGenerator
.stringToRegex(posibleCutAndPastedCode))
+ "&max-results=" + RESULT_NUMBER);
@@ -182,6 +200,7 @@
@Override
public boolean isCodeFound(String posibleCutAndPastedCode) {
+ privateFeedUrl.clear();
return retryManager.isCodeFound(posibleCutAndPastedCode);
}
@@ -189,11 +208,21 @@
public boolean gueryEngine(String posibleCutAndPastedCode)
throws IOException, ServiceException {
boolean toreturn = false;
- this.privateFeedUrl = createUrl(posibleCutAndPastedCode);
- CodeSearchFeed myFeed =
codesearchService.getFeed(privateFeedUrl,
- CodeSearchFeed.class);
- toreturn = (myFeed.getEntries().size() > 0)
- && (postprocessor.isMatchFound(myFeed,
posibleCutAndPastedCode));
+
+ List<URL> listOfFeedUrl = splitLongUrl(posibleCutAndPastedCode,
CODESEARCH_QUERY_MAX_LENGTH);
+ //pozovi svaki url i parsiraj rezultate u zajednicku mapu
+ for (URL url : listOfFeedUrl) {
+ CodeSearchFeed myFeed = codesearchService.getFeed(url,
+ CodeSearchFeed.class);
+ boolean found = (myFeed.getEntries().size() > 0)
+ && (postprocessor.isMatchFound(myFeed,
posibleCutAndPastedCode));
+
+ toreturn = toreturn || found;
+
+ if(found){
+ privateFeedUrl.add(url);
+ }
+ }
// // for test porposes
// try {
@@ -204,6 +233,69 @@
// }
return toreturn;
}
+
+ /**
+ * This method can split code to produce URLs that
+ * will not be greater then length.
+ * For GoogleCodeSearch length is 1024.
+ *
+ * @param posibleCutAndPastedCode
+ * @param length
+ * @return
+ * @throws IOException
+ */
+ List<URL> splitLongUrl(String posibleCutAndPastedCode, int length)
+ throws IOException {
+ List<URL> toret = new ArrayList<URL>();
+ // lines must be less then 1024
+ String[] lines = posibleCutAndPastedCode.split("\n *");
+ URL url = null;
+
+ int i = 0;
+ int j = 0;
+
+ while (i < lines.length) {
+ while (j < lines.length) {
+ StringBuffer currenCodePart =
combineLines(lines, i, j);
+ URL currentUrl =
createUrl(currenCodePart.toString());
+ if (currentUrl.toString().length() <= length) {
+
//System.out.println(currentUrl.toString().length()+currentUrl.toString());
+ url = currentUrl;
+ j++;
+ } else {
+ i = j;
+ break;
+ }
+ }
+ if (url != null) {
+ toret.add(url);
+ url = null;
+ }
+ if(j==lines.length){
+ break;
+ }
+ }
+ return toret;
+ }
+
+ /**
+ * Append tokens from start position until end, inclusive.
+ *
+ * @param tokens
+ * @param start
+ * @param end
+ * @return
+ */
+ private StringBuffer combineLines(String[] tokens, int start, int end) {
+
+ StringBuffer sb = new StringBuffer();
+ for (int k = start; k < end; k++) {
+ sb.append(tokens[k]);
+ sb.append("\n");
+ }
+ sb.append(tokens[end]);
+ return sb;
+ }
/**
* for debugging
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/BruteForceHeuristicChecker.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/BruteForceHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -29,6 +29,11 @@
*
*/
public class BruteForceHeuristicChecker implements IHeuristicChecker {
+
+ private final String language;
+ public BruteForceHeuristicChecker(String language){
+ this.language = language;
+ }
/*
* If this Checker is used, it override all other heuristic checkers
because
@@ -43,5 +48,10 @@
return new HeuristicCheckerResult(true,
true, codeToBeChecked, this.getClass());
}
+
+ @Override
+ public String getLanguage() {
+ return this.language;
+ }
}
=======================================
--- /trunk/src/main/java/org/apache/rat/pd/heuristic/IHeuristicChecker.java
Sun Jul 12 17:28:44 2009
+++ /trunk/src/main/java/org/apache/rat/pd/heuristic/IHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -27,6 +27,11 @@
* @author: maka
*/
public interface IHeuristicChecker {
+
+ /**
+ * if language is not important we use this constant
+ */
+ static final String ALL_LANGUAGES = "ALL_LANGUAGES";
/**
* This method knows is codeToBeChecked part of good-to-be-copied code.
If
* it is, method will return true in checkOnInternetNeaded property of
HeuristicCheckerResult.
@@ -35,5 +40,10 @@
* @return HeuristicCheckerResult
*/
HeuristicCheckerResult checkByHeuristic(String codeToBeChecked);
+
+ /**
+ * @return name of programming language
+ */
+ String getLanguage();
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ActionScriptCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ActionScriptCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -42,7 +42,7 @@
private static final String ACTION_SCRIPT_COMMENT_REGEX = "(/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/)|(//.*[\\n\\r])";
public ActionScriptCommentHeuristicChecker(int limit) {
- super(ACTION_SCRIPT_COMMENT_REGEX, limit);
+ super(ACTION_SCRIPT_COMMENT_REGEX, limit, "actionscript");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -39,7 +39,7 @@
private static final String C_COMMENT_REGEX = "/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/";
public CCommentHeuristicChecker(int limit) {
- super(C_COMMENT_REGEX, limit);
+ super(C_COMMENT_REGEX, limit, "c");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CPPCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CPPCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -37,7 +37,7 @@
private static final String CPP_COMMENT_REGEX = "(/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/)|(//.*[\\n\\r])";
public CPPCommentHeuristicChecker(int limit) {
- super(CPP_COMMENT_REGEX, limit);
+ super(CPP_COMMENT_REGEX, limit, "c++");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CSharpCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CSharpCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -36,7 +36,7 @@
private static final String C_SHARP_COMMENT_REGEX = "(/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/)|(//.*[\\n\\r])";
public CSharpCommentHeuristicChecker(int limit) {
- super(C_SHARP_COMMENT_REGEX, limit);
+ super(C_SHARP_COMMENT_REGEX, limit, "c#");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CobolCommentHeuristicChecker.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CobolCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -39,7 +39,7 @@
private static final String COBOL_COMMENT_REGEX =
"^\\d{6}\\*.*[\\n\\r]";
public CobolCommentHeuristicChecker(int limit) {
- super(COBOL_COMMENT_REGEX, limit);
+ super(COBOL_COMMENT_REGEX, limit,"cobol");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ColdFusionCommentsheuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ColdFusionCommentsheuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String COLD_FUSION_COMMENT_REGEX = "<![
\\r\\n\\t]*(---([^\\-]|[\\r\\n]|-[^\\-])*---[ \\r\\n\\t]*)>";
public ColdFusionCommentsheuristicChecker(int limit) {
- super(COLD_FUSION_COMMENT_REGEX, limit);
+ super(COLD_FUSION_COMMENT_REGEX, limit, "coldfusion");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CommentHeuristicChecker.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/CommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -36,10 +36,12 @@
protected final String COMMENT_REGEX;
private final int limit;
-
- public CommentHeuristicChecker(String regex, int limit) {
+ private final String language;
+
+ public CommentHeuristicChecker(String regex, int limit, String
language) {
this.COMMENT_REGEX = regex;
this.limit = limit;
+ this.language = language;
}
/**
@@ -71,4 +73,9 @@
}
return toret;
}
-}
+
+ @Override
+ public String getLanguage() {
+ return this.language;
+ }
+}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/DelphiCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/DelphiCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String DELPHI_COMMENT_REGEX = "(//.*[\\n\\r])|
(\\(\\*(?:[^*]|(?:\\*+[^*\\(]))*\\*+\\))|(\\{(?:[^*]|(?:\\{+[^*]))*\\}+)";
public DelphiCommentHeuristicChecker(int limit) {
- super(DELPHI_COMMENT_REGEX, limit);
+ super(DELPHI_COMMENT_REGEX, limit,"pascal");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/FortranCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/FortranCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String FORTRAN_COMMENT_REGEX = "(!.*[\\n\\r])|
(^C .*[\\n\\r])|(^c .*[\\n\\r])|(^\\* .*[\\n\\r])";
public FortranCommentHeuristicChecker(int limit) {
- super(FORTRAN_COMMENT_REGEX, limit);
+ super(FORTRAN_COMMENT_REGEX, limit, "fortran");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/HTMLCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/HTMLCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -21,6 +21,8 @@
package org.apache.rat.pd.heuristic.comment;
+import org.apache.rat.pd.heuristic.IHeuristicChecker;
+
/**
* A comment declaration in HTML starts with <!, followed by zero or more
* comments, followed by >. A comment starts and ends with "--", and does
not
@@ -39,7 +41,7 @@
private static final String HTML_COMMENT_REGEX = "(<!((--([^\\-]|[\\r\\n]|
-[^\\-])*--(\\s)*))*>)";
public HTMLCommentHeuristicChecker(int limit) {
- super(HTML_COMMENT_REGEX, limit);
+ super(HTML_COMMENT_REGEX, limit,
IHeuristicChecker.ALL_LANGUAGES);
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/JavaCommentHeuristicChecker.java
Sun Jul 12 13:34:46 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/JavaCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -36,7 +36,7 @@
private static final String JAVA_COMMENT_REGEX = "(/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/[\\n\\r]*)|(//.*[\\n\\r])";
public JavaCommentHeuristicChecker(int limit) {
- super(JAVA_COMMENT_REGEX, limit);
+ super(JAVA_COMMENT_REGEX, limit, "java");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/JavaScriptCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/JavaScriptCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -35,7 +35,7 @@
private static final String JAVA_SCRIPT_COMMENT_REGEX = "(/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/)|(//.*[\\n\\r])";
public JavaScriptCommentHeuristicChecker(int limit) {
- super(JAVA_SCRIPT_COMMENT_REGEX, limit);
+ super(JAVA_SCRIPT_COMMENT_REGEX, limit, "javascript");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/LispCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/LispCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -37,7 +37,7 @@
private static final String LISP_COMMENT_REGEX = "(#\\|(?:[^*]|(?:\\|
+[^(\\|#)]))*\\|+#)|(;.*[\\n\\r])";
public LispCommentHeuristicChecker(int limit) {
- super(LISP_COMMENT_REGEX, limit);
+ super(LISP_COMMENT_REGEX, limit,"lisp");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PHPCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PHPCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String PHP_COMMENT_REGEX = "(#.*[\\n\\r])|
((/\\*(?:[^*]|(?:\\*+[^*/]))*\\*+/)|(//.*[\\n\\r]))";
public PHPCommentHeuristicChecker(int limit) {
- super(PHP_COMMENT_REGEX, limit);
+ super(PHP_COMMENT_REGEX, limit, "php");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PascalCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PascalCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String PASCAL_COMMENT_REGEX = "(\\{.*\\})|
(\\{.*\\*\\))|(\\(\\*.*\\*\\))|(\\(\\*.*\\})";
public PascalCommentHeuristicChecker(int limit) {
- super(PASCAL_COMMENT_REGEX, limit);
+ super(PASCAL_COMMENT_REGEX, limit, "pascal");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PerlCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PerlCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String PERL_COMMENT_REGEX = "(#.*[\\n\\r])";
public PerlCommentHeuristicChecker(int limit) {
- super(PERL_COMMENT_REGEX, limit);
+ super(PERL_COMMENT_REGEX, limit, "perl");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PythonCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/PythonCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -36,7 +36,7 @@
private static final String PYTHON_COMMENT_REGEX = "(#.*[\\n\\r])|
(\"\"\"[ [\\n\\r](\\w)]*\"\"\")";
public PythonCommentHeuristicChecker(int limit) {
- super(PYTHON_COMMENT_REGEX, limit);
+ super(PYTHON_COMMENT_REGEX, limit,"python");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/RubyCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/RubyCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -36,7 +36,7 @@
private static final String RUBY_COMMENT_REGEX = "(#.*[\\n\\r])";
public RubyCommentHeuristicChecker(int limit) {
- super(RUBY_COMMENT_REGEX, limit);
+ super(RUBY_COMMENT_REGEX, limit, "ruby");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/SQLCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/SQLCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -35,7 +35,7 @@
private static final String SQL_COMMENT_REGEX = "(/\\*(?:[^*]|
(?:\\*+[^*/]))*\\*+/)|(--.*[\\n\\r])";
public SQLCommentHeuristicChecker(int limit) {
- super(SQL_COMMENT_REGEX, limit);
+ super(SQL_COMMENT_REGEX, limit, "sql");
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ShellCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/ShellCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -36,6 +36,6 @@
private static final String SHELL_COMMENT_REGEX = "(#.*[\\n\\r])";
public ShellCommentHeuristicChecker(int limit) {
- super(SHELL_COMMENT_REGEX, limit);
+ super(SHELL_COMMENT_REGEX, limit, "shell");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/VisualBasicCommentHeuristicChecker.java
Sun Jun 21 13:30:37 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/comment/VisualBasicCommentHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -20,6 +20,8 @@
*/
package org.apache.rat.pd.heuristic.comment;
+import org.apache.rat.pd.heuristic.IHeuristicChecker;
+
/**
* There is onew type of comments in Visual Basic. It starts with a ' end
last
* till the end of a line. More info on:
@@ -35,7 +37,7 @@
private static final String VISUAL_BASIC_COMMENT_REGEX
= "(\\s*\\'.*[\\n\\r])+";
public VisualBasicCommentHeuristicChecker(int limit) {
- super(VISUAL_BASIC_COMMENT_REGEX, limit);
+ super(VISUAL_BASIC_COMMENT_REGEX, limit,
IHeuristicChecker.ALL_LANGUAGES);
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/ActionScriptFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/ActionScriptFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -49,7 +49,7 @@
public ActionScriptFunctionHeuristicChecker(int limit) {
super(limit, ACTION_SCRIPT_FUNCTION_REGEX,
- ACTION_SCRIPT_OPENED_BRACKET,
ACTION_SCRIPT_CLOSED_BRACKET);
+ ACTION_SCRIPT_OPENED_BRACKET,
ACTION_SCRIPT_CLOSED_BRACKET, "actionscript");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -111,7 +111,7 @@
+ OR_REGEX + C_MACRO_REGEX + OR_REGEX +
C_INLINE_FUNCTION;
public CFunctionHeuristicChecker(int limit) {
- super(limit, FUNCTION_REGEX, C_OPENED_BRACKET,
C_CLOSED_BRACKET);
+ super(limit, FUNCTION_REGEX, C_OPENED_BRACKET, C_CLOSED_BRACKET,
"c");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CPPFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CPPFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -125,7 +125,7 @@
+ CPP_MACRO_REGEX + OR_REGEX + CPP_INLINE_FUNCTION;
public CPPFunctionHeuristicChecker(int limit) {
- super(limit, FUNCTION_REGEX, CPP_OPENED_BRACKET,
CPP_CLOSED_BRACKET);
+ super(limit, FUNCTION_REGEX, CPP_OPENED_BRACKET,
CPP_CLOSED_BRACKET, "c++");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CSharpFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/CSharpFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -40,7 +40,7 @@
public CSharpFunctionHeuristicChecker(int limit) {
super(limit, C_SHARP_FUNCTION_REGEX, C_SHARP_OPENED_BRACKET,
- C_SHARP_CLOSED_BRACKET);
+ C_SHARP_CLOSED_BRACKET, "c#");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/DelphiFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/DelphiFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -53,7 +53,7 @@
public DelphiFunctionHeuristicChecker(int limit) {
super(limit, DELPHI_SUBROUTINE_REGEX, DELPHI_OPENED_BRACKET,
- DELPHI_CLOSED_BRACKET);
+ DELPHI_CLOSED_BRACKET, "pascal");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/FortranFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/FortranFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -69,10 +69,12 @@
public static final String SUBROUTINE_HEADER_REGEX = " *(?i:SUBROUTINE)
+\\w+ *\\(.*\\).*\\n";
private int limit;
+ private final String language;
public FortranFunctionHeuristicChecker(int limit) {
this.limit = limit;
+ this.language = "fortran";
}
@Override
@@ -189,5 +191,10 @@
return toret;
}
+
+ @Override
+ public String getLanguage() {
+ return this.language;
+ }
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/FunctionHeuristicChecker.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/FunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,13 +38,15 @@
private final String OPENED_BRACKET;
private final String FUNCTION_REGEX;
private final int limit;
+ private final String language;
public FunctionHeuristicChecker(int limit, String regex,
- String openedBrackets, String closedBrackets) {
+ String openedBrackets, String closedBrackets, String
language) {
this.limit = limit;
this.FUNCTION_REGEX = regex;
this.CLOSED_BRACKET = closedBrackets;
this.OPENED_BRACKET = openedBrackets;
+ this.language = language;
}
public HeuristicCheckerResult checkByHeuristic(String codeToBeChecked) {
@@ -94,5 +96,10 @@
}
return toret;
}
+
+ @Override
+ public String getLanguage() {
+ return this.language;
+ }
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/JavaFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/JavaFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -45,7 +45,7 @@
public JavaFunctionHeuristicChecker(int limit) {
super(limit, JAVA_FUNCTION_REGEX, JAVA_OPENED_BRACKET,
- JAVA_CLOSED_BRACKET);
+ JAVA_CLOSED_BRACKET, "java");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/JavaScriptFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/JavaScriptFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -42,7 +42,7 @@
public JavaScriptFunctionHeuristicChecker(int limit) {
super(limit, JAVA_SCRIPT_FUNCTION_REGEX,
JAVA_SCRIPT_OPENED_BRACKET,
- JAVA_SCRIPT_CLOSED_BRACKET);
+ JAVA_SCRIPT_CLOSED_BRACKET, "javascript");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/PHPFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/PHPFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -38,7 +38,7 @@
private static final String PHP_FUNCTION_REGEX = "function +\\w+
*\\([\\s\\S]*\\)\\s*\\{[\\s\\S]*\\}[\n\r]*";
public PHPFunctionHeuristicChecker(int limit) {
- super(limit, PHP_FUNCTION_REGEX, PHP_OPENED_BRACKET,
PHP_CLOSED_BRACKET);
+ super(limit, PHP_FUNCTION_REGEX, PHP_OPENED_BRACKET,
PHP_CLOSED_BRACKET, "php");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/PascalFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/PascalFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -54,6 +54,6 @@
public PascalFunctionHeuristicChecker(int limit) {
super(limit, PASCAL_SUBPROGRAM_REGEX, PASCAL_OPENED_BRACKET,
- PASCAL_CLOSED_BRACKET);
+ PASCAL_CLOSED_BRACKET, "pascal");
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/VisualBasicFunctionHeuristicChecker.java
Mon Jul 20 15:51:30 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/functions/VisualBasicFunctionHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -20,6 +20,8 @@
*/
package org.apache.rat.pd.heuristic.functions;
+import org.apache.rat.pd.heuristic.IHeuristicChecker;
+
/**
* This class can match Visual Basic functions and subroutines. More info
about
* that on: {...@link}
@@ -105,7 +107,7 @@
public VisualBasicFunctionHeuristicChecker(int limit) {
super(limit, VISUAL_BASIC_SUBPROGRAMS_REGEX,
- VISUAL_BASIC_OPENED_BRACKET,
VISUAL_BASIC_CLOSED_BRACKET);
+ VISUAL_BASIC_OPENED_BRACKET, VISUAL_BASIC_CLOSED_BRACKET,
IHeuristicChecker.ALL_LANGUAGES);
}
}
=======================================
---
/trunk/src/main/java/org/apache/rat/pd/heuristic/misspellings/MisspellingsHeuristicChecker.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/main/java/org/apache/rat/pd/heuristic/misspellings/MisspellingsHeuristicChecker.java
Sat Jul 25 03:08:02 2009
@@ -39,9 +39,11 @@
public class MisspellingsHeuristicChecker implements IHeuristicChecker {
private IDictionary spellChecker;
-
- public MisspellingsHeuristicChecker(IDictionary dictionary) {
- spellChecker = dictionary;
+ private final String language;
+
+ public MisspellingsHeuristicChecker(IDictionary dictionary, String
language) {
+ this.spellChecker = dictionary;
+ this.language = language;
}
/**
@@ -170,4 +172,9 @@
}
return toret;
}
-}
+
+ @Override
+ public String getLanguage() {
+ return this.language;
+ }
+}
=======================================
---
/trunk/src/test/java/org/apache/rat/pd/core/SlidingWindowAlgorithmTest.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/test/java/org/apache/rat/pd/core/SlidingWindowAlgorithmTest.java
Sat Jul 25 03:08:02 2009
@@ -63,7 +63,7 @@
}
public void testSlidingWindowAlgorithm() {
- checkers.add(new BruteForceHeuristicChecker());
+ checkers.add(new BruteForceHeuristicChecker("lang"));
analyser.checkOneFile(searchEngines, "TEND", checkers, "");
assertEquals("there must be 1 chunk of code found with search
engine",
@@ -263,6 +263,11 @@
return toret;
}
+
+ @Override
+ public String getLanguage() {
+ return "lang";
+ }
};
/**
=======================================
---
/trunk/src/test/java/org/apache/rat/pd/heuristic/misspellings/CodeHeuristicsSpellCheckerTest.java
Sun Jul 12 17:28:44 2009
+++
/trunk/src/test/java/org/apache/rat/pd/heuristic/misspellings/CodeHeuristicsSpellCheckerTest.java
Sat Jul 25 03:08:02 2009
@@ -93,7 +93,7 @@
InputStream is = getClass().getResourceAsStream(
"/misspellings/english.dict");
IDictionary dictionary = new Dictionary(is);
- checker = new MisspellingsHeuristicChecker(dictionary);
+ checker = new MisspellingsHeuristicChecker(dictionary, "lang");
}
/* (non-Javadoc)