All pastes #420984 Raw Edit

Mine

public text v1 · immutable
·published 2007-04-02 15:04 UTC
rendered paste body
/**
 * Copyright 2006 Aldrin Leal, aldrin at leal dot eng dot bee ar
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package org.codehaus.plexus.discovery.mdns;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;

import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceListener;

import org.codehaus.plexus.discovery.DiscoverableResource;
import org.codehaus.plexus.discovery.ResourceDiscoverer;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
import org.codehaus.plexus.util.CollectionUtils;

/**
 * A MulticastDNS Service Discoverer
 * 
 * @author Aldrin Leal
 * @plexus.component role="org.codehaus.plexus.discovery.ResourceDiscoverer" lifecycle-handler="basic"
 */
public class MDNSResourceDiscoverer implements ResourceDiscoverer, ServiceListener, LogEnabled, Startable
{
    private static final int TIMEOUT_DEFAULT = 5000;

    /** Resource Types List */
    private Set resourceTypes;

    /** Logger */
    private Logger logger;

    /**
     * jMDNSWrapper instance
     * 
     * @plexus.requirement
     */
    private JmDNSWrapper jmDNSWrapper;