You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2018/06/30 12:37:22 UTC
[maven-jxr] 01/05: Replace all Vector instances
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-jxr.git
commit cf8f7273777477b75c1ec05f9478cb8027c96536
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Jun 30 12:12:15 2018 +0200
Replace all Vector instances
---
.../org/apache/maven/jxr/JavaCodeTransform.java | 40 ++++----
.../java/org/apache/maven/jxr/pacman/JavaFile.java | 16 ++--
.../apache/maven/jxr/util/SimpleWordTokenizer.java | 26 +++---
.../maven/jxr/util/SimpleWordTokenizerTest.java | 104 +++++++++++----------
4 files changed, 88 insertions(+), 98 deletions(-)
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java b/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
index 8357637..d4d2311 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
@@ -55,9 +55,11 @@ import java.io.PrintWriter;
import java.io.Reader;
import java.io.Serializable;
import java.io.Writer;
+import java.util.HashSet;
import java.util.Hashtable;
+import java.util.List;
import java.util.Locale;
-import java.util.Vector;
+import java.util.Set;
/**
* Syntax highlights java by turning it into html. A codeviewer object is created and then keeps state as lines are
@@ -661,13 +663,12 @@ public class JavaCodeTransform
// now replace the word in the buffer with the link
String replace = link;
- StringEntry[] tokens = SimpleWordTokenizer.tokenize( buff.toString(), find );
+ List<StringEntry> tokens = SimpleWordTokenizer.tokenize( buff.toString(), find );
- for ( int l = 0; l < tokens.length; ++l )
+ for ( StringEntry token : tokens )
{
-
- int start = tokens[l].getIndex();
- int end = tokens[l].getIndex() + find.length();
+ int start = token.getIndex();
+ int end = token.getIndex() + find.length();
buff.replace( start, end, replace );
@@ -1183,35 +1184,28 @@ public class JavaCodeTransform
return line;
}
- Vector<String> v = new Vector<String>();
+ Set<String> packages = new HashSet<String>();
// get the imported packages
- ImportType[] imports = jf.getImportTypes();
- for ( int j = 0; j < imports.length; ++j )
+ for ( ImportType importType : jf.getImportTypes() )
{
- v.addElement( imports[j].getPackage() );
+ packages.add( importType.getPackage() );
}
// add the current package.
- v.addElement( jf.getPackageType().getName() );
-
- String[] packages = new String[v.size()];
- v.copyInto( packages );
+ packages.add( jf.getPackageType().getName() );
- StringEntry[] words = SimpleWordTokenizer.tokenize( line );
+ List<StringEntry> words = SimpleWordTokenizer.tokenize( line );
// go through each word and then match them to the correct class if necessary.
- for ( int i = 0; i < words.length; ++i )
+ for ( StringEntry word : words )
{
- // each word
- StringEntry word = words[i];
-
- for ( int j = 0; j < packages.length; ++j )
+ for ( String pkg : packages )
{
// get the package from the PackageManager because this will hold
// the version with the classes also.
- PackageType currentImport = packageManager.getPackageType( packages[j] );
+ PackageType currentImport = packageManager.getPackageType( pkg );
// the package here might in fact be null because it wasn't parsed out
// this might be something that is either not included or is part
@@ -1265,12 +1259,12 @@ public class JavaCodeTransform
{
// then the package we are currently in is the one specified in the string
// and the import class is correct.
- line = xrLine( line, packages[j], currentImport.getClassType( fqpnClass ) );
+ line = xrLine( line, pkg, currentImport.getClassType( fqpnClass ) );
}
}
else if ( currentImport.getClassType( wordName ) != null )
{
- line = xrLine( line, packages[j], currentImport.getClassType( wordName ) );
+ line = xrLine( line, pkg, currentImport.getClassType( wordName ) );
}
}
}
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/JavaFile.java b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/JavaFile.java
index cd7f068..3ac8d97 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/JavaFile.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/JavaFile.java
@@ -20,8 +20,10 @@ package org.apache.maven.jxr.pacman;
*/
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
-import java.util.Vector;
+import java.util.Set;
/**
* Interface for objects which wish to provide meta-info about a JavaFile.
@@ -31,8 +33,7 @@ import java.util.Vector;
*/
public abstract class JavaFile
{
-
- private Vector<ImportType> imports = new Vector<ImportType>();
+ private Set<ImportType> imports = new HashSet<ImportType>();
private List<ClassType> classTypes = new ArrayList<ClassType>();
@@ -45,12 +46,9 @@ public abstract class JavaFile
/**
* Get the imported packages/files that this package has.
*/
- public ImportType[] getImportTypes()
+ public Set<ImportType> getImportTypes()
{
-
- ImportType[] it = new ImportType[this.imports.size()];
- this.imports.copyInto( it );
- return it;
+ return Collections.unmodifiableSet( imports );
}
/**
@@ -99,7 +97,7 @@ public abstract class JavaFile
*/
public void addImportType( ImportType importType )
{
- this.imports.addElement( importType );
+ this.imports.add( importType );
}
/**
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java b/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java
index 5cdfe1a..12fc16b 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java
@@ -19,8 +19,9 @@ package org.apache.maven.jxr.util;
* under the License.
*/
+import java.util.ArrayList;
import java.util.Collections;
-import java.util.Vector;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -42,7 +43,7 @@ public class SimpleWordTokenizer
/**
* Break the given line into multiple StringUtils
*/
- public static StringEntry[] tokenize( String line )
+ public static List<StringEntry> tokenize( String line )
{
/*
@@ -55,7 +56,7 @@ public class SimpleWordTokenizer
if ( line == null || line.length() == 0 || start == -1 )
{
- return new StringEntry[0];
+ return Collections.emptyList();
}
return tokenize( line, start );
@@ -67,35 +68,32 @@ public class SimpleWordTokenizer
* @param line String to search in
* @param find String to match.
*/
- public static StringEntry[] tokenize( String line, String find )
+ public static List<StringEntry> tokenize( String line, String find )
{
- Vector<StringEntry> v = new Vector<StringEntry>();
+ List<StringEntry> foundTokens = new ArrayList<StringEntry>();
for ( StringEntry se : tokenize( line ) )
{
if ( se.toString().equals( find ) )
{
- v.addElement( se );
+ foundTokens.add( se );
}
}
- StringEntry[] found = new StringEntry[v.size()];
- Collections.sort( v );
- v.copyInto( found );
- return found;
+ return foundTokens;
}
/**
* Internal impl. Specify the start and end.
*/
- private static StringEntry[] tokenize( String line, int start )
+ private static List<StringEntry> tokenize( String line, int start )
{
Matcher matcher = NONBREAKERS.matcher( line.substring( start ) );
- Vector<StringEntry> words = new Vector<StringEntry>();
+ List<StringEntry> words = new ArrayList<StringEntry>();
while ( matcher.find() )
{
@@ -103,9 +101,7 @@ public class SimpleWordTokenizer
words.add( entry );
}
- StringEntry[] found = new StringEntry[words.size()];
- words.copyInto( found );
- return found;
+ return words;
}
/**
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/util/SimpleWordTokenizerTest.java b/maven-jxr/src/test/java/org/apache/maven/jxr/util/SimpleWordTokenizerTest.java
index 43c0a15..16a5ec1 100644
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/util/SimpleWordTokenizerTest.java
+++ b/maven-jxr/src/test/java/org/apache/maven/jxr/util/SimpleWordTokenizerTest.java
@@ -21,6 +21,8 @@ package org.apache.maven.jxr.util;
import static org.junit.Assert.assertEquals;
+import java.util.List;
+
import org.junit.Test;
public class SimpleWordTokenizerTest
@@ -28,97 +30,97 @@ public class SimpleWordTokenizerTest
@Test
public void testCompact()
{
- StringEntry[] entries = SimpleWordTokenizer.tokenize( "public void withApp1(App app)" );
- assertEquals( 5, entries.length );
+ List<StringEntry> entries = SimpleWordTokenizer.tokenize( "public void withApp1(App app)" );
+ assertEquals( 5, entries.size() );
- assertEquals( "public", entries[0].toString() );
- assertEquals( 0, entries[0].getIndex() );
+ assertEquals( "public", entries.get(0).toString() );
+ assertEquals( 0, entries.get(0).getIndex() );
- assertEquals( "void", entries[1].toString() );
- assertEquals( 7, entries[1].getIndex() );
+ assertEquals( "void", entries.get(1).toString() );
+ assertEquals( 7, entries.get(1).getIndex() );
- assertEquals( "withApp1", entries[2].toString() );
- assertEquals( 12, entries[2].getIndex() );
+ assertEquals( "withApp1", entries.get(2).toString() );
+ assertEquals( 12, entries.get(2).getIndex() );
- assertEquals( "App", entries[3].toString() );
- assertEquals( 21, entries[3].getIndex() );
+ assertEquals( "App", entries.get(3).toString() );
+ assertEquals( 21, entries.get(3).getIndex() );
- assertEquals( "app", entries[4].toString() );
- assertEquals( 25, entries[4].getIndex() );
+ assertEquals( "app", entries.get(4).toString() );
+ assertEquals( 25, entries.get(4).getIndex() );
}
@Test
public void testSpacesAroundParenOpen()
{
- StringEntry[] entries = SimpleWordTokenizer.tokenize( "public void withApp2 ( App app)" );
- assertEquals( 5, entries.length );
+ List<StringEntry> entries = SimpleWordTokenizer.tokenize( "public void withApp2 ( App app)" );
+ assertEquals( 5, entries.size() );
- assertEquals( "public", entries[0].toString() );
- assertEquals( 0, entries[0].getIndex() );
+ assertEquals( "public", entries.get(0).toString() );
+ assertEquals( 0, entries.get(0).getIndex() );
- assertEquals( "void", entries[1].toString() );
- assertEquals( 7, entries[1].getIndex() );
+ assertEquals( "void", entries.get(1).toString() );
+ assertEquals( 7, entries.get(1).getIndex() );
- assertEquals( "withApp2", entries[2].toString() );
- assertEquals( 12, entries[2].getIndex() );
+ assertEquals( "withApp2", entries.get(2).toString() );
+ assertEquals( 12, entries.get(2).getIndex() );
- assertEquals( "App", entries[3].toString() );
- assertEquals( 23, entries[3].getIndex() );
+ assertEquals( "App", entries.get(3).toString() );
+ assertEquals( 23, entries.get(3).getIndex() );
- assertEquals( "app", entries[4].toString() );
- assertEquals( 27, entries[4].getIndex() );
+ assertEquals( "app", entries.get(4).toString() );
+ assertEquals( 27, entries.get(4).getIndex() );
}
@Test
public void testSpaceBeforeParenOpen()
{
- StringEntry[] entries = SimpleWordTokenizer.tokenize( "public void withApp3 (App app)" );
- assertEquals( 5, entries.length );
+ List<StringEntry> entries = SimpleWordTokenizer.tokenize( "public void withApp3 (App app)" );
+ assertEquals( 5, entries.size() );
- assertEquals( "public", entries[0].toString() );
- assertEquals( 0, entries[0].getIndex() );
+ assertEquals( "public", entries.get(0).toString() );
+ assertEquals( 0, entries.get(0).getIndex() );
- assertEquals( "void", entries[1].toString() );
- assertEquals( 7, entries[1].getIndex() );
+ assertEquals( "void", entries.get(1).toString() );
+ assertEquals( 7, entries.get(1).getIndex() );
- assertEquals( "withApp3", entries[2].toString() );
- assertEquals( 12, entries[2].getIndex() );
+ assertEquals( "withApp3", entries.get(2).toString() );
+ assertEquals( 12, entries.get(2).getIndex() );
- assertEquals( "App", entries[3].toString() );
- assertEquals( 22, entries[3].getIndex() );
+ assertEquals( "App", entries.get(3).toString() );
+ assertEquals( 22, entries.get(3).getIndex() );
- assertEquals( "app", entries[4].toString() );
- assertEquals( 26, entries[4].getIndex() );
+ assertEquals( "app", entries.get(4).toString() );
+ assertEquals( 26, entries.get(4).getIndex() );
}
@Test
public void testSpaceAfterParenOpen()
{
- StringEntry[] entries = SimpleWordTokenizer.tokenize( "public void withApp4( App app)" );
- assertEquals( 5, entries.length );
+ List<StringEntry> entries = SimpleWordTokenizer.tokenize( "public void withApp4( App app)" );
+ assertEquals( 5, entries.size() );
- assertEquals( "public", entries[0].toString() );
- assertEquals( 0, entries[0].getIndex() );
+ assertEquals( "public", entries.get(0).toString() );
+ assertEquals( 0, entries.get(0).getIndex() );
- assertEquals( "void", entries[1].toString() );
- assertEquals( 7, entries[1].getIndex() );
+ assertEquals( "void", entries.get(1).toString() );
+ assertEquals( 7, entries.get(1).getIndex() );
- assertEquals( "withApp4", entries[2].toString() );
- assertEquals( 12, entries[2].getIndex() );
+ assertEquals( "withApp4", entries.get(2).toString() );
+ assertEquals( 12, entries.get(2).getIndex() );
- assertEquals( "App", entries[3].toString() );
- assertEquals( 22, entries[3].getIndex() );
+ assertEquals( "App", entries.get(3).toString() );
+ assertEquals( 22, entries.get(3).getIndex() );
- assertEquals( "app", entries[4].toString() );
- assertEquals( 26, entries[4].getIndex() );
+ assertEquals( "app", entries.get(4).toString() );
+ assertEquals( 26, entries.get(4).getIndex() );
}
@Test
public void testWithIndent()
{
- StringEntry[] entries = SimpleWordTokenizer.tokenize( " public void withApp3 (App app)", "App" );
- assertEquals( 1, entries.length );
+ List<StringEntry> entries = SimpleWordTokenizer.tokenize( " public void withApp3 (App app)", "App" );
+ assertEquals( 1, entries.size() );
- assertEquals( 26, entries[0].getIndex() );
+ assertEquals( 26, entries.get(0).getIndex() );
}
}
\ No newline at end of file