package com.thoughtworks.webanalyticsautomation.plugins; import org.apache.log4j.Logger; /** * Created by: Anand Bagmar * Email: abagmar@gmail.com * Date: Dec 29, 2010 * Time: 9:34:02 AM * * Copyright 2010 Anand Bagmar (abagmar@gmail.com). Distributed under the Apache 2.0 License */ public class PluginFactory { private static final Logger logger = Logger.getLogger(PluginFactory.class.getName()); private static OmnitureDebugger omnitureDebugger; private static ProxyDebugger proxyDebugger; public static void reset() { logger.info ("Resetting PluginInstances"); omnitureDebugger = null; proxyDebugger = null; } public static WaatPlugin getWebAnalyticsPluginInstance(WebAnalyticTool webAnalyticTool) { if (webAnalyticTool.equals(WebAnalyticTool.OMNITURE_DEBUGGER)) { if (null == omnitureDebugger) { omnitureDebugger = new OmnitureDebugger(); } logger.info ("Returning Omniture Debugger plugin instance"); return omnitureDebugger; } else if (webAnalyticTool.equals(WebAnalyticTool.PROXY)) { if (null == proxyDebugger) { proxyDebugger = new ProxyDebugger(); } logger.info ("Returning Proxy Debugger plugin instance"); return proxyDebugger; } else { throw new IllegalArgumentException("Invalid type of Web Analytic Tool (" + webAnalyticTool + ") specified"); } } }