package org.eclipse.ecf.services.quotes.jmdns; import java.util.Arrays; import org.eclipse.ecf.discovery.IDiscoveryLocator; import org.eclipse.ecf.discovery.IServiceInfo; import org.eclipse.ecf.discovery.identity.IServiceID; import org.eclipse.ecf.discovery.identity.IServiceTypeID; import org.eclipse.ecf.services.quotes.QuoteService; public class QutoeServiceImpl implements QuoteService { private IDiscoveryLocator discoveryLocator; /* (non-Javadoc) * @see org.eclipse.ecf.services.quotes.QuoteService#getServiceName() */ public String getServiceName() { return "JmDNS (ZeroConfig) Quote Service"; } /* (non-Javadoc) * @see org.eclipse.ecf.services.quotes.QuoteService#getServiceDescription() */ public String getServiceDescription() { return getServiceName(); } /* (non-Javadoc) * @see org.eclipse.ecf.services.quotes.QuoteService#getRandomQuote() */ public String getRandomQuote() { final IServiceInfo[] services = discoveryLocator.getServices(); final StringBuffer buf = new StringBuffer(services.length); for (int i = 0; i < services.length; i++) { final IServiceInfo service = services[i]; buf.append("Service name:"); buf.append(service.getServiceName()); buf.append("\nLocation:"); buf.append(service.getLocation()); buf.append("\ntype:"); final IServiceID serviceID = service.getServiceID(); final IServiceTypeID serviceTypeID = serviceID.getServiceTypeID(); buf.append("\nsupported protocols:"); buf.append(Arrays.toString(serviceTypeID.getProtocols())); buf.append("\nscopes:"); buf.append(Arrays.toString(serviceTypeID.getScopes())); } return buf.toString(); } /* (non-Javadoc) * @see org.eclipse.ecf.services.quotes.QuoteService#getAllQuotes() */ public String[] getAllQuotes() { return new String[]{"foo", "bar"}; } public void bindDiscoveryLocatorService(IDiscoveryLocator aDiscoveryLocator) { discoveryLocator = aDiscoveryLocator; } public void unbindDiscoveryLocatorService(IDiscoveryLocator aDiscoveryLocator) { } }