attClass) {
+ AttributeImpl attImpl = attributes.get(attClass);
+ if (attImpl == null) {
+ addAttributeImpl(attImpl = this.factory.createAttributeInstance(attClass));
}
+ return (A) attImpl;
}
/** Returns true, iff this AttributeSource has any attributes */
@@ -237,16 +232,14 @@
/**
* The caller must pass in a Class<? extends Attribute> value.
* Returns true, iff this AttributeSource contains the passed-in Attribute.
- * Signature for Java 1.5: public boolean hasAttribute(Class<? extends Attribute>)
*/
- public boolean hasAttribute(Class attClass) {
+ public boolean hasAttribute(Class extends Attribute> attClass) {
return this.attributes.containsKey(attClass);
}
/**
* The caller must pass in a Class<? extends Attribute> value.
* Returns the instance of the passed in Attribute contained in this AttributeSource
- *
Signature for Java 1.5: public <T extends Attribute> T getAttribute(Class<T>)
*
* @throws IllegalArgumentException if this AttributeSource does not contain the
* Attribute. It is recommended to always use {@link #addAttribute} even in consumers
@@ -255,12 +248,12 @@
* available. If you want to only use the attribute, if it is available (to optimize
* consuming), use {@link #hasAttribute}.
*/
- public Attribute getAttribute(Class attClass) {
- final Attribute att = (Attribute) this.attributes.get(attClass);
+ public A getAttribute(Class attClass) {
+ // the following cast is unchecked, because compiler does not know if implementation really implements A
+ @SuppressWarnings("unchecked") final A att = (A) this.attributes.get(attClass);
if (att == null) {
throw new IllegalArgumentException("This AttributeSource does not have the attribute '" + attClass.getName() + "'.");
}
-
return att;
}
@@ -290,12 +283,12 @@
private void computeCurrentState() {
currentState = new State();
State c = currentState;
- Iterator it = attributeImpls.values().iterator();
- c.attribute = (AttributeImpl) it.next();
+ final Iterator it = attributeImpls.values().iterator();
+ c.attribute = it.next();
while (it.hasNext()) {
c.next = new State();
c = c.next;
- c.attribute = (AttributeImpl) it.next();
+ c.attribute = it.next();
}
}
@@ -348,7 +341,7 @@
if (state == null) return;
do {
- AttributeImpl targetImpl = (AttributeImpl) attributeImpls.get(state.attribute.getClass());
+ AttributeImpl targetImpl = attributeImpls.get(state.attribute.getClass());
if (targetImpl == null)
throw new IllegalArgumentException("State contains an AttributeImpl that is not in this AttributeSource");
state.attribute.copyTo(targetImpl);
@@ -412,9 +405,7 @@
}
public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append('(');
-
+ StringBuilder sb = new StringBuilder().append('(');
if (hasAttributes()) {
if (currentState == null) {
computeCurrentState();
@@ -424,8 +415,7 @@
sb.append(state.attribute.toString());
}
}
- sb.append(')');
- return sb.toString();
+ return sb.append(')').toString();
}
/**
@@ -442,14 +432,12 @@
computeCurrentState();
}
for (State state = currentState; state != null; state = state.next) {
- clone.attributeImpls.put(state.attribute.getClass(), state.attribute.clone());
+ clone.attributeImpls.put(state.attribute.getClass(), (AttributeImpl) state.attribute.clone());
}
}
// now the interfaces
- Iterator/*, AttributeImpl>>*/ attIt = this.attributes.entrySet().iterator();
- while (attIt.hasNext()) {
- Entry/*, AttributeImpl>*/ entry = (Entry/*, AttributeImpl>*/) attIt.next();
+ for (Entry, AttributeImpl> entry : this.attributes.entrySet()) {
clone.attributes.put(entry.getKey(), clone.attributeImpls.get(entry.getValue().getClass()));
}
Index: src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
===================================================================
--- src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java (working copy)
@@ -89,24 +89,24 @@
public static void assertTokenStreamContents(TokenStream ts, String[] output, int startOffsets[], int endOffsets[], String types[], int posIncrements[]) throws IOException {
assertNotNull(output);
assertTrue("has TermAttribute", ts.hasAttribute(TermAttribute.class));
- TermAttribute termAtt = (TermAttribute) ts.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = ts.getAttribute(TermAttribute.class);
OffsetAttribute offsetAtt = null;
if (startOffsets != null || endOffsets != null) {
assertTrue("has OffsetAttribute", ts.hasAttribute(OffsetAttribute.class));
- offsetAtt = (OffsetAttribute) ts.getAttribute(OffsetAttribute.class);
+ offsetAtt = ts.getAttribute(OffsetAttribute.class);
}
TypeAttribute typeAtt = null;
if (types != null) {
assertTrue("has TypeAttribute", ts.hasAttribute(TypeAttribute.class));
- typeAtt = (TypeAttribute) ts.getAttribute(TypeAttribute.class);
+ typeAtt = ts.getAttribute(TypeAttribute.class);
}
PositionIncrementAttribute posIncrAtt = null;
if (posIncrements != null) {
assertTrue("has PositionIncrementAttribute", ts.hasAttribute(PositionIncrementAttribute.class));
- posIncrAtt = (PositionIncrementAttribute) ts.getAttribute(PositionIncrementAttribute.class);
+ posIncrAtt = ts.getAttribute(PositionIncrementAttribute.class);
}
ts.reset();
Index: src/test/org/apache/lucene/analysis/TestAnalyzers.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestAnalyzers.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestAnalyzers.java (working copy)
@@ -82,7 +82,7 @@
}
void verifyPayload(TokenStream ts) throws IOException {
- PayloadAttribute payloadAtt = (PayloadAttribute) ts.getAttribute(PayloadAttribute.class);
+ PayloadAttribute payloadAtt = ts.getAttribute(PayloadAttribute.class);
for(byte b=1;;b++) {
boolean hasNext = ts.incrementToken();
if (!hasNext) break;
@@ -139,7 +139,7 @@
PayloadAttribute payloadAtt;
public PayloadSetter(TokenStream input) {
super(input);
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
byte[] data = new byte[1];
Index: src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java (working copy)
@@ -34,7 +34,7 @@
+" ð ñ ò ó ô õ ö ø œ ß þ ù ú û ü ý ÿ fi fl"));
ASCIIFoldingFilter filter = new ASCIIFoldingFilter(stream);
- TermAttribute termAtt = (TermAttribute) filter.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = filter.getAttribute(TermAttribute.class);
assertTermEquals("Des", filter, termAtt);
assertTermEquals("mot", filter, termAtt);
@@ -1891,7 +1891,7 @@
TokenStream stream = new WhitespaceTokenizer(new StringReader(inputText.toString()));
ASCIIFoldingFilter filter = new ASCIIFoldingFilter(stream);
- TermAttribute termAtt = (TermAttribute) filter.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = filter.getAttribute(TermAttribute.class);
Iterator expectedIter = expectedOutputTokens.iterator();
while (expectedIter.hasNext()) {;
assertTermEquals((String)expectedIter.next(), filter, termAtt);
Index: src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java (working copy)
@@ -41,8 +41,8 @@
Document doc = new Document();
TokenStream stream = new TokenStream() {
private int index = 0;
- private TermAttribute termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- private OffsetAttribute offsetAtt = (OffsetAttribute) addAttribute(OffsetAttribute.class);
+ private TermAttribute termAtt = addAttribute(TermAttribute.class);
+ private OffsetAttribute offsetAtt = addAttribute(OffsetAttribute.class);
public boolean incrementToken() throws IOException {
if (index == tokens.length) {
@@ -96,7 +96,7 @@
private void checkTokens(TokenStream stream) throws IOException {
int count = 0;
- TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
assertNotNull(termAtt);
while (stream.incrementToken()) {
assertTrue(count < tokens.length);
Index: src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (working copy)
@@ -25,7 +25,7 @@
public void testU() throws Exception {
TokenStream stream = new WhitespaceTokenizer(new StringReader("Des mot clés À LA CHAÎNE À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï IJ Ð Ñ Ò Ó Ô Õ Ö Ø Œ Þ Ù Ú Û Ü Ý Ÿ à á â ã ä å æ ç è é ê ë ì í î ï ij ð ñ ò ó ô õ ö ø œ ß þ ù ú û ü ý ÿ fi fl"));
ISOLatin1AccentFilter filter = new ISOLatin1AccentFilter(stream);
- TermAttribute termAtt = (TermAttribute) filter.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = filter.getAttribute(TermAttribute.class);
assertTermEquals("Des", filter, termAtt);
assertTermEquals("mot", filter, termAtt);
assertTermEquals("cles", filter, termAtt);
Index: src/test/org/apache/lucene/analysis/TestKeywordAnalyzer.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestKeywordAnalyzer.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestKeywordAnalyzer.java (working copy)
@@ -88,7 +88,7 @@
// LUCENE-1441
public void testOffsets() throws Exception {
TokenStream stream = new KeywordAnalyzer().tokenStream("field", new StringReader("abcd"));
- OffsetAttribute offsetAtt = (OffsetAttribute) stream.addAttribute(OffsetAttribute.class);
+ OffsetAttribute offsetAtt = stream.addAttribute(OffsetAttribute.class);
assertTrue(stream.incrementToken());
assertEquals(0, offsetAtt.startOffset());
assertEquals(4, offsetAtt.endOffset());
Index: src/test/org/apache/lucene/analysis/TestLengthFilter.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestLengthFilter.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestLengthFilter.java (working copy)
@@ -27,7 +27,7 @@
TokenStream stream = new WhitespaceTokenizer(
new StringReader("short toolong evenmuchlongertext a ab toolong foo"));
LengthFilter filter = new LengthFilter(stream, 2, 6);
- TermAttribute termAtt = (TermAttribute) filter.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = filter.getAttribute(TermAttribute.class);
assertTrue(filter.incrementToken());
assertEquals("short", termAtt.term());
Index: src/test/org/apache/lucene/analysis/TestNumericTokenStream.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestNumericTokenStream.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestNumericTokenStream.java (working copy)
@@ -29,8 +29,8 @@
public void testLongStream() throws Exception {
final NumericTokenStream stream=new NumericTokenStream().setLongValue(lvalue);
// use getAttribute to test if attributes really exist, if not an IAE will be throwed
- final TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
- final TypeAttribute typeAtt = (TypeAttribute) stream.getAttribute(TypeAttribute.class);
+ final TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
+ final TypeAttribute typeAtt = stream.getAttribute(TypeAttribute.class);
for (int shift=0; shift<64; shift+=NumericUtils.PRECISION_STEP_DEFAULT) {
assertTrue("New token is available", stream.incrementToken());
assertEquals("Term is correctly encoded", NumericUtils.longToPrefixCoded(lvalue, shift), termAtt.term());
@@ -42,8 +42,8 @@
public void testIntStream() throws Exception {
final NumericTokenStream stream=new NumericTokenStream().setIntValue(ivalue);
// use getAttribute to test if attributes really exist, if not an IAE will be throwed
- final TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
- final TypeAttribute typeAtt = (TypeAttribute) stream.getAttribute(TypeAttribute.class);
+ final TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
+ final TypeAttribute typeAtt = stream.getAttribute(TypeAttribute.class);
for (int shift=0; shift<32; shift+=NumericUtils.PRECISION_STEP_DEFAULT) {
assertTrue("New token is available", stream.incrementToken());
assertEquals("Term is correctly encoded", NumericUtils.intToPrefixCoded(ivalue, shift), termAtt.term());
Index: src/test/org/apache/lucene/analysis/TestPerFieldAnalzyerWrapper.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestPerFieldAnalzyerWrapper.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestPerFieldAnalzyerWrapper.java (working copy)
@@ -30,7 +30,7 @@
TokenStream tokenStream = analyzer.tokenStream("field",
new StringReader(text));
- TermAttribute termAtt = (TermAttribute) tokenStream.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = tokenStream.getAttribute(TermAttribute.class);
assertTrue(tokenStream.incrementToken());
assertEquals("WhitespaceAnalyzer does not lowercase",
@@ -39,7 +39,7 @@
tokenStream = analyzer.tokenStream("special",
new StringReader(text));
- termAtt = (TermAttribute) tokenStream.getAttribute(TermAttribute.class);
+ termAtt = tokenStream.getAttribute(TermAttribute.class);
assertTrue(tokenStream.incrementToken());
assertEquals("SimpleAnalyzer lowercases",
"qwerty",
Index: src/test/org/apache/lucene/analysis/TestStopAnalyzer.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestStopAnalyzer.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestStopAnalyzer.java (working copy)
@@ -49,7 +49,7 @@
StringReader reader = new StringReader("This is a test of the english stop analyzer");
TokenStream stream = stop.tokenStream("test", reader);
assertTrue(stream != null);
- TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
while (stream.incrementToken()) {
assertFalse(inValidTokens.contains(termAtt.term()));
@@ -65,8 +65,8 @@
StringReader reader = new StringReader("This is a good test of the english stop analyzer");
TokenStream stream = newStop.tokenStream("test", reader);
assertNotNull(stream);
- TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) stream.addAttribute(PositionIncrementAttribute.class);
+ TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
+ PositionIncrementAttribute posIncrAtt = stream.addAttribute(PositionIncrementAttribute.class);
while (stream.incrementToken()) {
String text = termAtt.term();
@@ -89,8 +89,8 @@
TokenStream stream = newStop.tokenStream("test", reader);
assertNotNull(stream);
int i = 0;
- TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) stream.addAttribute(PositionIncrementAttribute.class);
+ TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
+ PositionIncrementAttribute posIncrAtt = stream.addAttribute(PositionIncrementAttribute.class);
while (stream.incrementToken()) {
String text = termAtt.term();
Index: src/test/org/apache/lucene/analysis/TestStopFilter.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestStopFilter.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestStopFilter.java (working copy)
@@ -36,7 +36,7 @@
StringReader reader = new StringReader("Now is The Time");
String[] stopWords = new String[] { "is", "the", "Time" };
TokenStream stream = new StopFilter(false, new WhitespaceTokenizer(reader), stopWords);
- final TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ final TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
assertTrue(stream.incrementToken());
assertEquals("Now", termAtt.term());
assertTrue(stream.incrementToken());
@@ -48,7 +48,7 @@
StringReader reader = new StringReader("Now is The Time");
String[] stopWords = new String[] { "is", "the", "Time" };
TokenStream stream = new StopFilter(false, new WhitespaceTokenizer(reader), stopWords, true);
- final TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ final TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
assertTrue(stream.incrementToken());
assertEquals("Now", termAtt.term());
assertFalse(stream.incrementToken());
@@ -59,7 +59,7 @@
String[] stopWords = new String[] { "is", "the", "Time" };
Set stopSet = StopFilter.makeStopSet(stopWords);
TokenStream stream = new StopFilter(false, new WhitespaceTokenizer(reader), stopSet);
- final TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ final TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
assertTrue(stream.incrementToken());
assertEquals("Now", termAtt.term());
assertTrue(stream.incrementToken());
@@ -116,8 +116,8 @@
private void doTestStopPositons(StopFilter stpf, boolean enableIcrements) throws IOException {
log("---> test with enable-increments-"+(enableIcrements?"enabled":"disabled"));
stpf.setEnablePositionIncrements(enableIcrements);
- TermAttribute termAtt = (TermAttribute) stpf.getAttribute(TermAttribute.class);
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) stpf.getAttribute(PositionIncrementAttribute.class);
+ TermAttribute termAtt = stpf.getAttribute(TermAttribute.class);
+ PositionIncrementAttribute posIncrAtt = stpf.getAttribute(PositionIncrementAttribute.class);
for (int i=0; i<20; i+=3) {
assertTrue(stpf.incrementToken());
log("Token "+i+": "+stpf);
Index: src/test/org/apache/lucene/analysis/TestTeeSinkTokenFilter.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestTeeSinkTokenFilter.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestTeeSinkTokenFilter.java (working copy)
@@ -59,14 +59,14 @@
static final TeeSinkTokenFilter.SinkFilter theFilter = new TeeSinkTokenFilter.SinkFilter() {
public boolean accept(AttributeSource a) {
- TermAttribute termAtt = (TermAttribute) a.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = a.getAttribute(TermAttribute.class);
return termAtt.term().equalsIgnoreCase("The");
}
};
static final TeeSinkTokenFilter.SinkFilter dogFilter = new TeeSinkTokenFilter.SinkFilter() {
public boolean accept(AttributeSource a) {
- TermAttribute termAtt = (TermAttribute) a.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = a.getAttribute(TermAttribute.class);
return termAtt.term().equalsIgnoreCase("Dogs");
}
};
@@ -77,7 +77,7 @@
final TokenStream sink1 = source.newSinkTokenStream();
final TokenStream sink2 = source.newSinkTokenStream(theFilter);
int i = 0;
- TermAttribute termAtt = (TermAttribute) source.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = source.getAttribute(TermAttribute.class);
while (source.incrementToken()) {
assertEquals(tokens1[i], termAtt.term());
i++;
@@ -85,7 +85,7 @@
assertEquals(tokens1.length, i);
i = 0;
- termAtt = (TermAttribute) sink1.getAttribute(TermAttribute.class);
+ termAtt = sink1.getAttribute(TermAttribute.class);
while (sink1.incrementToken()) {
assertEquals(tokens1[i], termAtt.term());
i++;
@@ -93,7 +93,7 @@
assertEquals(tokens1.length, i);
i = 0;
- termAtt = (TermAttribute) sink2.getAttribute(TermAttribute.class);
+ termAtt = sink2.getAttribute(TermAttribute.class);
while (sink2.incrementToken()) {
assertTrue(termAtt.term().equalsIgnoreCase("The"));
i++;
@@ -113,28 +113,28 @@
final TokenStream source2 = tee2;
int i = 0;
- TermAttribute termAtt = (TermAttribute) source1.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = source1.getAttribute(TermAttribute.class);
while (source1.incrementToken()) {
assertEquals(tokens1[i], termAtt.term());
i++;
}
assertEquals(tokens1.length, i);
i = 0;
- termAtt = (TermAttribute) source2.getAttribute(TermAttribute.class);
+ termAtt = source2.getAttribute(TermAttribute.class);
while (source2.incrementToken()) {
assertEquals(tokens2[i], termAtt.term());
i++;
}
assertEquals(tokens2.length, i);
i = 0;
- termAtt = (TermAttribute) theDetector.getAttribute(TermAttribute.class);
+ termAtt = theDetector.getAttribute(TermAttribute.class);
while (theDetector.incrementToken()) {
assertTrue("'" + termAtt.term() + "' is not equal to 'The'", termAtt.term().equalsIgnoreCase("The"));
i++;
}
assertEquals("there must be 4 times 'The' in the stream", 4, i);
i = 0;
- termAtt = (TermAttribute) dogDetector.getAttribute(TermAttribute.class);
+ termAtt = dogDetector.getAttribute(TermAttribute.class);
while (dogDetector.incrementToken()) {
assertTrue("'" + termAtt.term() + "' is not equal to 'Dogs'", termAtt.term().equalsIgnoreCase("Dogs"));
i++;
@@ -144,7 +144,7 @@
source1.reset();
TokenStream lowerCasing = new LowerCaseFilter(source1);
i = 0;
- termAtt = (TermAttribute) lowerCasing.getAttribute(TermAttribute.class);
+ termAtt = lowerCasing.getAttribute(TermAttribute.class);
while (lowerCasing.incrementToken()) {
assertEquals(tokens1[i].toLowerCase(), termAtt.term());
i++;
@@ -171,8 +171,8 @@
TokenStream sink = teeStream.newSinkTokenStream(new ModuloSinkFilter(100));
teeStream.consumeAllTokens();
TokenStream stream = new ModuloTokenFilter(new StandardFilter(new StandardTokenizer(new StringReader(buffer.toString()))), 100);
- TermAttribute tfTok = (TermAttribute) stream.addAttribute(TermAttribute.class);
- TermAttribute sinkTok = (TermAttribute) sink.addAttribute(TermAttribute.class);
+ TermAttribute tfTok = stream.addAttribute(TermAttribute.class);
+ TermAttribute sinkTok = sink.addAttribute(TermAttribute.class);
for (int i=0; stream.incrementToken(); i++) {
assertTrue(sink.incrementToken());
assertTrue(tfTok + " is not equal to " + sinkTok + " at token: " + i, tfTok.equals(sinkTok) == true);
@@ -184,12 +184,12 @@
long start = System.currentTimeMillis();
for (int i = 0; i < 20; i++) {
stream = new StandardFilter(new StandardTokenizer(new StringReader(buffer.toString())));
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) stream.getAttribute(PositionIncrementAttribute.class);
+ PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
while (stream.incrementToken()) {
tfPos += posIncrAtt.getPositionIncrement();
}
stream = new ModuloTokenFilter(new StandardFilter(new StandardTokenizer(new StringReader(buffer.toString()))), modCounts[j]);
- posIncrAtt = (PositionIncrementAttribute) stream.getAttribute(PositionIncrementAttribute.class);
+ posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
while (stream.incrementToken()) {
tfPos += posIncrAtt.getPositionIncrement();
}
@@ -202,12 +202,12 @@
for (int i = 0; i < 20; i++) {
teeStream = new TeeSinkTokenFilter(new StandardFilter(new StandardTokenizer(new StringReader(buffer.toString()))));
sink = teeStream.newSinkTokenStream(new ModuloSinkFilter(modCounts[j]));
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) teeStream.getAttribute(PositionIncrementAttribute.class);
+ PositionIncrementAttribute posIncrAtt = teeStream.getAttribute(PositionIncrementAttribute.class);
while (teeStream.incrementToken()) {
sinkPos += posIncrAtt.getPositionIncrement();
}
//System.out.println("Modulo--------");
- posIncrAtt = (PositionIncrementAttribute) sink.getAttribute(PositionIncrementAttribute.class);
+ posIncrAtt = sink.getAttribute(PositionIncrementAttribute.class);
while (sink.incrementToken()) {
sinkPos += posIncrAtt.getPositionIncrement();
}
Index: src/test/org/apache/lucene/analysis/TestTokenStreamBWComp.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestTokenStreamBWComp.java (revision 820319)
+++ src/test/org/apache/lucene/analysis/TestTokenStreamBWComp.java (working copy)
@@ -188,8 +188,8 @@
private static void consumeStreamNewAPI(TokenStream stream) throws IOException {
stream.reset();
- PayloadAttribute payloadAtt = (PayloadAttribute) stream.addAttribute(PayloadAttribute.class);
- TermAttribute termAtt = (TermAttribute) stream.addAttribute(TermAttribute.class);
+ PayloadAttribute payloadAtt = stream.addAttribute(PayloadAttribute.class);
+ TermAttribute termAtt = stream.addAttribute(TermAttribute.class);
int i=0;
while (stream.incrementToken()) {
@@ -350,7 +350,7 @@
assertEquals("private 'bar' term should still be valid", "bar", bar.term());
// and now we also use incrementToken()... (very bad, but should work)
- TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
assertTrue(stream.incrementToken());
assertEquals("maeh", termAtt.term());
assertEquals("private 'bar' term should still be valid", "bar", bar.term());
@@ -373,7 +373,7 @@
public void testMixedOldApiConsumer2() throws Exception {
// RoundRobinOldAPI is using TokenStream(next)
TokenStream stream = new RoundRobinOldAPI();
- TermAttribute termAtt = (TermAttribute) stream.getAttribute(TermAttribute.class);
+ TermAttribute termAtt = stream.getAttribute(TermAttribute.class);
assertTrue(stream.incrementToken());
Token bar = stream.next();
Index: src/test/org/apache/lucene/index/TestDocumentWriter.java
===================================================================
--- src/test/org/apache/lucene/index/TestDocumentWriter.java (revision 820319)
+++ src/test/org/apache/lucene/index/TestDocumentWriter.java (working copy)
@@ -170,9 +170,9 @@
}
- TermAttribute termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- PayloadAttribute payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
+ TermAttribute termAtt = addAttribute(TermAttribute.class);
+ PayloadAttribute payloadAtt = addAttribute(PayloadAttribute.class);
+ PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class);
};
}
};
@@ -209,7 +209,7 @@
private String[] tokens = new String[] {"term1", "term2", "term3", "term2"};
private int index = 0;
- private TermAttribute termAtt = (TermAttribute) addAttribute(TermAttribute.class);
+ private TermAttribute termAtt = addAttribute(TermAttribute.class);
public boolean incrementToken() throws IOException {
if (index == tokens.length) {
Index: src/test/org/apache/lucene/index/TestIndexWriter.java
===================================================================
--- src/test/org/apache/lucene/index/TestIndexWriter.java (revision 820319)
+++ src/test/org/apache/lucene/index/TestIndexWriter.java (working copy)
@@ -3540,8 +3540,8 @@
// LUCENE-1255
public void testNegativePositions() throws Throwable {
final TokenStream tokens = new TokenStream() {
- final TermAttribute termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- final PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
+ final TermAttribute termAtt = addAttribute(TermAttribute.class);
+ final PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class);
final Iterator tokens = Arrays.asList(new String[]{"a","b","c"}).iterator();
boolean first = true;
Index: src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
===================================================================
--- src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (revision 820319)
+++ src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (working copy)
@@ -102,7 +102,7 @@
protected PayloadFilter(TokenStream input) {
super(input);
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/index/TestPayloads.java
===================================================================
--- src/test/org/apache/lucene/index/TestPayloads.java (revision 820319)
+++ src/test/org/apache/lucene/index/TestPayloads.java (working copy)
@@ -436,7 +436,7 @@
this.data = data;
this.length = length;
this.offset = offset;
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
@@ -526,8 +526,8 @@
generateRandomData(payload);
term = pool.bytesToString(payload);
first = true;
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/index/TestTermdocPerf.java
===================================================================
--- src/test/org/apache/lucene/index/TestTermdocPerf.java (revision 820319)
+++ src/test/org/apache/lucene/index/TestTermdocPerf.java (working copy)
@@ -41,7 +41,7 @@
public RepeatingTokenStream(String val) {
this.value = val;
- this.termAtt = (TermAttribute) addAttribute(TermAttribute.class);
+ this.termAtt = addAttribute(TermAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/index/TestTermVectorsReader.java
===================================================================
--- src/test/org/apache/lucene/index/TestTermVectorsReader.java (revision 820319)
+++ src/test/org/apache/lucene/index/TestTermVectorsReader.java (working copy)
@@ -126,9 +126,9 @@
OffsetAttribute offsetAtt;
public MyTokenStream() {
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
- offsetAtt = (OffsetAttribute) addAttribute(OffsetAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
+ posIncrAtt = addAttribute(PositionIncrementAttribute.class);
+ offsetAtt = addAttribute(OffsetAttribute.class);
}
public boolean incrementToken() {
Index: src/test/org/apache/lucene/queryParser/TestMultiAnalyzer.java
===================================================================
--- src/test/org/apache/lucene/queryParser/TestMultiAnalyzer.java (revision 820319)
+++ src/test/org/apache/lucene/queryParser/TestMultiAnalyzer.java (working copy)
@@ -154,10 +154,10 @@
public TestFilter(TokenStream in) {
super(in);
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
- offsetAtt = (OffsetAttribute) addAttribute(OffsetAttribute.class);
- typeAtt = (TypeAttribute) addAttribute(TypeAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
+ posIncrAtt = addAttribute(PositionIncrementAttribute.class);
+ offsetAtt = addAttribute(OffsetAttribute.class);
+ typeAtt = addAttribute(TypeAttribute.class);
}
public final boolean incrementToken() throws java.io.IOException {
@@ -214,8 +214,8 @@
public TestPosIncrementFilter(TokenStream in) {
super(in);
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
+ posIncrAtt = addAttribute(PositionIncrementAttribute.class);
}
public final boolean incrementToken () throws java.io.IOException {
Index: src/test/org/apache/lucene/queryParser/TestQueryParser.java
===================================================================
--- src/test/org/apache/lucene/queryParser/TestQueryParser.java (revision 820319)
+++ src/test/org/apache/lucene/queryParser/TestQueryParser.java (working copy)
@@ -87,8 +87,8 @@
*/
public QPTestFilter(TokenStream in) {
super(in);
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- offsetAtt = (OffsetAttribute) addAttribute(OffsetAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
+ offsetAtt = addAttribute(OffsetAttribute.class);
}
boolean inPhrase = false;
Index: src/test/org/apache/lucene/search/payloads/PayloadHelper.java
===================================================================
--- src/test/org/apache/lucene/search/payloads/PayloadHelper.java (revision 820319)
+++ src/test/org/apache/lucene/search/payloads/PayloadHelper.java (working copy)
@@ -63,7 +63,7 @@
public PayloadFilter(TokenStream input, String fieldName) {
super(input);
this.fieldName = fieldName;
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java
===================================================================
--- src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java (revision 820319)
+++ src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java (working copy)
@@ -72,7 +72,7 @@
public PayloadFilter(TokenStream input, String fieldName) {
super(input);
this.fieldName = fieldName;
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java
===================================================================
--- src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java (revision 820319)
+++ src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java (working copy)
@@ -68,7 +68,7 @@
public PayloadFilter(TokenStream input, String fieldName) {
super(input);
this.fieldName = fieldName;
- payAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java
===================================================================
--- src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java (revision 820319)
+++ src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java (working copy)
@@ -80,7 +80,7 @@
public PayloadFilter(TokenStream input, String fieldName) {
super(input);
this.fieldName = fieldName;
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/search/spans/TestPayloadSpans.java
===================================================================
--- src/test/org/apache/lucene/search/spans/TestPayloadSpans.java (revision 820319)
+++ src/test/org/apache/lucene/search/spans/TestPayloadSpans.java (working copy)
@@ -498,9 +498,9 @@
entities.add("one");
nopayload.add("nopayload");
nopayload.add("np");
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
- payloadAtt = (PayloadAttribute) addAttribute(PayloadAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
+ posIncrAtt = addAttribute(PositionIncrementAttribute.class);
+ payloadAtt = addAttribute(PayloadAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/search/TestPositionIncrement.java
===================================================================
--- src/test/org/apache/lucene/search/TestPositionIncrement.java (revision 820319)
+++ src/test/org/apache/lucene/search/TestPositionIncrement.java (working copy)
@@ -66,9 +66,9 @@
private final int[] INCREMENTS = {0, 2, 1, 0, 1};
private int i = 0;
- PositionIncrementAttribute posIncrAtt = (PositionIncrementAttribute) addAttribute(PositionIncrementAttribute.class);
- TermAttribute termAtt = (TermAttribute) addAttribute(TermAttribute.class);
- OffsetAttribute offsetAtt = (OffsetAttribute) addAttribute(OffsetAttribute.class);
+ PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class);
+ TermAttribute termAtt = addAttribute(TermAttribute.class);
+ OffsetAttribute offsetAtt = addAttribute(OffsetAttribute.class);
public boolean incrementToken() {
if (i == TOKENS.length)
@@ -348,9 +348,9 @@
this.fieldName = fieldName;
pos = 0;
i = 0;
- posIncrAttr = (PositionIncrementAttribute) input.addAttribute(PositionIncrementAttribute.class);
- payloadAttr = (PayloadAttribute) input.addAttribute(PayloadAttribute.class);
- termAttr = (TermAttribute) input.addAttribute(TermAttribute.class);
+ posIncrAttr = input.addAttribute(PositionIncrementAttribute.class);
+ payloadAttr = input.addAttribute(PayloadAttribute.class);
+ termAttr = input.addAttribute(TermAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/search/TestTermRangeQuery.java
===================================================================
--- src/test/org/apache/lucene/search/TestTermRangeQuery.java (revision 820319)
+++ src/test/org/apache/lucene/search/TestTermRangeQuery.java (working copy)
@@ -244,7 +244,7 @@
public SingleCharTokenizer(Reader r) {
super(r);
- termAtt = (TermAttribute) addAttribute(TermAttribute.class);
+ termAtt = addAttribute(TermAttribute.class);
}
public boolean incrementToken() throws IOException {
Index: src/test/org/apache/lucene/util/TestAttributeSource.java
===================================================================
--- src/test/org/apache/lucene/util/TestAttributeSource.java (revision 820319)
+++ src/test/org/apache/lucene/util/TestAttributeSource.java (working copy)
@@ -27,8 +27,8 @@
public void testCaptureState() {
// init a first instance
AttributeSource src = new AttributeSource();
- TermAttribute termAtt = (TermAttribute) src.addAttribute(TermAttribute.class);
- TypeAttribute typeAtt = (TypeAttribute) src.addAttribute(TypeAttribute.class);
+ TermAttribute termAtt = src.addAttribute(TermAttribute.class);
+ TypeAttribute typeAtt = src.addAttribute(TypeAttribute.class);
termAtt.setTermBuffer("TestTerm");
typeAtt.setType("TestType");
final int hashCode = src.hashCode();
@@ -55,9 +55,9 @@
// init a second instance (with attributes in different order and one additional attribute)
AttributeSource src2 = new AttributeSource();
- typeAtt = (TypeAttribute) src2.addAttribute(TypeAttribute.class);
- FlagsAttribute flagsAtt = (FlagsAttribute) src2.addAttribute(FlagsAttribute.class);
- termAtt = (TermAttribute) src2.addAttribute(TermAttribute.class);
+ typeAtt = src2.addAttribute(TypeAttribute.class);
+ FlagsAttribute flagsAtt = src2.addAttribute(FlagsAttribute.class);
+ termAtt = src2.addAttribute(TermAttribute.class);
flagsAtt.setFlags(12345);
src2.restoreState(state);
@@ -67,7 +67,7 @@
// init a third instance missing one Attribute
AttributeSource src3 = new AttributeSource();
- termAtt = (TermAttribute) src3.addAttribute(TermAttribute.class);
+ termAtt = src3.addAttribute(TermAttribute.class);
try {
src3.restoreState(state);
fail("The third instance is missing the TypeAttribute, so restoreState() should throw IllegalArgumentException");
@@ -78,19 +78,19 @@
public void testCloneAttributes() {
final AttributeSource src = new AttributeSource();
- final TermAttribute termAtt = (TermAttribute) src.addAttribute(TermAttribute.class);
- final TypeAttribute typeAtt = (TypeAttribute) src.addAttribute(TypeAttribute.class);
+ final TermAttribute termAtt = src.addAttribute(TermAttribute.class);
+ final TypeAttribute typeAtt = src.addAttribute(TypeAttribute.class);
termAtt.setTermBuffer("TestTerm");
typeAtt.setType("TestType");
final AttributeSource clone = src.cloneAttributes();
- final Iterator it = clone.getAttributeClassesIterator();
+ final Iterator> it = clone.getAttributeClassesIterator();
assertEquals("TermAttribute must be the first attribute", TermAttribute.class, it.next());
assertEquals("TypeAttribute must be the second attribute", TypeAttribute.class, it.next());
assertFalse("No more attributes", it.hasNext());
- final TermAttribute termAtt2 = (TermAttribute) clone.getAttribute(TermAttribute.class);
- final TypeAttribute typeAtt2 = (TypeAttribute) clone.getAttribute(TypeAttribute.class);
+ final TermAttribute termAtt2 = clone.getAttribute(TermAttribute.class);
+ final TypeAttribute typeAtt2 = clone.getAttribute(TypeAttribute.class);
assertNotSame("TermAttribute of original and clone must be different instances", termAtt2, termAtt);
assertNotSame("TypeAttribute of original and clone must be different instances", typeAtt2, typeAtt);
assertEquals("TermAttribute of original and clone must be equal", termAtt2, termAtt);
@@ -99,12 +99,12 @@
public void testToStringAndMultiAttributeImplementations() {
AttributeSource src = new AttributeSource();
- TermAttribute termAtt = (TermAttribute) src.addAttribute(TermAttribute.class);
- TypeAttribute typeAtt = (TypeAttribute) src.addAttribute(TypeAttribute.class);
+ TermAttribute termAtt = src.addAttribute(TermAttribute.class);
+ TypeAttribute typeAtt = src.addAttribute(TypeAttribute.class);
termAtt.setTermBuffer("TestTerm");
typeAtt.setType("TestType");
assertEquals("Attributes should appear in original order", "("+termAtt.toString()+","+typeAtt.toString()+")", src.toString());
- Iterator it = src.getAttributeImplsIterator();
+ Iterator it = src.getAttributeImplsIterator();
assertTrue("Iterator should have 2 attributes left", it.hasNext());
assertSame("First AttributeImpl from iterator should be termAtt", termAtt, it.next());
assertTrue("Iterator should have 1 attributes left", it.hasNext());
@@ -114,7 +114,7 @@
src = new AttributeSource();
src.addAttributeImpl(new Token());
// this should not add a new attribute as Token implements TermAttribute, too
- termAtt = (TermAttribute) src.addAttribute(TermAttribute.class);
+ termAtt = src.addAttribute(TermAttribute.class);
assertTrue("TermAttribute should be implemented by Token", termAtt instanceof Token);
// get the Token attribute and check, that it is the only one
it = src.getAttributeImplsIterator();