if ( _mapping == null )
throw new MappingException( "Must call loadMapping first" );
resolver = (MappingResolver) _resolvers.get( engine );
if ( resolver == null ) {
MappingLoader loaderImpl;
Class loaderClass;
Constructor loaderConst;
try {
if (_loader != null)
loaderClass = _loader.loadClass(engine.getLoaderClass() );
else
loaderClass = Class.forName(engine.getLoaderClass());
loaderConst = loaderClass.getConstructor( new Class[] { ClassLoader.class, PrintWriter.class } );
loaderImpl = (MappingLoader) loaderConst.newInstance( new Object[] { _loader, _logWriter } );
// Put loader in hash table first, so we don't get an error message if this
// method is called a second time
resolver = loaderImpl;
_resolvers.put( engine, resolver );
loaderImpl.setAllowRedefinitions(_allowRedefinitions);
loaderImpl.loadMapping( _mapping, param );
}
catch ( Exception except ) {
throw new MappingException( except );
}
}