public PortalFilterDescriptor(String descriptorFile) throws PersistenceManagerException { PersistenceManagerXml pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorFile, FILTER_MAPPING_PATH); PortalFilterCollection portalFilterCollection = (PortalFilterCollection) pmXML.load(); List<PortalFilterDefinition> portalFilterList = portalFilterCollection.getPortalFilterList(); for (PortalFilterDefinition def : portalFilterList) { String filterImpl = def.getImplementation(); try { PortalFilter filterClass = (PortalFilter) Class.forName(filterImpl).newInstance(); PortalFilterConfig filterConfig = new PortalFilterConfigImpl(def.getConfigProperties()); filterClass.init(filterConfig); portalFilters.add(filterClass); } catch (ClassNotFoundException e) { log.error("Unable to find filter class: " + filterImpl, e); } catch (InstantiationException e) { log.error("Unable to instantiate filter class: " + filterImpl, e); } catch (IllegalAccessException e) { log.error("Illegal access on filter class: " + filterImpl, e); } } }