/* * Hibernate Search, full-text search for your domain model * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.test.spatial; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.Id; import org.hibernate.search.annotations.Analyze; import org.hibernate.search.annotations.Field; import org.hibernate.search.annotations.FieldBridge; import org.hibernate.search.annotations.Index; import org.hibernate.search.annotations.Indexed; import org.hibernate.search.annotations.SortableField; import org.hibernate.search.annotations.Store; import org.hibernate.search.spatial.Coordinates; import org.hibernate.search.spatial.SpatialFieldBridgeByHash; /** * Hibernate Search spatial : Point Of Interest test entity * * @author Nicolas Helleringer */ @Entity @Indexed public class POI { @Id @Field(name = "idSort") @SortableField(forField = "idSort") Integer id; @Field(store = Store.YES) String name; @Field(store = Store.YES, index = Index.YES) String type; Double latitude; Double longitude; @Field(store = Store.YES, index = Index.YES, analyze = Analyze.NO) @FieldBridge(impl = SpatialFieldBridgeByHash.class) @Embedded public Coordinates getLocation() { return new Coordinates() { @Override public Double getLatitude() { return latitude; } @Override public Double getLongitude() { return longitude; } }; } public POI(Integer id, String name, Double latitude, Double longitude, String type) { this.id = id; this.name = name; this.latitude = latitude; this.longitude = longitude; this.type = type; } public POI() { } public Integer getId() { return id; } public String getName() { return name; } public double getLatitude() { return latitude; } public double getLongitude() { return longitude; } public String getType() { return type; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append( "POI [id=" ); builder.append( id ); builder.append( ", name=" ); builder.append( name ); builder.append( ", type=" ); builder.append( type ); builder.append( ", latitude=" ); builder.append( latitude ); builder.append( ", longitude=" ); builder.append( longitude ); builder.append( "]" ); return builder.toString(); } }