List of usage examples for org.apache.lucene.spatial.bbox BBoxStrategy newInstance
public static BBoxStrategy newInstance(SpatialContext ctx, String fieldNamePrefix)
From source file:org.openspaces.spatial.spi.LuceneSpatialConfiguration.java
License:Open Source License
protected StrategyFactory createStrategyFactory(LuceneSpatialQueryExtensionProvider provider) { String strategyString = provider.getCustomProperty(STRATEGY, STRATEGY_DEFAULT); SupportedSpatialStrategy spatialStrategy = SupportedSpatialStrategy.byName(strategyString); switch (spatialStrategy) { case RecursivePrefixTree: { final SpatialPrefixTree geohashPrefixTree = createSpatialPrefixTree(provider, _spatialContext); String distErrPctValue = provider.getCustomProperty(DIST_ERR_PCT, DIST_ERR_PCT_DEFAULT); final double distErrPct = Double.valueOf(distErrPctValue); return new StrategyFactory(spatialStrategy) { @Override/*from ww w. j a va 2 s .co m*/ public SpatialStrategy createStrategy(String fieldName) { RecursivePrefixTreeStrategy strategy = new RecursivePrefixTreeStrategy(geohashPrefixTree, fieldName); strategy.setDistErrPct(distErrPct); return strategy; } }; } case BBox: { return new StrategyFactory(spatialStrategy) { @Override public SpatialStrategy createStrategy(String fieldName) { return BBoxStrategy.newInstance(_spatialContext, fieldName); } }; } case Composite: { final SpatialPrefixTree geohashPrefixTree = createSpatialPrefixTree(provider, _spatialContext); String distErrPctValue = provider.getCustomProperty(DIST_ERR_PCT, DIST_ERR_PCT_DEFAULT); final double distErrPct = Double.valueOf(distErrPctValue); return new StrategyFactory(spatialStrategy) { @Override public SpatialStrategy createStrategy(String fieldName) { RecursivePrefixTreeStrategy recursivePrefixTreeStrategy = new RecursivePrefixTreeStrategy( geohashPrefixTree, fieldName); recursivePrefixTreeStrategy.setDistErrPct(distErrPct); SerializedDVStrategy serializedDVStrategy = new SerializedDVStrategy(_spatialContext, fieldName); return new CompositeSpatialStrategy(fieldName, recursivePrefixTreeStrategy, serializedDVStrategy); } }; } default: throw new IllegalStateException("Unsupported strategy: " + spatialStrategy); } }