package com.taobao.easyweb.core.request.pipeline; import com.taobao.easyweb.core.app.App; import com.taobao.easyweb.core.app.change.AppChangeAdapter; import com.taobao.easyweb.core.context.Context; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * User: jimmey/shantong * DateTime: 13-5-3 ����11:53 */ public class Pipeline extends AppChangeAdapter { private static Map<String, List<Valve>> appValves = new ConcurrentHashMap<String, List<Valve>>(); public static void initPipeline(App app, List<Valve> valves) { appValves.put(app.getAppKey(), valves); } public static void invoke(Context context) throws Exception { List<Valve> valves = appValves.get(context.getApp().getAppKey()); if (valves == null || valves.isEmpty()) { return; } for (Valve valve : valves) { valve.invoke(context); } } @Override public void remove(App app) { appValves.remove(app.getAppKey()); } @Override public void stop(App app) { remove(app); } }