final ResourceManager resourceManager = new ResourceManager();
resourceManager.registerDefaults();
final Resource resource = resourceManager.createDirectly(xulDocument, Document.class);
final Document document = (Document) resource.getResource();
final DOMReader domReader = new DOMReader();
final XulDomContainer container = loader.loadXulFragment(domReader.read(document));
// Create our main Controller
final String className = configuration.getConfigProperty
("org.pentaho.reporting.designer.core.editor.drilldown.xul-controller." + configurationTag, // NON-NLS
DefaultXulDrillDownController.class.getName());
controller = (XulDrillDownController)
ObjectUtilities.loadAndInstantiate(className, XulDrillDownController.class, XulDrillDownController.class);
if (controller != null)
{
controller.setName("controller"); // NON-NLS
controller.setXulDomContainer(container);
controller.init(reportDesignerContext, model);
container.addEventHandler(controller);
}
// Start it up!
final XulRunner runner = new SwingXulRunner();
runner.addContainer(container);