Author: hardy.ferentschik
Date: 2008-11-18 10:16:27 -0500 (Tue, 18 Nov 2008)
New Revision: 15585
Modified:
search/trunk/ivy.xml
search/trunk/pom.xml
search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDef.java
search/trunk/src/java/org/hibernate/search/annotations/TokenFilterDef.java
search/trunk/src/java/org/hibernate/search/annotations/TokenizerDef.java
search/trunk/src/test/org/hibernate/search/test/analyzer/solr/SolrAnalyzerTest.java
search/trunk/src/test/org/hibernate/search/test/analyzer/solr/Team.java
Log:
HSEARCH-297 - Updated test and fixed some javadoc
Modified: search/trunk/ivy.xml
===================================================================
--- search/trunk/ivy.xml 2008-11-18 11:46:19 UTC (rev 15584)
+++ search/trunk/ivy.xml 2008-11-18 15:16:27 UTC (rev 15585)
@@ -35,7 +35,8 @@
<dependency name="entitymanager" rev="3.4.0.GA"
conf="test->default"/>
<dependency org="org.apache.lucene" name="lucene-snowball"
rev="2.4.0" conf="test->default"/>
<dependency org="org.apache.lucene"
name="lucene-analyzers" rev="2.4.0"
conf="test->default"/>
- <dependency org="org.apache.commons" name="commons-codec"
rev="1.3" conf="test->default"/>
+ <dependency org="org.apache.commons" name="commons-codec"
rev="1.3" conf="test->default"/>
+ <dependency org="org.apache.commons" name="commons-io"
rev="1.3.2" conf="test->default"/>
<dependency org="cglib" name="cglib" rev="2.1_3"
conf="test->default"/>
<dependency org="asm" name="asm" rev="1.5.3"
conf="test->default"/>
<dependency org="asm" name="asm-attrs"
rev="1.5.3" conf="test->default"/>
Modified: search/trunk/pom.xml
===================================================================
--- search/trunk/pom.xml 2008-11-18 11:46:19 UTC (rev 15584)
+++ search/trunk/pom.xml 2008-11-18 15:16:27 UTC (rev 15585)
@@ -52,8 +52,6 @@
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
-
-
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
@@ -96,6 +94,12 @@
<version>1.3</version>
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.2</version>
+ <optional>true</optional>
+ </dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
Modified: search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDef.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDef.java 2008-11-18
11:46:19 UTC (rev 15584)
+++ search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDef.java 2008-11-18
15:16:27 UTC (rev 15585)
@@ -10,30 +10,32 @@
/**
* Reusable analyzer definition.
* An analyzer definition defines:
- * - one tokenizer
- * - optionally some filters
- * Filters are applied in the order they are defined
+ * <ul>
+ * <li>one tokenizer</li>
+ * </li>optionally one or more filters</li>
+ * </ul>
+ * Filters are applied in the order they are defined.
+ * <p/>
+ * Reuses the Solr Tokenizer and Filter architecture.
*
- * Reuses the Solr Tokenizer and Filter architecture
- *
* @author Emmanuel Bernard
*/
-@Retention( RetentionPolicy.RUNTIME )
-@Target( { ElementType.TYPE, ElementType.FIELD, ElementType.METHOD} )
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD })
@Documented
public @interface AnalyzerDef {
/**
- * Reference name to be used on {#org.hibernate.search.annotations.Analyzer}
+ * @return Reference name to be used on {#org.hibernate.search.annotations.Analyzer}
*/
String name();
/**
- * Tokenizer used
+ * @return Tokenizer used.
*/
TokenizerDef tokenizer();
/**
- * Filters used. The filters are applied in the defined order
+ * @return Filters used. The filters are applied in the defined order
*/
- TokenFilterDef[] filters() default {};
+ TokenFilterDef[] filters() default { };
}
Modified: search/trunk/src/java/org/hibernate/search/annotations/TokenFilterDef.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/annotations/TokenFilterDef.java 2008-11-18
11:46:19 UTC (rev 15584)
+++ search/trunk/src/java/org/hibernate/search/annotations/TokenFilterDef.java 2008-11-18
15:16:27 UTC (rev 15585)
@@ -10,21 +10,21 @@
import org.apache.solr.analysis.TokenFilterFactory;
/**
- * Define a TokenFilterFactory and its parameters
+ * Define a <code>TokenFilterFactory</code> and its parameters.
*
* @author Emmanuel Bernard
*/
-@Retention( RetentionPolicy.RUNTIME )
-@Target( { ElementType.TYPE, ElementType.FIELD, ElementType.METHOD } )
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD })
@Documented
public @interface TokenFilterDef {
/**
- * Defines the TokenFilterFactory implementation used
+ * @return the <code>TokenFilterFactory</code> class which shall be
instantiated.
*/
public abstract Class<? extends TokenFilterFactory> factory();
/**
- * optional parameters passed to the TokenFilterFactory
+ * @return Optional parameters passed to the
<code>TokenFilterFactory</code>.
*/
- public abstract Parameter[] params() default {};
+ public abstract Parameter[] params() default { };
}
\ No newline at end of file
Modified: search/trunk/src/java/org/hibernate/search/annotations/TokenizerDef.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/annotations/TokenizerDef.java 2008-11-18
11:46:19 UTC (rev 15584)
+++ search/trunk/src/java/org/hibernate/search/annotations/TokenizerDef.java 2008-11-18
15:16:27 UTC (rev 15585)
@@ -10,21 +10,22 @@
import org.apache.solr.analysis.TokenizerFactory;
/**
- * Define a TokenizerFactory and its parameters
- *
+ * Define a <code>TokenizerFactory</code> and its parameters.
+ *
* @author Emmanuel Bernard
*/
-@Retention( RetentionPolicy.RUNTIME )
-@Target( { ElementType.TYPE, ElementType.FIELD, ElementType.METHOD} )
+(a)Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD })
@Documented
public @interface TokenizerDef {
+
/**
- * Defines the TokenizerFactory implementation used
+ * @return the <code>TokenizerFactory</code> class which shall be
instantiated.
*/
Class<? extends TokenizerFactory> factory();
/**
- * optional parameters passed to the TokenizerFactory
+ * @return Optional parameters passed to the <code>TokenizerFactory</code>.
*/
- Parameter[] params() default {};
+ Parameter[] params() default { };
}
Modified:
search/trunk/src/test/org/hibernate/search/test/analyzer/solr/SolrAnalyzerTest.java
===================================================================
---
search/trunk/src/test/org/hibernate/search/test/analyzer/solr/SolrAnalyzerTest.java 2008-11-18
11:46:19 UTC (rev 15584)
+++
search/trunk/src/test/org/hibernate/search/test/analyzer/solr/SolrAnalyzerTest.java 2008-11-18
15:16:27 UTC (rev 15585)
@@ -146,6 +146,11 @@
tokens, new String[] { "0", "KK", "BRN",
"FKS", "JMPT", "OFR", "0", "LS",
"TKS" }
);
+ analyzer = fts.getSearchFactory().getAnalyzer( "pattern_analyzer" );
+ text = "foo,bar";
+ tokens = AnalyzerUtils.tokensFromAnalysis( analyzer, "name", text );
+ AnalyzerUtils.assertTokensEqual( tokens, new String[] { "foo",
"bar" } );
+
fts.close();
}
Modified: search/trunk/src/test/org/hibernate/search/test/analyzer/solr/Team.java
===================================================================
--- search/trunk/src/test/org/hibernate/search/test/analyzer/solr/Team.java 2008-11-18
11:46:19 UTC (rev 15584)
+++ search/trunk/src/test/org/hibernate/search/test/analyzer/solr/Team.java 2008-11-18
15:16:27 UTC (rev 15585)
@@ -21,6 +21,7 @@
import org.apache.solr.analysis.TrimFilterFactory;
import org.apache.solr.analysis.WordDelimiterFilterFactory;
import org.apache.solr.analysis.PhoneticFilterFactory;
+import org.apache.solr.analysis.PatternTokenizerFactory;
import org.hibernate.search.annotations.Analyzer;
import org.hibernate.search.annotations.AnalyzerDef;
@@ -53,6 +54,11 @@
})
}),
+ @AnalyzerDef(name = "pattern_analyzer",
+ tokenizer = @TokenizerDef(factory = PatternTokenizerFactory.class, params = {
+ @Parameter(name = "pattern", value = ",")
+ })),
+
@AnalyzerDef(name = "standard_analyzer",
tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {