1 package base.jdbs.network.util; 2 3 import java.util.Enumeration; 4 import java.util.Vector; 5 6 import net.jxta.discovery.DiscoveryService; 7 import net.jxta.protocol.PeerAdvertisement; 8 import net.jxta.protocol.PeerGroupAdvertisement; 9 10 import org.apache.log4j.Logger; 11 12 public class JxtaUtil { 13 14 private static final transient Logger logger = Logger.getLogger(JxtaUtil.class.getName()); 15 16 17 /*** 18 * This method must be used to retrieve each PeerGroupAdvertisement stored in the local peer's cache. 19 * @param discoveryService The discovery service used to check the Peer Group Advertisements stored in the local cache. 20 * @return A set of PeerGroupAdvertisement found in the local peer's cache. 21 */ 22 public static PeerGroupAdvertisement[] groupsInLocalCache(DiscoveryService discoveryService) { 23 Vector<PeerGroupAdvertisement> result = new Vector<PeerGroupAdvertisement>(); 24 logger.debug("--- local cache (Peer Groups) ---"); 25 try { 26 PeerGroupAdvertisement peerGroupAdvertisement = null; 27 Enumeration enumeration = discoveryService.getLocalAdvertisements(DiscoveryService.GROUP, null, null); 28 if (enumeration != null) { 29 while (enumeration.hasMoreElements()) { 30 peerGroupAdvertisement = (PeerGroupAdvertisement) enumeration.nextElement(); 31 result.add(peerGroupAdvertisement); 32 logger.debug( peerGroupAdvertisement.getName() + ", group ID = " +peerGroupAdvertisement.getPeerGroupID().toString()); 33 } 34 } 35 } catch (Exception ex) { 36 ex.printStackTrace(); 37 } 38 logger.debug("--- end local cache ---"); 39 return result.toArray(new PeerGroupAdvertisement[0]); 40 } 41 42 /*** 43 * This method must be used to retrieve each PeerAdvertisement stored in the local peer's cache. 44 * @param discoveryService The discovery service used to check the Peer Advertisements stored in the local cache. 45 * @return A set of PeerAdvertisement found in the local peer's cache. 46 */ 47 public static PeerAdvertisement[] peersInLocalCache(DiscoveryService discoveryService) { 48 Vector<PeerAdvertisement> result = new Vector<PeerAdvertisement>(); 49 logger.debug("--- local cache (Peers) ---"); 50 try { 51 PeerAdvertisement peerAdvertisement = null; 52 Enumeration enumeration = discoveryService.getLocalAdvertisements(DiscoveryService.PEER, null, null); 53 if (enumeration != null) { 54 while (enumeration.hasMoreElements()) { 55 peerAdvertisement = (PeerAdvertisement) enumeration.nextElement(); 56 result.add(peerAdvertisement); 57 logger.debug( peerAdvertisement.getName() + ", peer ID = " +peerAdvertisement.getPeerID().toString()); 58 } 59 } 60 } catch (Exception ex) { 61 ex.printStackTrace(); 62 } 63 logger.debug("--- end local cache ---"); 64 return result.toArray(new PeerAdvertisement[0]); 65 } 66 67 68 69 }