/**
* 版权声明:中图一购网络科技有限公司 版权所有 违者必究 2012
* 日 期:12-7-30
*/
package com.rop.sample;
import com.rop.security.InvokeTimesController;
import com.rop.session.Session;
import java.util.HashMap;
import java.util.Map;
/**
* <pre>
* 功能说明:
* </pre>
*
* @author 陈雄华
* @version 1.0
*/
public class SampleInvokeTimesController implements InvokeTimesController {
private static Map<String,Integer> appCallLimits = new HashMap<String,Integer>();
private static Map<String,Integer> appCallCounter = new HashMap<String,Integer>();
static {
appCallLimits.put("00002",10);
}
public void caculateInvokeTimes(String appKey, Session session) {
if(!appCallCounter.containsKey(appKey)){
appCallCounter.put(appKey,0);
}
appCallCounter.put(appKey,appCallCounter.get(appKey)+1);
}
public boolean isUserInvokeLimitExceed(String appKey, Session session) {
return false;
}
public boolean isSessionInvokeLimitExceed(String appKey, String sessionId) {
return false;
}
public boolean isAppInvokeLimitExceed(String appKey) {
return appCallLimits.containsKey(appKey) &&
appCallCounter.get(appKey) > appCallLimits.get(appKey) ;
}
public boolean isAppInvokeFrequencyExceed(String appKey) {
return false;
}
}