/** * This software is licensed to you under the Apache License, Version 2.0 (the * "Apache License"). * * LinkedIn's contributions are made under the Apache License. If you contribute * to the Software, the contributions will be deemed to have been made under the * Apache License, unless you expressly indicate otherwise. Please do not make any * contributions that would be inconsistent with the Apache License. * * You may obtain a copy of the Apache License at http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, this software * distributed under the Apache License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Apache * License for the specific language governing permissions and limitations for the * software governed under the Apache License. * * © 2012 LinkedIn Corp. All Rights Reserved. */ package com.senseidb.plugin; import java.util.Map; import com.browseengine.bobo.facets.data.FacetDataFetcher; import com.browseengine.bobo.facets.data.TermListFactory; import com.browseengine.bobo.facets.FacetHandler; import com.browseengine.bobo.facets.impl.VirtualSimpleFacetHandler; public class VirtualSimpleFacetHandlerSenseiPluginFactory extends AbstractFacetHandlerSenseiPluginFactory { public static final String TERMLISTFACTORY = "termListFactory"; public static final String FACETDATAFETCHER = "facetDataFetcher"; @Override public FacetHandler getBean(Map<String,String> initProperties, String fullPrefix, SenseiPluginRegistry pluginRegistry) { FacetDataFetcher facetDataFetcher = pluginRegistry.getBeanByName(initProperties.get(FACETDATAFETCHER), FacetDataFetcher.class); if (facetDataFetcher == null) throw new IllegalArgumentException(FACETDATAFETCHER + " is not set"); TermListFactory termListFactory = TermListFactorySenseiPluginFactory.getFactory( initProperties.get(TERMLISTFACTORY)); if (termListFactory == null) { termListFactory = pluginRegistry.getBeanByName(initProperties.get(TERMLISTFACTORY), TermListFactory.class); } return new VirtualSimpleFacetHandler(SenseiPluginRegistry.getNameByPrefix(fullPrefix), termListFactory, facetDataFetcher, getDepends(initProperties)); } }