⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messageshowjob.java

📁 CoolFace是基于jxta的P2P系统
💻 JAVA
字号:
package com.cn.darkblue.job;

import java.util.HashMap;
import java.util.Queue;

import net.jxta.endpoint.Message;
import net.jxta.peergroup.PeerGroup;
import net.jxta.util.JxtaBiDiPipe;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.ui.progress.UIJob;

import com.cn.darkblue.helper.IGroupChat;
import com.cn.darkblue.helper.IMsgScreen;
import com.cn.darkblue.helper.IPGResource;
import com.cn.darkblue.listener.CFPGQueryListener;
import com.cn.darkblue.listener.SecChatListener;
import com.cn.darkblue.util.CFResource;
import com.cn.darkblue.util.MessageUtil;

public class MessageShowJob extends UIJob{
	private static final Log log = LogFactory.getLog(MessageShowJob.class);
	HashMap joinMap = null;
	PeerGroup peergroup;
	IGroupChat gc;
	
	IGroupChat tempgc;
	IMsgScreen oScreens;
	JxtaBiDiPipe bidiPipe = null;
	
	HashMap msgMap;
	Queue queue = null;
	public MessageShowJob(){
		super("Message show job");
	}
	@Override
	public IStatus runInUIThread(IProgressMonitor monitor) {

		try{
			if(CFResource.getInstance().getGroupItrtWins().size()>0){
				joinMap = CFResource.getInstance().getJoinPGMap();
				//Object[] keys = joinMap.keySet().toArray();
				for(int i =0;i<CFResource.getInstance().getGroupItrtWins().size();i++){
					gc = (IGroupChat)CFResource.getInstance().getGroupItrtWins().get(i);
					peergroup = gc.getPeerGroup();
					IPGResource res = (IPGResource)joinMap.get(peergroup);
					
					//组聊天信息输入
					queue = (Queue)res.getMsgQueues().get(peergroup);
					if(queue!=null){
						try{
							Object obj = queue.remove();
							while(obj!=null){
								gc.println(obj.toString());
								obj = queue.remove();
							}
						}catch(Exception ex){}
					}
					//好友私聊信息输出
					Object[] keys = res.getOScreens().keySet().toArray();
					for(int j=0;j<keys.length;j++){
						
						oScreens = (IMsgScreen)res.getOScreens().get(keys[j]);
						queue = (Queue)res.getMsgQueues().get(keys[j]);

						try{
							Object obj = queue.remove();
							while(obj!=null){
								oScreens.println(obj.toString());
								System.out.println("will print friend message "+obj.toString());
								obj = queue.remove();
							}
						}catch(Exception ex){
						}
						
						/*
						oScreens = (IMsgScreen)res.getOScreens().get(keys[j]);
						bidiPipe = (JxtaBiDiPipe)res.getOutputPipes().get(keys[j]);
						if(bidiPipe!=null){
							try{
								System.out.println("Will print the message...");
								//bidiPipe.isBound();
								Message message = bidiPipe.getMessage(1000*60);
								if (message != null){
									System.out.println("Message is not null...");
									String mes = (String)MessageUtil.getStringFromMessage(message,SecChatListener.CHAT_COMM_SPACE, 
											SecChatListener.CHAT_COMM_MSG );
									System.out.println("the message String is = "+mes);
									if(mes!=null)
										oScreens.println(mes);
								}
								
							}catch(Exception ex){
								ex.printStackTrace();
							}
						}*/
					}
				}
				
			}
		}catch(Exception e){
			log.error(e.getMessage());
			e.printStackTrace();
		}finally{
			schedule(1000);
		}
		return null;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -