content: /* The contents of this file are subject to the terms
   * of the Common Development and Distribution License
   * (the License). You may not use this file except in
   * compliance with the License.
   *
   * You can obtain a copy of the License at
   * http://www.sun.com/cddl/cddl.html or
   * install_dir/legal/LICENSE
   * See the License for the specific language governing
   * permission and limitations under the License.
   *
   * When distributing Covered Code, include this CDDL
   * Header Notice in each file and include the License file
   * at install_dir/legal/LICENSE.
   * If applicable, add the following below the CDDL Header,
   * with the fields enclosed by brackets [] replaced by
   * your own identifying information:
   * "Portions Copyrighted [year] [name of copyright owner]"
   *
   * $Id$
   *
   * Copyright 2005-2009 Sun Microsystems Inc. All Rights Reserved
   */
  package com.sun.faban.harness.agent;
  
  import com.sun.faban.harness.common.Run;
  
  import java.rmi.RemoteException;
  import java.rmi.Remote;
  import java.io.*;
  import java.util.*;
  
  /**
   * An agent for controlling the Oracle database.
   * @author Ramesh Ramachandran
   * @deprecated Replaced by the services/tools infrastructure
   */
  @Deprecated public interface OracleAgent extends Remote {
  
      /**
       * This method get the configure parameters of the oracle instance.
       * @param serverID Instance name
       * @return The list of configuration parameters
       * @throws IOException An I/O error occurred
       */
      public List getConfig(String serverID) throws IOException;
      
      /**
       * This method set the configure parameters of the oracle instance.
       * @param serverID Instance name
       * @param oracleParams The parameter list
       * @throws IOException An I/O error occurred
       */
      public void setConfig(String serverID, List oracleParams) throws IOException;
    
      /**
       * Start an Oracle instance.
       * @param serverID Instance name
       * @return Whether the server started successfully
       * @throws Exception An error occurred in the process
       */
      public boolean start(String serverID) throws Exception;
      
      /**
       * Stop an Oracle instance.
       * @param serverID Instance name
       * @return Whether the server stopped successfully
       * @throws Exception An error occurred in the process
       */
      public boolean stop(String serverID) throws Exception;
      
      /**
       * Start the Oracle listener.
       * @return Whether the listener started successfully
       * @throws Exception An error occurred in the process
       */
      public boolean startListener() throws Exception;
  
      /**
       * Stop an Oracle listener.
       * @return Whether the listener stopped successfully
       * @throws Exception An error occurred in the process
       */
      public boolean stopListener() throws Exception;
  
      /**
       * Checks the listener status.
       * @return Whether the listener is running
       * @throws Exception An error occurred in the process
       */
      public boolean checkListenerStatus() throws Exception;
      
      /**
       * Start gathering statistics for an instance.
       * @throws Exception An error occurred in the process
       */
      public void startStats() throws Exception;
  
      /**
       * Stop gathering statistics fpr an instance.
       * @throws Exception An error occurred in the process
       */
      public void stopStats() throws Exception;
  
      /**
       * Clear log files.
       * @throws Exception An error occurred in the process
       */
      public void clearLogs() throws Exception;
  
      /**
       * Configures the agent.
       * @param run The benchmark run
       * @param oracleHome ORACLE_HOME
       * @param oracleSid ORACLE_SID
       * @param allConfigs Pathnames to all config files
       * @throws Exception An error occurred in the process
       */
      public void configure(Run run, String oracleHome, String oracleSid,
                            String[] allConfigs) throws Exception;
      
      /**
       * Kills the Oracle instance.
       * @throws Exception An error occurred in the process
       */
      public void kill() throws Exception;
  
      /**
       * Executes an SQL statement.
       * @param sql The statement
       * @return Whether the SQL statement executed successfully
       * @throws Exception An error occurred in the process
       */
      public boolean execSQL(String sql) throws Exception;
  }
  