/**
   * PollAPI's handle is obtained using the NmsUtil's getAPI() method. A schema to store the data
   * collected for the three dataIdentifieres namely IFINOCTETS,IFOUTOCTETS,IFERRORS of an agent for
   * a particular time in a single row of a table called 'WinNTtable' is created and added to the
   * database using the PollAPI. Then the table 'WintNTtable' is created corresponding to this
   * schema using the PollAPI's createTable() method. Finally this table is asscociated with all
   * PolledData whose policyName equals 'WindowsNT'
   */
  public Vector applyPollFilter(ManagedObject obj, Vector pdatasVect) {
    Vector pvector = pdatasVect;
    PolledData pd = null;

    if (flag) {
      try {
        // PollAPI's handle is obtained using NmsUtil's
        // getAPI() method.
        api = (PollAPI) NmsUtil.getAPI("PollAPI");
      } catch (Exception e) {
        System.out.println("Error occurred while getting PollAPI handle: " + e);
        e.printStackTrace();
      }

      try {
        // form the schema and create the WinNTtable.
        // Note: This schema is created for mysql database. User should
        // modify this schema depending upon the database.
        String schema =
            "create table <> (AGENT varchar(100),IFINOCTETS BIGINT, IFOUTOCTETS BIGINT, IFERRORS BIGINT,TIMEOFCOL varchar(100))";
        String tablename = "WinNTtable";
        api.addCreateSchema(tablename, schema);
        api.createTable("WinNTtable");
      } catch (Exception e) {
        System.out.println("Exception in creating Schema and adding table");
        e.printStackTrace();
      }
      // flag is set to false since table is created
      flag = false;
    }

    // The vector of PolledData objects is enumerated and checked for the
    // policyName. If it equals to 'WindowsNT, then the statsDataTableName
    // of the PolledData is set to "WinNTtable" so that all the data
    // collected for this PolledData would be stored in this table.

    for (Enumeration e = pvector.elements(); e.hasMoreElements(); ) {
      pd = (PolledData) e.nextElement();
      if (pd.getPolicyName().equals("WindowsNT")) {
        pd.setStatsDataTableName("WinNTtable");
      }
    }
    // finally return the PolledData vector after setting the table name
    // to all PolledData whose policyName equals "WindowsNT".
    return pvector;
  }