You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2015/11/07 12:01:55 UTC

svn commit: r1713101 - in /maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering: AbstractFilterReaderLineEnding.java InterpolatorFilterReaderLineEnding.java MultiDelimiterInterpolatorFilterReaderLineEnding.java

Author: khmarbaise
Date: Sat Nov  7 11:01:55 2015
New Revision: 1713101

URL: http://svn.apache.org/viewvc?rev=1713101&view=rev
Log:
Refactored code.

Added:
    maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java
Modified:
    maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java
    maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java

Added: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java?rev=1713101&view=auto
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java (added)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java Sat Nov  7 11:01:55 2015
@@ -0,0 +1,114 @@
+package org.apache.maven.shared.filtering;
+
+/*
+ * 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.
+ */
+
+import java.io.FilterReader;
+import java.io.Reader;
+import java.util.LinkedHashSet;
+
+import org.codehaus.plexus.interpolation.multi.DelimiterSpecification;
+
+/**
+ * @author Karl Heinz Marbaise <kh...@apache.org>
+ */
+public abstract class AbstractFilterReaderLineEnding
+    extends FilterReader
+{
+
+    private String escapeString;
+
+    /**
+     * using escape or not.
+     */
+    protected boolean useEscape = false;
+
+    /**
+     * if true escapeString will be preserved \{foo} -> \{foo}
+     */
+    private boolean preserveEscapeString = false;
+
+    protected LinkedHashSet<DelimiterSpecification> delimiters = new LinkedHashSet<DelimiterSpecification>();
+
+    /**
+     * must always be bigger than escape string plus delimiters, but doesn't need to be exact
+     */
+    protected int markLength = 128;
+
+    protected AbstractFilterReaderLineEnding( Reader in )
+    {
+        super( in );
+    }
+
+    /**
+     * @return the escapce string.
+     */
+    public String getEscapeString()
+    {
+        return escapeString;
+    }
+
+    /**
+     * @param escapeString Set the value of the escape string.
+     */
+    public void setEscapeString( String escapeString )
+    {
+        // TODO NPE if escapeString is null ?
+        if ( escapeString != null && escapeString.length() >= 1 )
+        {
+            this.escapeString = escapeString;
+            this.useEscape = escapeString != null && escapeString.length() >= 1;
+            calculateMarkLength();
+        }
+    }
+
+    /**
+     * @return state of preserve escape string.
+     */
+    public boolean isPreserveEscapeString()
+    {
+        return preserveEscapeString;
+    }
+
+    /**
+     * @param preserveEscapeString preserve escape string {@code true} or {@code false}.
+     */
+    public void setPreserveEscapeString( boolean preserveEscapeString )
+    {
+        this.preserveEscapeString = preserveEscapeString;
+    }
+
+    protected void calculateMarkLength()
+    {
+        markLength = 128;
+
+        if ( escapeString != null )
+        {
+
+            markLength += escapeString.length();
+
+        }
+        for ( DelimiterSpecification spec : delimiters )
+        {
+            markLength += spec.getBegin().length();
+            markLength += spec.getEnd().length();
+
+        }
+    }
+}

Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java?rev=1713101&r1=1713100&r2=1713101&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java Sat Nov  7 11:01:55 2015
@@ -20,7 +20,6 @@ package org.apache.maven.shared.filterin
  */
 
 import java.io.BufferedReader;
-import java.io.FilterReader;
 import java.io.IOException;
 import java.io.Reader;
 
@@ -38,7 +37,7 @@ import org.codehaus.plexus.interpolation
  * @since 1.0
  */
 public class InterpolatorFilterReaderLineEnding
-    extends FilterReader
+    extends AbstractFilterReaderLineEnding
 {
 
     /**
@@ -77,22 +76,8 @@ public class InterpolatorFilterReaderLin
      */
     private boolean interpolateWithPrefixPattern = true;
 
-    private String escapeString;
-
-    private boolean useEscape = false;
-
-    /**
-     * if true escapeString will be preserved \{foo} -> \{foo}
-     */
-    private boolean preserveEscapeString = false;
-
     private boolean supportMultiLineFiltering;
 
-    /**
-     * must always be bigger than escape string plus delimiters, but doesn't need to be exact
-     */
-    private int markLength = 16;
-
     private boolean eof = false;
 
     /**
@@ -221,18 +206,18 @@ public class InterpolatorFilterReaderLin
             return ch;
         }
 
-        boolean inEscape = ( useEscape && ch == escapeString.charAt( 0 ) );
+        boolean inEscape = ( useEscape && ch == getEscapeString().charAt( 0 ) );
 
         StringBuilder key = new StringBuilder();
 
         // have we found an escape string?
         if ( inEscape )
         {
-            for ( int i = 0; i < escapeString.length(); i++ )
+            for ( int i = 0; i < getEscapeString().length(); i++ )
             {
                 key.append( (char) ch );
 
-                if ( ch != escapeString.charAt( i ) || ch == -1 || ( ch == '\n' && !supportMultiLineFiltering ) )
+                if ( ch != getEscapeString().charAt( i ) || ch == -1 || ( ch == '\n' && !supportMultiLineFiltering ) )
                 {
                     // mismatch, EOF or EOL, no escape string here
                     in.reset();
@@ -278,7 +263,7 @@ public class InterpolatorFilterReaderLin
 
             if ( beginToken != null )
             {
-                if ( !preserveEscapeString )
+                if ( !isPreserveEscapeString() )
                 {
                     key.setLength( 0 );
                 }
@@ -404,44 +389,6 @@ public class InterpolatorFilterReaderLin
     }
 
     /**
-     * @return The current value of escapeString.
-     */
-    public String getEscapeString()
-    {
-        return escapeString;
-    }
-
-    /**
-     * @param escapeString Set the value for escapeString.
-     */
-    public void setEscapeString( String escapeString )
-    {
-        // TODO NPE if escapeString is null ?
-        if ( escapeString != null && escapeString.length() >= 1 )
-        {
-            this.escapeString = escapeString;
-            this.useEscape = escapeString != null && escapeString.length() >= 1;
-            calculateMarkLength();
-        }
-    }
-
-    /**
-     * @return state of preserve escape string.
-     */
-    public boolean isPreserveEscapeString()
-    {
-        return preserveEscapeString;
-    }
-
-    /**
-     * @param preserveEscapeString {@link #preserveEscapeString}
-     */
-    public void setPreserveEscapeString( boolean preserveEscapeString )
-    {
-        this.preserveEscapeString = preserveEscapeString;
-    }
-
-    /**
      * @return {@link #recursionInterceptor}
      */
     public RecursionInterceptor getRecursionInterceptor()
@@ -459,25 +406,4 @@ public class InterpolatorFilterReaderLin
         return this;
     }
 
-    private void calculateMarkLength()
-    {
-        markLength = 16;
-
-        if ( escapeString != null )
-        {
-            markLength += escapeString.length();
-        }
-
-        if ( beginToken != null )
-        {
-            markLength += beginToken.length();
-        }
-
-        if ( endToken != null )
-        {
-            markLength += endToken.length();
-        }
-
-    }
-
 }

Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java?rev=1713101&r1=1713100&r2=1713101&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java Sat Nov  7 11:01:55 2015
@@ -20,10 +20,8 @@ package org.apache.maven.shared.filterin
  */
 
 import java.io.BufferedReader;
-import java.io.FilterReader;
 import java.io.IOException;
 import java.io.Reader;
-import java.util.LinkedHashSet;
 import java.util.Set;
 
 import org.codehaus.plexus.interpolation.InterpolationException;
@@ -41,7 +39,7 @@ import org.codehaus.plexus.interpolation
  * @since 1.0
  */
 public class MultiDelimiterInterpolatorFilterReaderLineEnding
-    extends FilterReader
+    extends AbstractFilterReaderLineEnding
 {
 
     /**
@@ -76,28 +74,12 @@ public class MultiDelimiterInterpolatorF
      */
     private boolean interpolateWithPrefixPattern = true;
 
-    private String escapeString;
-
-    private boolean useEscape = false;
-
-    /**
-     * if true escapeString will be preserved \{foo} -> \{foo}
-     */
-    private boolean preserveEscapeString = false;
-
-    private LinkedHashSet<DelimiterSpecification> delimiters = new LinkedHashSet<DelimiterSpecification>();
-
     private String beginToken;
 
     private String endToken;
 
     private boolean supportMultiLineFiltering;
 
-    /**
-     * must always be bigger than escape string plus delimiters, but doesn't need to be exact
-     */
-    private int markLength = 128;
-
     private static final int MAXIMUM_BUFFER_SIZE = 8192;
 
     private boolean eof = false;
@@ -156,7 +138,7 @@ public class MultiDelimiterInterpolatorF
      * @param specs set of specs.
      * @return {@link MultiDelimiterInterpolatorFilterReaderLineEnding}
      */
-    public MultiDelimiterInterpolatorFilterReaderLineEnding setDelimiterSpecs( Set<String> specs )
+    public AbstractFilterReaderLineEnding setDelimiterSpecs( Set<String> specs )
     {
         delimiters.clear();
         for ( String spec : specs )
@@ -253,18 +235,18 @@ public class MultiDelimiterInterpolatorF
             return ch;
         }
 
-        boolean inEscape = ( useEscape && ch == escapeString.charAt( 0 ) );
+        boolean inEscape = ( useEscape && ch == getEscapeString().charAt( 0 ) );
 
         StringBuilder key = new StringBuilder();
 
         // have we found an escape string?
         if ( inEscape )
         {
-            for ( int i = 0; i < escapeString.length(); i++ )
+            for ( int i = 0; i < getEscapeString().length(); i++ )
             {
                 key.append( (char) ch );
 
-                if ( ch != escapeString.charAt( i ) || ch == -1 || ( ch == '\n' && !supportMultiLineFiltering ) )
+                if ( ch != getEscapeString().charAt( i ) || ch == -1 || ( ch == '\n' && !supportMultiLineFiltering ) )
                 {
                     // mismatch, EOF or EOL, no escape string here
                     in.reset();
@@ -323,7 +305,7 @@ public class MultiDelimiterInterpolatorF
 
             if ( beginToken != null )
             {
-                if ( !preserveEscapeString )
+                if ( !isPreserveEscapeString() )
                 {
                     key.setLength( 0 );
                 }
@@ -462,44 +444,6 @@ public class MultiDelimiterInterpolatorF
     }
 
     /**
-     * @return the escapce string.
-     */
-    public String getEscapeString()
-    {
-        return escapeString;
-    }
-
-    /**
-     * @param escapeString Set the value of the escape string.
-     */
-    public void setEscapeString( String escapeString )
-    {
-        // TODO NPE if escapeString is null ?
-        if ( escapeString != null && escapeString.length() >= 1 )
-        {
-            this.escapeString = escapeString;
-            this.useEscape = escapeString != null && escapeString.length() >= 1;
-            calculateMarkLength();
-        }
-    }
-
-    /**
-     * @return state of preserve escape string.
-     */
-    public boolean isPreserveEscapeString()
-    {
-        return preserveEscapeString;
-    }
-
-    /**
-     * @param preserveEscapeString preserve escape string {@code true} or {@code false}.
-     */
-    public void setPreserveEscapeString( boolean preserveEscapeString )
-    {
-        this.preserveEscapeString = preserveEscapeString;
-    }
-
-    /**
      * @return {@link RecursionInterceptor}
      */
     public RecursionInterceptor getRecursionInterceptor()
@@ -512,29 +456,11 @@ public class MultiDelimiterInterpolatorF
      * @return this
      */
     // CHECKSTYLE_OFF: LineLength
-    public MultiDelimiterInterpolatorFilterReaderLineEnding setRecursionInterceptor( RecursionInterceptor givenRecursionInterceptor )
+    public AbstractFilterReaderLineEnding setRecursionInterceptor( RecursionInterceptor givenRecursionInterceptor )
     // CHECKSTYLE_ON: LineLength
     {
         this.recursionInterceptor = givenRecursionInterceptor;
         return this;
     }
 
-    private void calculateMarkLength()
-    {
-        markLength = 128;
-
-        if ( escapeString != null )
-        {
-
-            markLength += escapeString.length();
-
-        }
-        for ( DelimiterSpecification spec : delimiters )
-        {
-            markLength += spec.getBegin().length();
-            markLength += spec.getEnd().length();
-
-        }
-    }
-
 }