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

📄 catalogexchangeserviceimpl.java

📁 基于jxta的文件共享和聊天系统源代码,下载下来分析吧
💻 JAVA
字号:
/* * Created on 27-nov-2005 * *//** * @author magowiz * *  */package catalog_exchange;import java.net.URL;import java.util.Date;import java.util.Vector;import net.jxta.document.Advertisement;import net.jxta.exception.PeerGroupException;import net.jxta.id.ID;import net.jxta.impl.protocol.ResolverQuery;import net.jxta.peergroup.PeerGroup;import net.jxta.protocol.ModuleImplAdvertisement;import net.jxta.resolver.ResolverService;import net.jxta.service.Service;/** * Implementation of the Catalog Exchange Service Interface, a Service that  * allow a peer to get a catalog from another peer or web  * */public class CatalogExchangeServiceImpl implements CatalogExchangeService {	private Vector registeredListeners = new Vector();	private ResolverService resolver = null;	private Advertisement implAdvertisement = null;	private String handlerName=null;	private PeerGroup myPeerGroup=null;	private CatalogHandler handler=null;	private CatalogManager catman=null;	//private int catn=0;			public void catRefresh()	{				CatalogInfo[] ci=catman.getInfo();		for (int i=0; i<ci.length;i++)		{			if(ci[i]!=null){				long dl=ci[i].getDownloadDate();				Date d=new Date(dl);				Date s=new Date(System.currentTimeMillis());				s.setDate(s.getDate()-3);				if(d.before(s)&&(!ci[i].getCatalogName().equals("*")))					{						System.out.println("older");						this.refreshCatalogFromWeb(ci[i].getCatalogName(), ci[i].getCatalogUrl());					}					}		}	}		public boolean refreshCatalogFromWeb(String cn, URL u)	{		return handler.catRWeb(cn, u);			}		public boolean getCatalogFromWeb(String cn, URL u)		{			return handler.catWeb(cn,u);	 			}		public boolean isInLocalCache(String cn)	{		boolean r=false;		if (catman.search(cn)!=-1)			r=true;		return r;	}		public boolean catDelete(String cname)	{		return catman.delete(cname);	}	    public boolean getCatalog(int qid,String cn,URL u){				 boolean s=true;		 		 if(resolver!=null)		 {			 		 CatalogExchangeQuery query;		 if(catman.getCatalog(cn)==null){query=new CatalogExchangeQuery(cn,u);}		 else{query=new CatalogExchangeQuery(cn,u,catman.getCatalogLastModified(cn).getTime());}		   //System.out.println(handlerName);		  //System.out.println(query.toString());		 ResolverQuery rq = new ResolverQuery(handlerName,	            null, myPeerGroup.getPeerID().toString(), query.toString(), qid);		  		resolver.sendQuery(null,rq);		}				return s;}		public void removeListener(CatalogExchangeListener cl)	{		registeredListeners.removeElement(cl);	}		public synchronized void addListener(CatalogExchangeListener cl)	{		registeredListeners.addElement(cl);				}			public void init(PeerGroup pg, ID id,Advertisement adv)	throws PeerGroupException	{		implAdvertisement = (ModuleImplAdvertisement) adv;		handlerName = id.toString();		myPeerGroup = pg;				}				public int startApp(String [] s)	{		resolver=myPeerGroup.getResolverService();		catman=new CatalogManager(10);		handler=new CatalogHandler(resolver,registeredListeners,handlerName,catman);		resolver.registerHandler(handlerName,handler);		return 0;	}		public void stopApp()	{		// Unregister ourselves as a listener.        if (resolver != null)        {            resolver.unregisterHandler(handlerName);        }            }		public Advertisement getImplAdvertisement()	{		 return implAdvertisement;	}		public Service getInterface()	{		 return this;	 	}}

⌨️ 快捷键说明

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