[infinispan-issues] [JBoss JIRA] (ISPN-5710) Unknown entity name when indexing entities defined in inner classes
Gustavo Fernandes (JIRA)
issues at jboss.org
Fri Aug 28 09:09:05 EDT 2015
[ https://issues.jboss.org/browse/ISPN-5710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gustavo Fernandes updated ISPN-5710:
------------------------------------
Description:
Reproducer:
{code}
import java.util.List;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.Store;
import org.infinispan.Cache;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.configuration.cache.Index;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.query.Search;
import org.infinispan.query.dsl.Query;
import org.infinispan.query.dsl.QueryFactory;
public class Test {
public static void main(String[] args) {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.indexing().index(Index.ALL)
.addProperty("default.directory_provider", "ram")
.addProperty("lucene_version", "LUCENE_CURRENT");
// Construct a simple local cache manager with default configuration
DefaultCacheManager cacheManager = new DefaultCacheManager(builder.build());
// Obtain the default cache
Cache<String, Person> cache = cacheManager.getCache();
// Store some entries
cache.put("person1", new Person("William", "Shakespeare"));
cache.put("person2", new Person("William", "Wordsworth"));
cache.put("person3", new Person("John", "Milton"));
// Obtain a query factory for the cache
QueryFactory<?> queryFactory = Search.getQueryFactory(cache);
// Construct a query
Query query = queryFactory.from(Person.class).having("name").eq("William").toBuilder().build();
// Execute the query
List<Person> matches = query.list();
matches.forEach(person -> System.out.printf("Match: %s", person));
// Stop the cache manager and release all resources
cacheManager.stop();
}
@Indexed
static class Person {
@Field(store = Store.YES, analyze = Analyze.NO)
String name;
@Field(store = Store.YES, analyze = Analyze.NO, indexNullAs = Field.DEFAULT_NULL_TOKEN)
String surname;
public Person(String name, String surname) {
this.name = name;
this.surname = surname;
}
@Override
public String toString() {
return "Person2 [name=" + name + ", surname=" + surname + "]";
}
}
}
{code}
was:
{code}
import java.util.List;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.Store;
import org.infinispan.Cache;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.configuration.cache.Index;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.query.Search;
import org.infinispan.query.dsl.Query;
import org.infinispan.query.dsl.QueryFactory;
public class Test {
public static void main(String[] args) {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.indexing().index(Index.ALL)
.addProperty("default.directory_provider", "ram")
.addProperty("lucene_version", "LUCENE_CURRENT");
// Construct a simple local cache manager with default configuration
DefaultCacheManager cacheManager = new DefaultCacheManager(builder.build());
// Obtain the default cache
Cache<String, Person> cache = cacheManager.getCache();
// Store some entries
cache.put("person1", new Person("William", "Shakespeare"));
cache.put("person2", new Person("William", "Wordsworth"));
cache.put("person3", new Person("John", "Milton"));
// Obtain a query factory for the cache
QueryFactory<?> queryFactory = Search.getQueryFactory(cache);
// Construct a query
Query query = queryFactory.from(Person.class).having("name").eq("William").toBuilder().build();
// Execute the query
List<Person> matches = query.list();
matches.forEach(person -> System.out.printf("Match: %s", person));
// Stop the cache manager and release all resources
cacheManager.stop();
}
@Indexed
static class Person {
@Field(store = Store.YES, analyze = Analyze.NO)
String name;
@Field(store = Store.YES, analyze = Analyze.NO, indexNullAs = Field.DEFAULT_NULL_TOKEN)
String surname;
public Person(String name, String surname) {
this.name = name;
this.surname = surname;
}
@Override
public String toString() {
return "Person2 [name=" + name + ", surname=" + surname + "]";
}
}
}
{code}
> Unknown entity name when indexing entities defined in inner classes
> -------------------------------------------------------------------
>
> Key: ISPN-5710
> URL: https://issues.jboss.org/browse/ISPN-5710
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 8.0.0.CR1
> Reporter: Gustavo Fernandes
>
> Reproducer:
> {code}
> import java.util.List;
> import org.hibernate.search.annotations.Analyze;
> import org.hibernate.search.annotations.Field;
> import org.hibernate.search.annotations.Indexed;
> import org.hibernate.search.annotations.Store;
> import org.infinispan.Cache;
> import org.infinispan.configuration.cache.ConfigurationBuilder;
> import org.infinispan.configuration.cache.Index;
> import org.infinispan.manager.DefaultCacheManager;
> import org.infinispan.query.Search;
> import org.infinispan.query.dsl.Query;
> import org.infinispan.query.dsl.QueryFactory;
> public class Test {
> public static void main(String[] args) {
> ConfigurationBuilder builder = new ConfigurationBuilder();
> builder.indexing().index(Index.ALL)
> .addProperty("default.directory_provider", "ram")
> .addProperty("lucene_version", "LUCENE_CURRENT");
> // Construct a simple local cache manager with default configuration
> DefaultCacheManager cacheManager = new DefaultCacheManager(builder.build());
> // Obtain the default cache
> Cache<String, Person> cache = cacheManager.getCache();
> // Store some entries
> cache.put("person1", new Person("William", "Shakespeare"));
> cache.put("person2", new Person("William", "Wordsworth"));
> cache.put("person3", new Person("John", "Milton"));
> // Obtain a query factory for the cache
> QueryFactory<?> queryFactory = Search.getQueryFactory(cache);
> // Construct a query
> Query query = queryFactory.from(Person.class).having("name").eq("William").toBuilder().build();
> // Execute the query
> List<Person> matches = query.list();
> matches.forEach(person -> System.out.printf("Match: %s", person));
> // Stop the cache manager and release all resources
> cacheManager.stop();
> }
> @Indexed
> static class Person {
> @Field(store = Store.YES, analyze = Analyze.NO)
> String name;
> @Field(store = Store.YES, analyze = Analyze.NO, indexNullAs = Field.DEFAULT_NULL_TOKEN)
> String surname;
> public Person(String name, String surname) {
> this.name = name;
> this.surname = surname;
> }
> @Override
> public String toString() {
> return "Person2 [name=" + name + ", surname=" + surname + "]";
> }
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the infinispan-issues
mailing list