/* * Copyright 2005-2010 Ignis Software Tools Ltd. All rights reserved. */ package jsystem.runner.agent.notifications; import java.util.logging.Logger; import jsystem.framework.fixture.Fixture; import jsystem.framework.report.JSystemListeners; import jsystem.runner.loader.LoadersManager; /** * * @author goland */ public class AboutToChangeToFixtureNotification extends RunnerNotification { private static final long serialVersionUID = 468127957018314228L; private static Logger log = Logger.getLogger(AboutToChangeToFixtureNotification.class.getName()); private String fixtureClassName; public AboutToChangeToFixtureNotification(Object source,String fixtureClassName) { super(AboutToChangeToFixtureNotification.class.getName(), source); this.fixtureClassName = fixtureClassName; } public void invokeDispatcher(JSystemListeners mediator){ ClassLoader loader = LoadersManager.getInstance().getLoader(); try { Class<?> fixtureClass = (Class<?>)loader.loadClass(getFixtureClassName()); Fixture fixtureInstance = (Fixture)fixtureClass.newInstance(); mediator.aboutToChangeTo(fixtureInstance); } catch (Exception e){ log.warning("Failed creating instance of fixture " + getFixtureClassName() + " " + e.getMessage()); } } public String getFixtureClassName() { return fixtureClassName; } }