Skip to content

Commit 9fdc59e

Browse files
author
teck
committed
minor cleanup for changes to declaring search attributes with code
1 parent 5966a8e commit 9fdc59e

File tree

4 files changed

+166
-109
lines changed

4 files changed

+166
-109
lines changed

.classpath

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
2-
<classpath>
3-
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
4-
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
5-
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
6-
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
7-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
8-
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
9-
<classpathentry kind="output" path="target/classes"/>
10-
</classpath>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
4+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
5+
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
6+
<classpathentry kind="output" path="target/classes"/>
7+
</classpath>

.settings/org.eclipse.jdt.core.prefs

Lines changed: 77 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,77 @@
1-
#Fri Oct 22 13:40:35 PDT 2010
2-
eclipse.preferences.version=1
3-
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
4-
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
5-
org.eclipse.jdt.core.compiler.compliance=1.6
6-
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
7-
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8-
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
9-
org.eclipse.jdt.core.compiler.source=1.6
1+
#Thu Nov 04 16:01:35 PDT 2010
2+
eclipse.preferences.version=1
3+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
4+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
5+
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6+
org.eclipse.jdt.core.compiler.compliance=1.5
7+
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8+
org.eclipse.jdt.core.compiler.debug.localVariable=generate
9+
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10+
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
11+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
12+
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
13+
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
14+
org.eclipse.jdt.core.compiler.problem.deadCode=warning
15+
org.eclipse.jdt.core.compiler.problem.deprecation=warning
16+
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
17+
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
18+
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
19+
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
20+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
21+
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
22+
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
23+
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
24+
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
25+
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
26+
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
27+
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
28+
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
29+
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
30+
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
31+
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
32+
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
33+
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
34+
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
35+
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
36+
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
37+
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
38+
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
39+
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
40+
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
41+
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
42+
org.eclipse.jdt.core.compiler.problem.nullReference=warning
43+
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
44+
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
45+
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
46+
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
47+
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
48+
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
49+
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
50+
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
51+
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
52+
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
53+
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
54+
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
55+
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
56+
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
57+
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
58+
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
59+
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
60+
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
61+
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
62+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
63+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
64+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
65+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
66+
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
67+
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
68+
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
69+
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
70+
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
71+
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
72+
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
73+
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
74+
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
75+
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
76+
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
77+
org.eclipse.jdt.core.compiler.source=1.5

pom.xml

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,64 @@
11
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3-
<modelVersion>4.0.0</modelVersion>
4-
<groupId>org.sharrissf.sample</groupId>
5-
<artifactId>ehcache-search-sample</artifactId>
6-
<version>0.0.1-SNAPSHOT</version>
7-
<name>Ehcache Search Sample</name>
8-
<description>Quick samples with the Ehcache Search Nightly
9-
</description>
10-
<build>
11-
<plugins>
12-
<plugin>
13-
<groupId>org.apache.maven.plugins</groupId>
14-
<artifactId>maven-assembly-plugin</artifactId>
15-
<version>2.2-beta-5</version>
16-
<configuration>
17-
<filters>
18-
<filter>src/assemble/filter.properties</filter>
19-
</filters>
20-
<descriptors>
21-
<descriptor>src/assemble/distribution.xml</descriptor>
22-
</descriptors>
23-
<tarLongFileMode>gnu</tarLongFileMode>
24-
</configuration>
25-
</plugin>
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>org.sharrissf.sample</groupId>
5+
<artifactId>ehcache-search-sample</artifactId>
6+
<version>0.0.1-SNAPSHOT</version>
7+
<name>Ehcache Search Sample</name>
8+
<description>Quick samples with the Ehcache Search Nightly
9+
</description>
10+
<build>
11+
<plugins>
12+
<plugin>
13+
<groupId>org.apache.maven.plugins</groupId>
14+
<artifactId>maven-assembly-plugin</artifactId>
15+
<version>2.2-beta-5</version>
16+
<configuration>
17+
<filters>
18+
<filter>src/assemble/filter.properties</filter>
19+
</filters>
20+
<descriptors>
21+
<descriptor>src/assemble/distribution.xml</descriptor>
22+
</descriptors>
23+
<tarLongFileMode>gnu</tarLongFileMode>
24+
</configuration>
25+
</plugin>
2626

27-
<plugin>
28-
<groupId>org.apache.maven.plugins</groupId>
29-
<artifactId>maven-compiler-plugin</artifactId>
30-
<version>2.0.2</version>
31-
<configuration>
32-
<source>1.5</source>
33-
<target>1.5</target>
34-
</configuration>
35-
</plugin>
36-
</plugins>
37-
</build>
38-
<dependencies>
39-
<dependency>
40-
<groupId>net.sf.ehcache</groupId>
41-
<artifactId>ehcache-core</artifactId>
42-
<version>2.4.0-SNAPSHOT</version>
43-
</dependency>
44-
<dependency>
45-
<groupId>org.slf4j</groupId>
46-
<artifactId>slf4j-api</artifactId>
47-
<version>1.5.11</version>
48-
<scope>compile</scope>
49-
</dependency>
50-
<dependency>
51-
<groupId>org.slf4j</groupId>
52-
<artifactId>slf4j-jdk14</artifactId>
53-
<version>1.5.11</version>
54-
<scope>compile</scope>
55-
</dependency>
56-
</dependencies>
57-
<repositories>
58-
<repository>
59-
<id>terracotta-snapshots</id>
60-
<url>http://www.terracotta.org/download/reflector/snapshots</url>
61-
</repository>
62-
</repositories>
27+
<plugin>
28+
<groupId>org.apache.maven.plugins</groupId>
29+
<artifactId>maven-compiler-plugin</artifactId>
30+
<version>2.0.2</version>
31+
<configuration>
32+
<source>1.5</source>
33+
<target>1.5</target>
34+
</configuration>
35+
</plugin>
36+
</plugins>
37+
</build>
38+
<dependencies>
39+
<dependency>
40+
<groupId>net.sf.ehcache</groupId>
41+
<artifactId>ehcache-core</artifactId>
42+
<version>2.4.0-SNAPSHOT</version>
43+
</dependency>
44+
<dependency>
45+
<groupId>org.slf4j</groupId>
46+
<artifactId>slf4j-api</artifactId>
47+
<version>1.5.11</version>
48+
<scope>compile</scope>
49+
</dependency>
50+
<dependency>
51+
<groupId>org.slf4j</groupId>
52+
<artifactId>slf4j-jdk14</artifactId>
53+
<version>1.5.11</version>
54+
<scope>compile</scope>
55+
</dependency>
56+
</dependencies>
57+
<repositories>
58+
<repository>
59+
<id>terracotta-snapshots</id>
60+
<url>http://www.terracotta.org/download/reflector/snapshots</url>
61+
</repository>
62+
</repositories>
6363

6464
</project>

src/main/java/org/sharrissf/sample/EhcacheSearchPlaying.java

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import net.sf.ehcache.config.CacheConfiguration;
99
import net.sf.ehcache.config.Configuration;
1010
import net.sf.ehcache.config.SearchAttribute;
11+
import net.sf.ehcache.config.Searchable;
1112
import net.sf.ehcache.search.Attribute;
1213
import net.sf.ehcache.search.Direction;
1314
import net.sf.ehcache.search.Query;
@@ -40,40 +41,33 @@ private void initializeCache() {
4041
Configuration cacheManagerConfig = new Configuration();
4142
cacheManagerConfig.addDefaultCache(new CacheConfiguration());
4243
CacheConfiguration cacheConfig = new CacheConfiguration("test", -1).eternal(true);
44+
Searchable searchable = new Searchable();
45+
cacheConfig.addSearchable(searchable);
4346

4447
// Create attributes on the stuff we want to be able to search on.
4548

4649
// You can use an expression for getting at the value to be indexed on a cache or you can code your own
4750

48-
// Expression
49-
SearchAttribute sa = new SearchAttribute();
50-
sa.setExpression("value.getAge()");
51-
sa.setName("age");
52-
cacheConfig.addSearchAttribute(sa);
51+
// Expressions
52+
searchable.addSearchAttribute(new SearchAttribute().name("age").expression("value.getAge()"));
53+
searchable.addSearchAttribute(new SearchAttribute().name("gender").expression("value.getGender()"));
54+
searchable.addSearchAttribute(new SearchAttribute().name("state").expression("value.getAddress().getState()"));
5355

5456
// Coding your own
55-
sa = new SearchAttribute();
56-
sa.className("org.sharrissf.sample.EhcacheSearchPlaying$NameAttributeExtractor");
57-
sa.setName("name");
58-
cacheConfig.addSearchAttribute(sa);
59-
60-
sa = new SearchAttribute();
61-
sa.setExpression("value.getGender()");
62-
sa.setName("gender");
63-
cacheConfig.addSearchAttribute(sa);
64-
65-
sa = new SearchAttribute();
66-
sa.setExpression("value.getAddress().getState()");
67-
sa.setName("state");
68-
cacheConfig.addSearchAttribute(sa);
69-
70-
// If you want to initialize it via ehcache.xml it would look like this
71-
// <cache name="test" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
72-
// <searchAttribute name="age" expression="value.getAge()"/>
73-
// <searchAttribute name="name" class="org.sharrissf.sample.EhcacheSearchPlaying$NameAttributeExtractor"/>
74-
// <searchAttribute name="gender" expression="value.getGender()"/>
75-
// <searchAttribute name="state" expression="value.getState()"/>
76-
// </cache>
57+
searchable.addSearchAttribute(new SearchAttribute().name("name").className(
58+
"org.sharrissf.sample.EhcacheSearchPlaying$NameAttributeExtractor"));
59+
60+
/*
61+
* If you want to initialize it via ehcache.xml it would look like this:
62+
* <cache name="test" maxElementsInMemory="0" eternal="true" overflowToDisk="false">
63+
* <searchable>
64+
* <searchAttribute name="age" expression="value.getAge()"/>
65+
* <searchAttribute name="name" class="org.sharrissf.sample.EhcacheSearchPlaying$NameAttributeExtractor"/>
66+
* <searchAttribute name="gender" expression="value.getGender()"/>
67+
* <searchAttribute name="state" expression="value.getState()"/>
68+
* </searchable>
69+
* </cache>
70+
*/
7771

7872
cacheManagerConfig.addCache(cacheConfig);
7973

@@ -165,11 +159,9 @@ public static class NameAttributeExtractor implements AttributeExtractor {
165159

166160
/**
167161
* Implementing the AttributeExtractor Interface and passing it in allows you to create very efficient and specific attribute
168-
* extraction for performance sensative code
162+
* extraction for performance sensitive code
169163
*/
170-
private static final long serialVersionUID = 1L;
171164

172-
@Override
173165
public Object attributeFor(Element element) {
174166
return ((Person) element.getValue()).getName();
175167
}

0 commit comments

Comments
 (0)