@Override protected ObjectConverter createInstance() throws Exception { List<Class<? extends HippoBean>> annotatedClasses = null; if (annotatedClassesResourcePath == null && servletContext != null) { annotatedClassesResourcePath = servletContext.getInitParameter(annotatedClassesInitParam); } if (annotatedClassesResourcePath != null) { try { annotatedClasses = ObjectConverterUtils.getAnnotatedClasses(classpathResourceScanner, StringUtils.split(annotatedClassesResourcePath, ", \t\r\n")); } catch (Exception e) { throw new IllegalStateException(e); } } if (annotatedClasses != null) { return ObjectConverterUtils.createObjectConverter(annotatedClasses); } return null; }
private List<Class<? extends HippoBean>> getAnnotatedClasses(final ClasspathResourceScanner classpathResourceScanner) { List<Class<? extends HippoBean>> annotatedClasses = null; String ocmAnnotatedClassesResourcePath = getAnnotatedClassesResourcePath(); // if not manually configured, then read it from servlet context init parameter. if (ocmAnnotatedClassesResourcePath == null) { ServletContext servletContext = HstServices.getComponentManager().getServletContext(); if (servletContext == null) { throw new IllegalStateException("ServletContext is not found."); } ocmAnnotatedClassesResourcePath = servletContext.getInitParameter(BEANS_ANNOTATED_CLASSES_CONF_PARAM); } if (ocmAnnotatedClassesResourcePath == null) { throw new IllegalStateException("No content bean annotation class resource path found."); } try { annotatedClasses = ObjectConverterUtils.getAnnotatedClasses(classpathResourceScanner, StringUtils.split(ocmAnnotatedClassesResourcePath, ", \t\r\n")); } catch (Exception e) { throw new IllegalStateException(e); } return annotatedClasses; }