/** * Constructor takes a QueryConfigurationObject from which it gets the args it needs supplied * through agent's configuration file by InfoAgent. */ public WCNForecastWeatherQueryFn(QueryConfigurationObject queryConfigObj) { this.queryConfigObj = queryConfigObj; this.siteURLString = queryConfigObj.getInfoSourceURL(); this.display = queryConfigObj.getExtGUI(); // I should now get the agentDebugLevel and options and // do some setup with them. Just do very simple for now. int debugLevel = queryConfigObj.getAgentDebugLevel(); if (debugLevel == 0) setNoDebugFlags(); else setDebugFlags(); int options = queryConfigObj.getAgentOptionsSelect(); if (options == 3) { Parser.DEBUG = true; } else if (options == 0) { WCNForecastWeatherQueryFn.FILE_READ = false; WCNForecastWeatherQueryFn.FILE_WRITE = false; } else if (options == 1) { WCNForecastWeatherQueryFn.FILE_READ = false; WCNForecastWeatherQueryFn.FILE_WRITE = true; } else { WCNForecastWeatherQueryFn.FILE_READ = true; WCNForecastWeatherQueryFn.FILE_WRITE = false; } }
/** * ************************************************************** public synchronized void * setCommunicator(Communicator comm) { if (comm == null) { displayMessage("ERROR", * "WCNForecastWeatherQueryFn::setCommunicator " + "Null arg for Communicator was supplied"); } * this.comm = comm; notifyAll(); } private synchronized Communicator getCommunicator() { while * (comm == null) {try {wait();} catch (Exception e) {}} return comm; } * ************************************************************** */ private RetsinaCommunicator getCommunicator() { if (comm == null) comm = queryConfigObj.getCommunicator(); // may block waiting return comm; }