Repository: redpen-cc/redpen
Pull request #546 (2016-02-08 08:41:28)

Make it easier to write unit tests (mocking etc)


Patch:
diff --git a/NOTICE.md b/NOTICE.md
index 375a0ce6..1e719e29 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -1,4 +1,4 @@
 RedPen, a document checker is based and/or uses the following libraries & programs
 --------------------------------------------------------------------------------------
 
-* IntelliJ Comunity developed by JetBrains (https://github.com/JetBrains/intellij-community) - Apaeche 2.0 LICENSE.
+* IntelliJ Community developed by JetBrains (https://github.com/JetBrains/intellij-community) - Apaeche 2.0 LICENSE.
diff --git a/pom.xml b/pom.xml
index d9d4184e..528cbf6a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>cc.redpen</groupId>
-    <version>1.4.5-SNAPSHOT</version>
+    <version>1.4.4-SNAPSHOT</version>
     <artifactId>redpen</artifactId>
     <url>http://redpen.cc</url>
     <name>redpen</name>
diff --git a/redpen-cli/pom.xml b/redpen-cli/pom.xml
index 5e2e88a3..e4c26929 100644
--- a/redpen-cli/pom.xml
+++ b/redpen-cli/pom.xml
@@ -5,11 +5,11 @@
     <parent>
         <groupId>cc.redpen</groupId>
         <artifactId>redpen</artifactId>
-        <version>1.4.5-SNAPSHOT</version>
+        <version>1.4.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>redpen-cli</artifactId>
-    <version>1.4.5-SNAPSHOT</version>
+    <version>1.4.4-SNAPSHOT</version>
     <name>redpen-cli</name>
     <description>RedPen is an open source proofreading tool a tool to check if your technical documents meet the writing standard . RedPen supports various markup text formats (Markdown, Textile, AsciiDoc, and LaTeX).</description>
     <url>http://redpen.cc</url>
@@ -106,12 +106,12 @@
         <dependency>
             <groupId>cc.redpen</groupId>
             <artifactId>redpen-core</artifactId>
-            <version>1.4.5-SNAPSHOT</version>
+            <version>1.4.4-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>cc.redpen</groupId>
             <artifactId>redpen-plugin</artifactId>
-            <version>1.4.5-SNAPSHOT</version>
+            <version>1.4.4-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/redpen-core/pom.xml b/redpen-core/pom.xml
index 658cd8d3..f70e5ce0 100644
--- a/redpen-core/pom.xml
+++ b/redpen-core/pom.xml
@@ -5,11 +5,11 @@
     <parent>
         <groupId>cc.redpen</groupId>
         <artifactId>redpen</artifactId>
-        <version>1.4.5-SNAPSHOT</version>
+        <version>1.4.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>redpen-core</artifactId>
-    <version>1.4.5-SNAPSHOT</version>
+    <version>1.4.4-SNAPSHOT</version>
     <name>redpen-core</name>
     <description>RedPen is an open source proofreading tool a tool to check if your technical documents meet the writing standard . RedPen supports various markup text formats (Markdown, Textile, AsciiDoc, and LaTeX).</description>
     <url>http://redpen.cc</url>
diff --git a/redpen-core/src/main/java/cc/redpen/RedPen.java b/redpen-core/src/main/java/cc/redpen/RedPen.java
index 6329d586..3b6f567f 100644
--- a/redpen-core/src/main/java/cc/redpen/RedPen.java
+++ b/redpen-core/src/main/java/cc/redpen/RedPen.java
@@ -46,7 +46,7 @@ import java.util.Map;
 public class RedPen {
     private static final Logger LOG = LoggerFactory.getLogger(RedPen.class);
 
-    public static final String VERSION = "1.4.4";
+    public static final String VERSION = "1.4.3";
 
     private final Configuration configuration;
     private final SentenceExtractor sentenceExtractor;
diff --git a/redpen-core/src/main/java/cc/redpen/config/Configuration.java b/redpen-core/src/main/java/cc/redpen/config/Configuration.java
index 60a15b83..92587625 100644
--- a/redpen-core/src/main/java/cc/redpen/config/Configuration.java
+++ b/redpen-core/src/main/java/cc/redpen/config/Configuration.java
@@ -25,14 +25,15 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 
+import static java.util.stream.Collectors.toList;
 import static org.apache.commons.lang3.StringUtils.isEmpty;
 
 /**
  * Contains Settings used throughout {@link cc.redpen.RedPen}.
  */
-public class Configuration {
-    private final SymbolTable symbolTable;
-    private final List<ValidatorConfiguration> validatorConfigs = new ArrayList<>();
+public class Configuration implements Cloneable {
+    private SymbolTable symbolTable;
+    private List<ValidatorConfiguration> validatorConfigs = new ArrayList<>();
     private String lang;
     private RedPenTokenizer tokenizer;
 
@@ -106,6 +107,22 @@ public class Configuration {
         return getLang() + (isEmpty(getVariant()) ? "" : "." + getVariant());
     }
 
+    /**
+     * @return a deep copy of this configuration
+     */
+    @Override public Configuration clone() {
+        Configuration clone;
+        try {
+            clone = (Configuration)super.clone();
+            clone.validatorConfigs = validatorConfigs.stream().map(ValidatorConfiguration::clone).collect(toList());
+            clone.symbolTable = symbolTable.clone();
+            return clone;
+        }
+        catch (CloneNotSupportedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     /**
      * Builder class of Configuration.
      */
@@ -117,7 +134,7 @@ public class Configuration {
         private String lang = "en";
         private Optional<String> variant = Optional.empty();
 
-        private void checkBuilt(){
+        private void checkBuilt() {
             if(built){
                 throw new IllegalStateException("Configuration already built.");
             }
diff --git a/redpen-core/src/main/java/cc/redpen/config/Symbol.java b/redpen-core/src/main/java/cc/redpen/config/Symbol.java
index 0302ae7d..614fb825 100644
--- a/redpen-core/src/main/java/cc/redpen/config/Symbol.java
+++ b/redpen-core/src/main/java/cc/redpen/config/Symbol.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 /**
  * Represent a character settings.
  */
-public final class Symbol implements Serializable {
+public class Symbol implements Serializable {
     private static final long serialVersionUID = 3826499136262740992L;
     private final SymbolType name;
     private final char value;
diff --git a/redpen-core/src/main/java/cc/redpen/config/SymbolTable.java b/redpen-core/src/main/java/cc/redpen/config/SymbolTable.java
index 1fc04c80..0e5f36a2 100644
--- a/redpen-core/src/main/java/cc/redpen/config/SymbolTable.java
+++ b/redpen-core/src/main/java/cc/redpen/config/SymbolTable.java
@@ -29,7 +29,7 @@ import static cc.redpen.config.SymbolType.*;
 /**
  * Configuration table of characters used in {@link cc.redpen.RedPen}.
  */
-public class SymbolTable implements Serializable {
+public class SymbolTable implements Serializable, Cloneable {
     private static final long serialVersionUID = 1612920745151501631L;
     private final Map<SymbolType, Symbol> symbolDictionary = new HashMap<>();
     private final Map<Character, Symbol> valueDictionary = new HashMap<>();
@@ -161,6 +161,15 @@ public class SymbolTable implements Serializable {
         return result;
     }
 
+    @Override public SymbolTable clone() {
+        try {
+            return (SymbolTable)super.clone();
+        }
+        catch (CloneNotSupportedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     @Override
     public String toString() {
         return "SymbolTable{" +
diff --git a/redpen-core/src/main/java/cc/redpen/config/ValidatorConfiguration.java b/redpen-core/src/main/java/cc/redpen/config/ValidatorConfiguration.java
index a5c7ccb5..4f1a99d8 100644
--- a/redpen-core/src/main/java/cc/redpen/config/ValidatorConfiguration.java
+++ b/redpen-core/src/main/java/cc/redpen/config/ValidatorConfiguration.java
@@ -19,11 +19,12 @@ package cc.redpen.config;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * Configuration for Validators.
  */
-public final class ValidatorConfiguration {
+public class ValidatorConfiguration implements Cloneable {
     private final String configurationName;
     private final Map<String, String> attributes;
 
@@ -98,4 +99,30 @@ public final class ValidatorConfiguration {
         return this;
     }
 
+    @Override public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof ValidatorConfiguration)) return false;
+        ValidatorConfiguration that = (ValidatorConfiguration)o;
+        return Objects.equals(configurationName, that.configurationName);
+    }
+
+    @Override public int hashCode() {
+        return Objects.hash(configurationName);
+    }
+
+    @Override public String toString() {
+        return configurationName;
+    }
+
+    /**
+     * @return a copy of ValidatorConfiguration
+     */
+    @Override public ValidatorConfiguration clone() {
+        try {
+            return (ValidatorConfiguration)super.clone();
+        }
+        catch (CloneNotSupportedException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
diff --git a/redpen-core/src/main/java/cc/redpen/model/ListBlock.java b/redpen-core/src/main/java/cc/redpen/model/ListBlock.java
index 01412ccb..5ca3552b 100644
--- a/redpen-core/src/main/java/cc/redpen/model/ListBlock.java
+++ b/redpen-core/src/main/java/cc/redpen/model/ListBlock.java
@@ -23,7 +23,7 @@ import java.util.List;
 /**
  * Represent List in semi-structured format such as wiki.
  */
-public final class ListBlock {
+public class ListBlock {
     private final List<ListElement> listElements;
 
     /**
diff --git a/redpen-core/src/main/java/cc/redpen/model/ListElement.java b/redpen-core/src/main/java/cc/redpen/model/ListElement.java
index ae0c2d8d..e94b6fcc 100644
--- a/redpen-core/src/main/java/cc/redpen/model/ListElement.java
+++ b/redpen-core/src/main/java/cc/redpen/model/ListElement.java
@@ -22,7 +22,7 @@ import java.util.List;
 /**
  * Element of List in semi-structured text format such as wiki.
  */
-public final class ListElement {
+public class ListElement {
     private final List<Sentence> contents;
     private final int level;
 
diff --git a/redpen-core/src/main/java/cc/redpen/model/Paragraph.java b/redpen-core/src/main/java/cc/redpen/model/Paragraph.java
index 9553e20e..417c1af0 100644
--- a/redpen-core/src/main/java/cc/redpen/model/Paragraph.java
+++ b/redpen-core/src/main/java/cc/redpen/model/Paragraph.java
@@ -23,7 +23,7 @@ import java.util.List;
 /**
  * Represent a paragraph of text.
  */
-public final class Paragraph {
+public class Paragraph {
     private final List<Sentence> sentences;
 
     /**
diff --git a/redpen-core/src/main/java/cc/redpen/model/Section.java b/redpen-core/src/main/java/cc/redpen/model/Section.java
index 90dca793..7fc314bb 100644
--- a/redpen-core/src/main/java/cc/redpen/model/Section.java
+++ b/redpen-core/src/main/java/cc/redpen/model/Section.java
@@ -23,7 +23,7 @@ import java.util.List;
 /**
  * Represent a section in semi-structured text format such as wiki.
  */
-public final class Section {
+public class Section {
     /* Subsections */
     private final List<Section> subsections;
     /* Paragraphs in this section. */
diff --git a/redpen-core/src/main/java/cc/redpen/model/Sentence.java b/redpen-core/src/main/java/cc/redpen/model/Sentence.java
index 3d9f2ea9..0df9b647 100644
--- a/redpen-core/src/main/java/cc/redpen/model/Sentence.java
+++ b/redpen-core/src/main/java/cc/redpen/model/Sentence.java
@@ -28,7 +28,7 @@ import java.util.Optional;
 /**
  * Sentence block in a Document.
  */
-public final class Sentence implements Serializable {
+public class Sentence implements Serializable {
     private static final long serialVersionUID = 3761982769692999924L;
     /**
      * Links (including internal and external ones).
diff --git a/redpen-core/src/main/java/cc/redpen/parser/LaTeXParser.java b/redpen-core/src/main/java/cc/redpen/parser/LaTeXParser.java
index 7363a079..663abe81 100644
--- a/redpen-core/src/main/java/cc/redpen/parser/LaTeXParser.java
+++ b/redpen-core/src/main/java/cc/redpen/parser/LaTeXParser.java
@@ -21,7 +21,6 @@ import cc.redpen.RedPenException;
 import cc.redpen.model.Document;
 import cc.redpen.model.Section;
 import cc.redpen.model.Sentence;
-import cc.redpen.parser.markdown.ToFileContentSerializer;
 import cc.redpen.parser.latex.LaTeXProcessor;
 import cc.redpen.tokenizer.RedPenTokenizer;
 
@@ -35,7 +34,7 @@ import java.util.Optional;
 /**
  * Parser for LaTeX format (based on the Markdown parser.)
  */
-final class LaTeXParser extends BaseDocumentParser {
+class LaTeXParser extends BaseDocumentParser {
 
     private LaTeXProcessor latexProcessor = new LaTeXProcessor();
 
diff --git a/redpen-core/src/main/java/cc/redpen/parser/LineOffset.java b/redpen-core/src/main/java/cc/redpen/parser/LineOffset.java
index c138895a..0d261ac4 100644
--- a/redpen-core/src/main/java/cc/redpen/parser/LineOffset.java
+++ b/redpen-core/src/main/java/cc/redpen/parser/LineOffset.java
@@ -17,7 +17,7 @@
  */
 package cc.redpen.parser;
 
-public final class LineOffset implements Comparable {
+public class LineOffset implements Comparable {
     public final int lineNum;
     public final int offset;
 
diff --git a/redpen-core/src/main/java/cc/redpen/parser/MarkdownParser.java b/redpen-core/src/main/java/cc/redpen/parser/MarkdownParser.java
index edffbf37..7442e764 100644
--- a/redpen-core/src/main/java/cc/redpen/parser/MarkdownParser.java
+++ b/redpen-core/src/main/java/cc/redpen/parser/MarkdownParser.java
@@ -40,7 +40,7 @@ import java.util.Optional;
  * <p>
  * Markdown Syntax @see http://daringfireball.net/projects/markdown/
  */
-final class MarkdownParser extends BaseDocumentParser {
+class MarkdownParser extends BaseDocumentParser {
 
     private PegDownProcessor pegDownProcessor = new PegDownProcessor(
             Extensions.HARDWRAPS
diff --git a/redpen-core/src/main/java/cc/redpen/parser/SentenceExtractor.java b/redpen-core/src/main/java/cc/redpen/parser/SentenceExtractor.java
index 76b68d74..765bdca6 100644
--- a/redpen-core/src/main/java/cc/redpen/parser/SentenceExtractor.java
+++ b/redpen-core/src/main/java/cc/redpen/parser/SentenceExtractor.java
@@ -34,7 +34,7 @@ import static cc.redpen.config.SymbolType.*;
 /**
  * Utility Class to extract a Sentence list from given String.
  */
-public final class SentenceExtractor {
+public class SentenceExtractor {
 
     private static final Logger LOG = LoggerFactory.getLogger(SentenceExtractor.class);
     private Pattern fullStopPattern;
diff --git a/redpen-core/src/main/java/cc/redpen/parser/WikiParser.java b/redpen-core/src/main/java/cc/redpen/parser/WikiParser.java
index 8afd92ea..ca3c476e 100644
--- a/redpen-core/src/main/java/cc/redpen/parser/WikiParser.java
+++ b/redpen-core/src/main/java/cc/redpen/parser/WikiParser.java
@@ -38,7 +38,7 @@ import java.util.regex.Pattern;
 /**
  * Parser for wiki formatted file.
  */
-final class WikiParser extends BaseDocumentParser {
+class WikiParser extends BaseDocumentParser {
     private static final Logger LOG = LoggerFactory.getLogger(WikiParser.class);
     /**
      * *************************************************************************
diff --git a/redpen-core/src/main/java/cc/redpen/tokenizer/TokenElement.java b/redpen-core/src/main/java/cc/redpen/tokenizer/TokenElement.java
index 32859682..e426ab3b 100644
--- a/redpen-core/src/main/java/cc/redpen/tokenizer/TokenElement.java
+++ b/redpen-core/src/main/java/cc/redpen/tokenizer/TokenElement.java
@@ -21,7 +21,7 @@ import java.io.Serializable;
 import java.util.Collections;
 import java.util.List;
 
-public final class TokenElement implements Serializable {
+public class TokenElement implements Serializable {
     private static final long serialVersionUID = -7779529873101010570L;
 
     // the surface form of the token
diff --git a/redpen-core/src/main/java/cc/redpen/util/DictionaryLoader.java b/redpen-core/src/main/java/cc/redpen/util/DictionaryLoader.java
index 85f5eefa..3b098514 100644
--- a/redpen-core/src/main/java/cc/redpen/util/DictionaryLoader.java
+++ b/redpen-core/src/main/java/cc/redpen/util/DictionaryLoader.java
@@ -31,7 +31,7 @@ import java.util.function.Supplier;
 /**
  * load dictionary data from input source
  */
-public final class DictionaryLoader<E> {
+public class DictionaryLoader<E> {
     private static final Logger LOG = LoggerFactory.getLogger(DictionaryLoader.class);
 
     private final Supplier<E> supplier;
diff --git a/redpen-core/src/main/java/cc/redpen/util/EndOfSentenceDetector.java b/redpen-core/src/main/java/cc/redpen/util/EndOfSentenceDetector.java
index 37c91b74..272bdd35 100644
--- a/redpen-core/src/main/java/cc/redpen/util/EndOfSentenceDetector.java
+++ b/redpen-core/src/main/java/cc/redpen/util/EndOfSentenceDetector.java
@@ -27,7 +27,7 @@ import java.util.regex.Pattern;
 /**
  * Utility class to handle a string.
  */
-public final class EndOfSentenceDetector {
+public class EndOfSentenceDetector {
     private List<String> whiteList;
     private Pattern pattern;
 
diff --git a/redpen-core/src/main/java/cc/redpen/util/LevenshteinDistance.java b/redpen-core/src/main/java/cc/redpen/util/LevenshteinDistance.java
index 1db4fb01..4aaac22d 100755
--- a/redpen-core/src/main/java/cc/redpen/util/LevenshteinDistance.java
+++ b/redpen-core/src/main/java/cc/redpen/util/LevenshteinDistance.java
@@ -25,7 +25,7 @@ package cc.redpen.util;
  * or substitutions). The default cost for each edit
  * is 1, and each value is configurable.
  */
-public final class LevenshteinDistance {
+public class LevenshteinDistance {
     /**
      * A constant holding the default insertion cost.
      */
diff --git a/redpen-core/src/main/java/cc/redpen/validator/ValidationError.java b/redpen-core/src/main/java/cc/redpen/validator/ValidationError.java
index 72997654..f8ed7cb5 100644
--- a/redpen-core/src/main/java/cc/redpen/validator/ValidationError.java
+++ b/redpen-core/src/main/java/cc/redpen/validator/ValidationError.java
@@ -20,12 +20,13 @@ package cc.redpen.validator;
 import cc.redpen.model.Sentence;
 import cc.redpen.parser.LineOffset;
 
+import java.io.Serializable;
 import java.util.Optional;
 
 /**
  * Error to report invalid point from Validators.
  */
-public final class ValidationError implements java.io.Serializable {
+public class ValidationError implements Serializable {
 
     private static final long serialVersionUID = -7759439419047004667L;
     private final String message;
diff --git a/redpen-core/src/main/java/cc/redpen/validator/sentence/OkuriganaValidator.java b/redpen-core/src/main/java/cc/redpen/validator/sentence/OkuriganaValidator.java
index 7a79368b..b71adbc0 100644
--- a/redpen-core/src/main/java/cc/redpen/validator/sentence/OkuriganaValidator.java
+++ b/redpen-core/src/main/java/cc/redpen/validator/sentence/OkuriganaValidator.java
@@ -26,7 +26,7 @@ import cc.redpen.validator.Validator;
 import java.util.*;
 
 // Checks if the Japanese input sentences contain the invalid Okurigana style.
-public final class OkuriganaValidator extends Validator {
+public class OkuriganaValidator extends Validator {
     private static final Set<String> invalidOkurigana;
     private static final Set<ExpressionRule> invalidOkuriganaTokens;
 
diff --git a/redpen-distribution/pom.xml b/redpen-distribution/pom.xml
index 18be56c3..764a4cdb 100644
--- a/redpen-distribution/pom.xml
+++ b/redpen-distribution/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>redpen</artifactId>
         <groupId>cc.redpen</groupId>
-        <version>1.4.5-SNAPSHOT</version>
+        <version>1.4.4-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/redpen-plugin/pom.xml b/redpen-plugin/pom.xml
index 248748f8..0ad25f23 100644
--- a/redpen-plugin/pom.xml
+++ b/redpen-plugin/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>redpen</artifactId>
         <groupId>cc.redpen</groupId>
-        <version>1.4.5-SNAPSHOT</version>
+        <version>1.4.4-SNAPSHOT</version>
     </parent>
     <packaging>jar</packaging>
     <modelVersion>4.0.0</modelVersion>
@@ -57,7 +57,7 @@
         <dependency>
             <groupId>cc.redpen</groupId>
             <artifactId>redpen-core</artifactId>
-            <version>1.4.5-SNAPSHOT</version>
+            <version>1.4.4-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
diff --git a/redpen-server/pom.xml b/redpen-server/pom.xml
index 53d80d2a..f03c83e2 100644
--- a/redpen-server/pom.xml
+++ b/redpen-server/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>redpen</artifactId>
         <groupId>cc.redpen</groupId>
-        <version>1.4.5-SNAPSHOT</version>
+        <version>1.4.4-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -165,7 +165,7 @@
         <dependency>
             <groupId>cc.redpen</groupId>
             <artifactId>redpen-core</artifactId>
-            <version>1.4.5-SNAPSHOT</version>
+            <version>1.4.4-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.wink</groupId>


Test patch:
diff --git a/redpen-core/src/test/java/cc/redpen/config/ConfigurationTest.java b/redpen-core/src/test/java/cc/redpen/config/ConfigurationTest.java
index 006fb6fc..a271f0b3 100644
--- a/redpen-core/src/test/java/cc/redpen/config/ConfigurationTest.java
+++ b/redpen-core/src/test/java/cc/redpen/config/ConfigurationTest.java
@@ -91,4 +91,23 @@ public class ConfigurationTest {
         SymbolTable symbolTable = new SymbolTable("ja", Optional.of("zenkaku"), emptyList());
         assertEquals("ja", new Configuration(symbolTable, emptyList(), "ja").getKey());
     }
+
+    @Test
+    public void configurationCanBeCloned() throws Exception {
+        Configuration conf = new Configuration.ConfigurationBuilder()
+          .setLanguage("ja")
+          .setVariant("hankaku")
+          .addValidatorConfig(new ValidatorConfiguration("SentenceLength")).build();
+
+        Configuration conf2 = conf.clone();
+        assertNotSame(conf, conf2);
+        assertEquals("ja", conf2.getLang());
+        assertEquals("hankaku", conf2.getVariant());
+
+        assertNotSame(conf.getValidatorConfigs().get(0), conf2.getValidatorConfigs().get(0));
+        assertEquals(conf.getValidatorConfigs(), conf2.getValidatorConfigs());
+
+        assertNotSame(conf.getSymbolTable(), conf2.getSymbolTable());
+        assertEquals(conf.getSymbolTable(), conf2.getSymbolTable());
+    }
 }