📄 objecttokencontroller.java
字号:
/*
* Created on 2005/11/15
*/
package com.leeman.wkexs.web.base;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.leeman.common.entity.ObjectTokenVO;
import com.leeman.common.handler.ObjectTokenHandler;
import com.leeman.common.handler.ObjectTokenHandlerHome;
import com.leeman.common.util.EjbGetter;
import com.leeman.common.data.ValueObject;
import com.leeman.common.util.DateUtils;
import com.leeman.wkexs.common.*;
/**
* @author Dennis
*/
public class ObjectTokenController {
private int tokenExpireMinutes;
private ClientInfo clientInfo;
private BaseCollectionCache cache;
public ObjectTokenController(ClientInfo clientInfo, BaseCollectionCache cache){
tokenExpireMinutes = 320;
this.cache = cache;
this.clientInfo = clientInfo;
}
public ObjectTokenVO getTableToken(String tableName, String keyValue) throws Exception
{
ObjectTokenVO otvo = this.createTableTokenVO(tableName, keyValue);
return this.getToken(otvo);
}
public ObjectTokenVO getToken(ValueObject vo) throws Exception
{
ObjectTokenVO otvo = this.createObjectTokenVO(vo);
return this.getToken(otvo);
}
public ObjectTokenVO[] getToken(ValueObject[] vo) throws Exception
{
if (vo != null){
ObjectTokenVO[] otvo = new ObjectTokenVO[vo.length];
for (int i=0; i < otvo.length; i++){
otvo[i] = this.createObjectTokenVO(vo[i]);
}
return getToken(otvo);
}
else
{
return null;
}
}
public ObjectTokenVO getToken(ObjectTokenVO objectTokenVO) throws Exception
{
ObjectTokenHandler handler = getObjectTokenHandler();
ObjectTokenVO[] token = new ObjectTokenVO[1];
token[0] = objectTokenVO;
ObjectTokenVO[] inUseToken = handler.checkSetToken(token);
handler.remove();
if(inUseToken == null){
cache.getObjectTokenList().add(objectTokenVO);
return null;
}
else{
return inUseToken[0];
}
}
public ObjectTokenVO[] getToken(ObjectTokenVO[] objectTokenVO) throws Exception
{
ObjectTokenHandler handler = getObjectTokenHandler();
ObjectTokenVO[] inUseToken = handler.checkSetToken(objectTokenVO);
handler.remove();
if(inUseToken == null){
for (int i=0; i < objectTokenVO.length; i++ ){
cache.getObjectTokenList().add(objectTokenVO[i]);
}
return null;
}
else{
return inUseToken;
}
}
public void releaseToken() throws Exception
{
ObjectTokenHandler handler = getObjectTokenHandler();
ArrayList list = cache.getObjectTokenList();
handler.releaseToken((ObjectTokenVO[])list.toArray(new ObjectTokenVO[0]));
handler.remove();
list.clear();
}
public ObjectTokenVO[] validateToken() throws Exception
{
ObjectTokenHandler handler = getObjectTokenHandler();
ArrayList list = cache.getObjectTokenList();
ObjectTokenVO[] notValidToken = handler.validateToken((ObjectTokenVO[])list.toArray(new ObjectTokenVO[0]));
handler.remove();
return notValidToken;
}
private ObjectTokenHandler getObjectTokenHandler() throws Exception
{
ObjectTokenHandlerHome home = (ObjectTokenHandlerHome)EjbGetter.getEJBHome(ObjectTokenHandler.JNDINAME, ObjectTokenHandlerHome.class);
ObjectTokenHandler objectTokenHandler = home.create();
return objectTokenHandler;
}
public ObjectTokenVO createObjectTokenVO(ValueObject vo) throws Exception{
GregorianCalendar gc = DateUtils.getGregorianCalendarInstance(DateUtils.getCurrentDateTime());
gc.add(GregorianCalendar.MINUTE, this.tokenExpireMinutes) ;
ObjectTokenVO otVO = new ObjectTokenVO();
otVO.setCompany_id(clientInfo.getCompany_id());
otVO.setUser_id(clientInfo.getUser_id());
otVO.setProgram_id(cache.getProgram_id());
otVO.setRecord_key(vo.getKeyValue());
otVO.setSession_id(clientInfo.getSession_id());
otVO.setTable_name(vo.getTable_name());
otVO.setTable_lock("N");
otVO.setToken_date_time(gc.getTime());
return otVO;
}
public ObjectTokenVO createTableTokenVO(String tableName, String keyValue) throws Exception{
GregorianCalendar gc = DateUtils.getGregorianCalendarInstance(DateUtils.getCurrentDateTime());
gc.add(GregorianCalendar.MINUTE, this.tokenExpireMinutes) ;
ObjectTokenVO otVO = new ObjectTokenVO();
otVO.setCompany_id(clientInfo.getCompany_id());
otVO.setUser_id(clientInfo.getUser_id());
otVO.setProgram_id(cache.getProgram_id());
otVO.setRecord_key(keyValue);
otVO.setSession_id(clientInfo.getSession_id());
otVO.setTable_name(tableName);
otVO.setTable_lock("Y");
otVO.setToken_date_time(gc.getTime());
return otVO;
}
/**
* @return
*/
public int getTokenExpireMinutes() {
return tokenExpireMinutes;
}
/**
* @param i
*/
public void setTokenExpireMinutes(int i) {
tokenExpireMinutes = i;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -