| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package xin.glue.ui.common;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import xin.glue.ui.common.component.PosMessageMap;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.vo.PosRowSet;
- import com.posdata.glue.msg.PosMESMessageImpl;
- import com.posdata.glue.msg.PosMessage;
- public class PosMsgInterface extends PosDBEngine {
- public String runActivity(PosContext ctx) {
- String msgID = getProperty("msgID");
- Map map = PosMessageMap.getMessageMap(msgID, getProperty("layout"));
- if (map == null || map.size() == 0)
- return PosBizControlConstants.SUCCESS;
-
- Initialize();
- PosMessage message = new PosMESMessageImpl();
- Map fields = new HashMap();
- fields.putAll(map);
- setParamMap(ctx, "sqlkey", "param");
- PosRowSet rowSet = (PosRowSet) Execute(ctx, "sqlkey", "param");
- if (rowSet != null) {
- for (Iterator iterator = rowSet.next().getAttributes().entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- message.setObject(entry.getKey().toString(), entry.getValue());
- fields.remove(entry.getKey());
- }
- }
- for (Iterator iterator = fields.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- Object key = entry.getKey();
- Object value = ctx.get(key);
- if (value instanceof String[])
- message.setObject(key.toString(), ((String[])value)[0]);
- else
- message.setObject(key.toString(), value);
- }
- if ("true".equals(getProperty("parseMessage"))) {
- StringBuffer sb = new StringBuffer(1024);
- int length = 0;
- for (Iterator iterator = fields.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- sb.append(message.get(entry.getKey().toString()));
- length += Integer.parseInt(entry.getValue().toString());
- sb.setLength(length);
- }
- message.setTC(sb.toString());
- message.setTCID(msgID);
- }
- ctx.setMessage(message);
- return PosBizControlConstants.SUCCESS;
- }
- }
|