/** * @deprecated Use {@link SolrResourceLoader#findClass(String, String[])} instead. */ @Deprecated public Class findClass(String cname, String... subpackages) { return loader.findClass(cname, subpackages); }
@SuppressWarnings("unchecked") static Class loadClass(String name, SolrCore core) throws ClassNotFoundException { try { return core != null ? core.getResourceLoader().findClass(name, Object.class) : Class.forName(name); } catch (Exception e) { try { String n = DocBuilder.class.getPackage().getName() + "." + name; return core != null ? core.getResourceLoader().findClass(n, Object.class) : Class.forName(n); } catch (Exception e1) { throw new ClassNotFoundException("Unable to load " + name + " or " + DocBuilder.class.getPackage().getName() + "." + name, e); } } }
@Override public <T> Class<? extends T> findClass(String cname, Class<T> expectedType, String... subpackages) { Class<? extends T> clazz = null; RuntimeException parentEx = null; try { clazz = super.findClass(cname, expectedType, subpackages); } catch (RuntimeException e) { parentEx = e; } if (clazz != null) { return clazz; } else { try { //try to load via the OSGI service factory return OsgiResourceLoaderUtil.findOsgiClass(bc, cname, expectedType, subpackages); } catch (SolrException e) { //prefer to throw the first exception if(parentEx != null){ throw parentEx; } else { throw e; } } } }
@Override public <T> Class<? extends T> findClass(String cname, Class<T> expectedType, String... subpackages) { Class<? extends T> clazz = null; RuntimeException parentEx = null; try { clazz = super.findClass(cname, expectedType, subpackages); } catch (RuntimeException e) { parentEx = e; } if (clazz != null) { return clazz; } else { try { //try to load via the OSGI service factory return OsgiResourceLoaderUtil.findOsgiClass(bc, cname, expectedType, subpackages); } catch (SolrException e) { //prefer to throw the first exception if(parentEx != null){ throw parentEx; } else { throw e; } } } }
final Class<?> interfaceClass = loader.findClass(className, Object.class); final BeanInfo beanInfo = Introspector.getBeanInfo(interfaceClass, Introspector.IGNORE_ALL_BEANINFO);
public static CacheConfig getConfig(SolrConfig solrConfig, Node node) { if (node==null) return null; CacheConfig config = new CacheConfig(); config.nodeName = node.getNodeName(); config.args = DOMUtil.toMap(node.getAttributes()); String nameAttr = config.args.get("name"); // OPTIONAL if (nameAttr==null) { config.args.put("name",config.nodeName); } SolrResourceLoader loader = solrConfig.getResourceLoader(); config.cacheImpl = config.args.get("class"); config.regenImpl = config.args.get("regenerator"); config.clazz = loader.findClass(config.cacheImpl); if (config.regenImpl != null) { config.regenerator = (CacheRegenerator) loader.newInstance(config.regenImpl); } return config; }
public Object newAdminHandlerInstance(final CoreContainer coreContainer, String cname, String ... subpackages) { Class clazz = findClass(cname,subpackages); if( clazz == null ) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Can not find class: "+cname + " in " + classLoader, false); } Object obj = null; try { Constructor ctor = clazz.getConstructor(CoreContainer.class); obj = ctor.newInstance(coreContainer); } catch (Exception e) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Error instantiating class: '" + clazz.getName()+"'", e, false ); } //TODO: Does SolrCoreAware make sense here since in a multi-core context // which core are we talking about ? if( obj instanceof ResourceLoaderAware ) { assertAwareCompatibility( ResourceLoaderAware.class, obj ); waitingForResources.add( (ResourceLoaderAware)obj ); } return obj; }
public Object newInstance(String cName, String [] subPackages, Class[] params, Object[] args){ Class clazz = findClass(cName,subPackages); if( clazz == null ) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Can not find class: "+cName + " in " + classLoader, false); } Object obj = null; try { Constructor constructor = clazz.getConstructor(params); obj = constructor.newInstance(args); } catch (Exception e) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Error instantiating class: '" + clazz.getName()+"'", e, false ); } if( obj instanceof SolrCoreAware ) { assertAwareCompatibility( SolrCoreAware.class, obj ); waitingForCore.add( (SolrCoreAware)obj ); } if( obj instanceof ResourceLoaderAware ) { assertAwareCompatibility( ResourceLoaderAware.class, obj ); waitingForResources.add( (ResourceLoaderAware)obj ); } if (obj instanceof SolrInfoMBean){ //TODO: Assert here? infoMBeans.add((SolrInfoMBean) obj); } return obj; }
public Object newInstance(String cname, String ... subpackages) { Class clazz = findClass(cname,subpackages); if( clazz == null ) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Can not find class: "+cname + " in " + classLoader, false); } Object obj = null; try { obj = clazz.newInstance(); } catch (Exception e) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Error instantiating class: '" + clazz.getName()+"'", e, false ); } if( obj instanceof SolrCoreAware ) { assertAwareCompatibility( SolrCoreAware.class, obj ); waitingForCore.add( (SolrCoreAware)obj ); } if( obj instanceof ResourceLoaderAware ) { assertAwareCompatibility( ResourceLoaderAware.class, obj ); waitingForResources.add( (ResourceLoaderAware)obj ); } if (obj instanceof SolrInfoMBean){ //TODO: Assert here? infoMBeans.add((SolrInfoMBean) obj); } return obj; }
if (msg == null) msg = "SolrCore Object"; try { clazz = getResourceLoader().findClass(className); if (cast != null && !cast.isAssignableFrom(clazz)) throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,"Error Instantiating "+msg+", "+className+ " is not a " +cast.getName());
final Class<? extends Analyzer> clazz = loader.findClass(analyzerName, Analyzer.class);
@Override public String init(NamedList config, final SolrCore core) { String result = super.init(config, core); SolrParams initParams = SolrParams.toSolrParams(config); // Initialize Carrot2 controller. Pass initialization attributes, if any. HashMap<String, Object> initAttributes = new HashMap<String, Object>(); extractCarrotAttributes(initParams, initAttributes); this.controller.init(initAttributes); this.idFieldName = core.getSchema().getUniqueKeyField().getName(); // Make sure the requested Carrot2 clustering algorithm class is available String carrotAlgorithmClassName = initParams.get(CarrotParams.ALGORITHM); Class<?> algorithmClass = core.getResourceLoader().findClass(carrotAlgorithmClassName); if (!IClusteringAlgorithm.class.isAssignableFrom(algorithmClass)) { throw new IllegalArgumentException("Class provided as " + CarrotParams.ALGORITHM + " must implement " + IClusteringAlgorithm.class.getName()); } this.clusteringAlgorithmClass = (Class<? extends IClusteringAlgorithm>) algorithmClass; return result; }
final Class<? extends Analyzer> clazz = loader.findClass(analyzerName, Analyzer.class);
this.clusteringAlgorithmClass = core.getResourceLoader().findClass( carrotAlgorithmClassName, IClusteringAlgorithm.class); } catch (SolrException s) {