properties.setProperty("net.slp.sflog", sfResolve("slp_config_sflog").toString());
    public synchronized void sfDeploy() throws SmartFrogException, RemoteException {        super.sfDeploy();          Properties properties = new Properties();        // get slp configuration        String s = (String)sfResolve("slp_config_interface");        if(!s.equals("")) properties.setProperty("net.slp.interface", s);        properties.setProperty("net.slp.multicastMaximumWait", sfResolve("slp_config_mc_max").toString());        properties.setProperty("net.slp.randomWaitBound", sfResolve("slp_config_rnd_wait").toString());        properties.setProperty("net.slp.initialTimeout", sfResolve("slp_config_retry").toString());        properties.setProperty("net.slp.unicastMaximumWait", sfResolve("slp_config_retry_max").toString());        properties.setProperty("net.slp.DAActiveDiscoveryInterval", sfResolve("slp_config_da_find").toString());        properties.setProperty("net.slp.DAAddresses", sfResolve("slp_config_daAddresses").toString());        properties.setProperty("net.slp.useScopes", sfResolve("slp_config_scope_list").toString());        properties.setProperty("net.slp.mtu", sfResolve("slp_config_mtu").toString());        properties.setProperty("net.slp.port", sfResolve("slp_config_port").toString());        properties.setProperty("net.slp.locale", sfResolve("slp_config_locale").toString());        properties.setProperty("net.slp.multicastAddress", sfResolve("slp_config_mc_addr").toString());        properties.setProperty("net.slp.debug", sfResolve("slp_config_debug").toString());        properties.setProperty("net.slp.logErrors", sfResolve("slp_config_log_errors").toString());        properties.setProperty("net.slp.logMsg", sfResolve("slp_config_log_msg").toString());        properties.setProperty("net.slp.logfile", sfResolve("slp_config_logfile").toString());                // get locator configuration        discoveryDelay = ((Integer)sfResolve("locator_discovery_delay")).intValue();        discoveryInterval = ((Integer)sfResolve("locator_discovery_interval")).intValue();        returnEnumeration = ((Boolean)sfResolve("returnEnumeration")).booleanValue();                // get parameters for service discovery.        String srvTypeStr = sfResolve("serviceType").toString();        if(srvTypeStr.equals("")) {            throw new SmartFrogException("SLP: No service type given");        }        serviceType = new ServiceType(srvTypeStr);        searchFilter = sfResolve("searchFilter").toString();        scope_list = (Vector)sfResolve("searchScopes");                // get the locator        ServiceLocationManager.setProperties(properties);        try {            locator = ServiceLocationManager.getLocator(new Locale(properties.getProperty("net.slp.locale")));            if(scope_list.isEmpty())scope_list = ServiceLocationManager.findScopes();        }catch(Exception ex) {            ex.printStackTrace();            throw (SmartFrogException) SmartFrogException.forward(ex);        }                // start locator thread        locatorThread = new Thread() {            public void run() {                locateServices();            }        };        locatorThread.start();    }