private Class<?> resolveClassByClassResolver(String className) { Class<?> resolvedClass = null; try { resolvedClass = classResolver.resolveClass(className); } catch (WicketRuntimeException ex) { // Ignore } catch (ClassNotFoundException e) { // Ignore } return resolvedClass; } }
public Iterator<URL> getResources(String name) { synchronized (resolvers) { for (IClassResolver resolver : resolvers) { try { Iterator<URL> iterator = resolver.getResources(name); if (iterator != null && iterator.hasNext()) { return iterator; } } catch (RuntimeException e) { LOGGER.warn("ClassResolver {} threw an unexpected exception.", resolver, e); return Collections.<URL> emptyList().iterator(); } } return Collections.<URL> emptyList().iterator(); } }
/** * @return the class loader returned by the first registered IClassResolver. If there is no * registered IClassResolver then the current thread's context class loader will be returned. */ @Override public ClassLoader getClassLoader() { final ClassLoader classLoader; if (resolvers.isEmpty() == false) { classLoader = resolvers.iterator().next().getClassLoader(); } else { classLoader = Thread.currentThread().getContextClassLoader(); } return classLoader; }
private Class<?> resolveClassByClassResolver(String className) { Class<?> resolvedClass = null; try { resolvedClass = classResolver.resolveClass(className); } catch (WicketRuntimeException ex) { // Ignore } catch (ClassNotFoundException e) { // Ignore } return resolvedClass; } }
/** {@inheritDoc} */ public Iterator<URL> getResources(String name) { ArrayList<URL> collectedResources = new ArrayList<URL>(); for (IClassResolver resolver : resolvers) { try { Iterator<URL> iterator = resolver.getResources(name); if (iterator == null) { continue; } while (iterator.hasNext()) { collectedResources.add(iterator.next()); } } catch (RuntimeException e) { LOGGER.warn("ClassResolver {} threw an unexpected exception.", resolver, e); return collectedResources.iterator(); } } return collectedResources.iterator(); }
/** * @return the class loader returned by the first registered IClassResolver. If there is no * registered IClassResolver then the current thread's context class loader will be returned. */ @Override public ClassLoader getClassLoader() { final ClassLoader classLoader; if (resolvers.isEmpty() == false) { classLoader = resolvers.iterator().next().getClassLoader(); } else { classLoader = Thread.currentThread().getContextClassLoader(); } return classLoader; }
private Class<?> resolveClassByClassResolver(String className) { Class<?> resolvedClass = null; try { resolvedClass = classResolver.resolveClass(className); } catch (WicketRuntimeException ex) { // Ignore } catch (ClassNotFoundException e) { // Ignore } return resolvedClass; } }
/** {@inheritDoc} */ public Iterator<URL> getResources(String name) { ArrayList<URL> collectedResources = new ArrayList<URL>(); for (IClassResolver resolver : resolvers) { try { Iterator<URL> iterator = resolver.getResources(name); if (iterator == null) { continue; } while (iterator.hasNext()) { collectedResources.add(iterator.next()); } } catch (RuntimeException e) { LOGGER.warn("ClassResolver {} threw an unexpected exception.", resolver, e); return collectedResources.iterator(); } } return collectedResources.iterator(); }
private static ClassLoader resolveClassLoader() { ClassLoader classLoader = null; if (org.apache.wicket.Application.exists()) { classLoader = org.apache.wicket.Application.get().getApplicationSettings() .getClassResolver().getClassLoader(); } if (classLoader == null) { classLoader = Thread.currentThread().getContextClassLoader(); } return classLoader; }
/** {@inheritDoc} */ public Class<?> resolveClass(final String classname) throws ClassNotFoundException { LOGGER.trace("Try to resolve {} from {} resolvers", classname, resolvers.size()); for (IClassResolver resolver : resolvers) { try { Class<?> candidate = resolver.resolveClass(classname); if (candidate != null) { return candidate; } } catch (ClassNotFoundException e) { LOGGER.trace("ClassResolver {} could not find class: {}", resolver, classname); } catch (RuntimeException e) { LOGGER.warn("ClassResolver {} threw an unexpected exception.", resolver, e); } } throw new ClassNotFoundException(String.format("Class [%s] can't be resolved.", classname)); }
@Override public Iterator<URL> getResources(String name) { List<URL> resources = new LinkedList<>(); for (Iterator<URL> iter = originalResolver.getResources(name); iter.hasNext(); ) { resources.add(iter.next()); } if (Session.exists()) { UserSession session = UserSession.get(); ClassLoader loader = session.getClassLoader(); if (loader != null) { try { for (Enumeration<URL> resourceEnum = session.getClassLoader().getResources(name); resourceEnum .hasMoreElements(); ) { resources.add(resourceEnum.nextElement()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return resources.iterator(); }
private static ClassLoader resolveClassLoader() { ClassLoader classLoader = null; if (Application.exists()) { classLoader = Application.get().getApplicationSettings() .getClassResolver().getClassLoader(); } if (classLoader == null) { classLoader = Thread.currentThread().getContextClassLoader(); } return classLoader; }
/** {@inheritDoc} */ public Class<?> resolveClass(final String classname) throws ClassNotFoundException { LOGGER.trace("Try to resolve {} from {} resolvers", classname, resolvers.size()); for (IClassResolver resolver : resolvers) { try { Class<?> candidate = resolver.resolveClass(classname); if (candidate != null) { return candidate; } } catch (ClassNotFoundException e) { LOGGER.trace("ClassResolver {} could not find class: {}", resolver, classname); } catch (RuntimeException e) { LOGGER.warn("ClassResolver {} threw an unexpected exception.", resolver, e); } } throw new ClassNotFoundException(String.format("Class [%s] can't be resolved.", classname)); }
/** * {@inheritDoc} * <p> * This implementation iterates through all {@link IClassResolver}s added, and combines the * results into one {@link Set} of {@link URL}s, and returns an {@link Iterator} for the set. * {@link URL}s are unique in the set. * * @param name * The name of the resource to find. * @return An {@link Iterator} of all the {@link URL}s matching the resource name. */ @Override public Iterator<URL> getResources(final String name) { Args.notNull(name, "name"); Set<URL> urls = new TreeSet<URL>(new UrlExternalFormComparator()); for (IClassResolver resolver : resolvers) { Iterator<URL> it = resolver.getResources(name); while (it.hasNext()) { URL url = it.next(); urls.add(url); } } return urls.iterator(); }
public Class<?> resolveClass(final String classname) throws ClassNotFoundException { synchronized (resolvers) { LOGGER.trace("Try to resolve {} from {} resolvers", classname, resolvers.size()); for (IClassResolver resolver : resolvers) { try { Class<?> candidate = resolver.resolveClass(classname); if (candidate != null) { return candidate; } } catch (ClassNotFoundException e) { LOGGER.trace("ClassResolver {} could not find class: {}", resolver, classname); } catch (RuntimeException e) { LOGGER.warn("ClassResolver {} threw an unexpected exception.", resolver, e); } } } throw new ClassNotFoundException(String.format("Class [%s] can't be resolved.", classname)); }
/** * {@inheritDoc} * <p> * This implementation iterates through all {@link IClassResolver}s added, and combines the * results into one {@link Set} of {@link URL}s, and returns an {@link Iterator} for the set. * {@link URL}s are unique in the set. * * @param name * The name of the resource to find. * @return An {@link Iterator} of all the {@link URL}s matching the resource name. */ @Override public Iterator<URL> getResources(final String name) { Args.notNull(name, "name"); Set<URL> urls = new TreeSet<URL>(new UrlExternalFormComparator()); for (IClassResolver resolver : resolvers) { Iterator<URL> it = resolver.getResources(name); while (it.hasNext()) { URL url = it.next(); urls.add(url); } } return urls.iterator(); }
return resolver.resolveClass(className);
.getResources("wicket.properties"); while (resources.hasNext())
return resolver.resolveClass(className);
@Override public Class resolveClass(String name) throws ClassNotFoundException { if (Session.exists()) { UserSession session = UserSession.get(); ClassLoader loader = session.getClassLoader(); if (loader != null) { return session.getClassLoader().loadClass(name); } } return originalResolver.resolveClass(name); }