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();
-
- }
- }
-
}