/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.logic.compiler.tokens; import java.util.Map; import org.apache.commons.lang.StringUtils; import com.hundsun.ares.studio.atom.AtomFunction; import com.hundsun.ares.studio.engin.constant.IEngineContextConstant; import com.hundsun.ares.studio.engin.constant.ITokenConstant; import com.hundsun.ares.studio.engin.token.DefaultTokenEvent; import com.hundsun.ares.studio.engin.token.ICodeToken; import com.hundsun.ares.studio.engin.token.ITokenListenerManager; import com.hundsun.ares.studio.logic.compiler.constant.ILogicEngineContextConstant; /** * �߼����񴴽� * @author qinyuan * */ public class LogicServiceBeginToken implements ICodeToken { /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.token.ICodeToken#getContent() */ @Override public String getContent() { // TODO Auto-generated method stub return null; } /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.token.ICodeToken#getType() */ @Override public int getType() { return CODE_TEXT; } /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.token.ICodeToken#genCode(java.util.Map) */ @Override public String genCode(Map<Object, Object> context) throws Exception { AtomFunction ls = (AtomFunction)context.get(ILogicEngineContextConstant.ResourceModel); if(StringUtils.isBlank(ls.getObjectId())){ ITokenListenerManager manager = (ITokenListenerManager)context.get(IEngineContextConstant.TOKEN_LISTENER_MANAGER); String message = "��Դ:"+ls.getName()+"�����ù��ܺ�"; manager.fireEvent(new DefaultTokenEvent(ITokenConstant.EVENT_ENGINE_WARNNING,message)); } //����������ʹ�ö���ţ�����Ų����ڣ�ʹ����ԴӢ���� String funcName = ""; if(StringUtils.isBlank(ls.getObjectId())) { funcName = ls.getName(); }else { funcName = "F" + ls.getObjectId(); } return String.format(LOGIC_SERVICE_CREATE_METHOD_INFO, ls.getChineseName(),funcName); } private final static String LOGIC_SERVICE_CREATE_METHOD_INFO = "//%s" + NEWLINE + "int FUNCTION_CALL_MODE %s(IAS2Context * lpContext,IF2UnPacker * lpInUnPacker,IF2Packer * lpOutPacker)" + NEWLINE + "{" + NEWLINE; }