44import java .util .Collection ;
55import java .util .HashMap ;
66
7- import org .fugerit .java .core .cfg .ConfigurableObject ;
87import org .fugerit .java .core .cfg .xml .FactoryCatalog ;
98import org .fugerit .java .core .cfg .xml .FactoryType ;
9+ import org .fugerit .java .core .cfg .xml .FactoryTypeHelper ;
1010import org .fugerit .java .core .io .helper .StreamHelper ;
11- import org .fugerit .java .core .lang .helpers .ClassHelper ;
1211import org .fugerit .java .doc .base .config .DocTypeHandler ;
12+ import org .slf4j .Logger ;
13+ import org .slf4j .LoggerFactory ;
1314
1415public class DocHandlerFactory extends HashMap <String , DocHandlerFacade > {
1516
@@ -22,6 +23,10 @@ public class DocHandlerFactory extends HashMap<String, DocHandlerFacade> {
2223
2324 private String useCatalog ;
2425
26+ private final static Logger logger = LoggerFactory .getLogger ( DocHandlerFactory .class );
27+
28+ private static final FactoryTypeHelper <DocTypeHandler > HELPER = FactoryTypeHelper .newInstance ( DocTypeHandler .class );
29+
2530 public static DocHandlerFacade register ( String factoryCatalogPath ) throws Exception {
2631 return register ( factoryCatalogPath , null );
2732 }
@@ -42,11 +47,12 @@ public static DocHandlerFacade register( Collection<FactoryType> col ) throws Ex
4247 if ( col != null ) {
4348 facade = new DocHandlerFacade ();
4449 for ( FactoryType ft : col ) {
45- DocTypeHandler handler = (DocTypeHandler ) ClassHelper .newInstance ( ft .getType () );
46- if ( handler instanceof ConfigurableObject ) {
47- ((ConfigurableObject )handler ).configure ( ft .getElement ());
50+ DocTypeHandler handler = HELPER .createHelper ( ft );
51+ if ( handler != null ) {
52+ facade .registerHandler ( handler );
53+ } else {
54+ logger .info ( "skipped null handler for -> {}" , ft );
4855 }
49- facade .registerHandler ( handler );
5056 }
5157 }
5258 return facade ;
0 commit comments