package com.griddynamics.jagger.webclient.client.components.control; import com.griddynamics.jagger.webclient.client.components.ControlTree; import com.griddynamics.jagger.webclient.client.components.SessionComparisonPanel; import com.griddynamics.jagger.dbapi.model.*; import com.griddynamics.jagger.webclient.client.handler.*; import com.griddynamics.jagger.webclient.client.trends.Trends; import java.util.HashMap; import java.util.Map; /** * Provides Handlers for specific Node * User: amikryukov * Date: 11/26/13 */ public class CheckHandlerMap { private static Map<Class, TreeAwareHandler<?>> handlers; static { handlers = new HashMap<Class, TreeAwareHandler<?>>(){ { put(SummaryNode.class, new SummaryNodeHandler()); put(SessionInfoNode.class, new SessionInfoNodeHandler()); put(TestNode.class, new TestNodeHandler()); put(TestInfoNode.class, new TestInfoNodeHandler()); put(MetricNode.class, new MetricNodeHandler()); put(MetricGroupNode.class, new MetricGroupNodeHandler()); put(DetailsNode.class, new DetailsNodeHandler()); put(TestDetailsNode.class, new TestDetailsNodeHandler()); put(PlotNode.class, new PlotNodeHandler()); } }; } public static void setTestInfoFetcher(Trends.TestInfoFetcher testInfoFetcher) { for (TreeAwareHandler tah : handlers.values()) { tah.setTestInfoFetcher(testInfoFetcher); } } public static void setMetricFetcher(Trends.MetricFetcher metricFetcher) { for (TreeAwareHandler tah : handlers.values()) { tah.setMetricFetcher(metricFetcher); } } public static void setSessionComparisonPanel(SessionComparisonPanel sessionComparisonPanel) { for (TreeAwareHandler tah : handlers.values()) { tah.setSessionComparisonPanel(sessionComparisonPanel); } } public static void setTree(ControlTree<String> tree) { for (TreeAwareHandler tah : handlers.values()) { tah.setTree(tree); } } public static void setTestPlotFetcher(Trends.TestPlotFetcher testPlotFetcher) { for (TreeAwareHandler tah : handlers.values()) { tah.setTestPlotFetcher(testPlotFetcher); } } public static TreeAwareHandler<?> getHandler(Class clazz) { return handlers.get(clazz); } }