/*
   * Update the Meta object according to UI widgets
   */
  protected void getInfo(BaseLoadMeta inMeta) {
    super.getInfo(inMeta);

    int nrkeys = wKey.nrNonEmpty();
    inMeta.allocateKeyArray(nrkeys);

    logDebug("Found nb of Keys=", String.valueOf(nrkeys));

    // in case temporal not set, then null is used as flag
    ((LoadSatMeta) inMeta).setFromDateColumn(null);

    for (int i = 0; i < nrkeys; i++) {
      TableItem item = wKey.getNonEmpty(i);
      inMeta.getCols()[i] = item.getText(1);
      inMeta.getFields()[i] = item.getText(2);
      String t = item.getText(3);

      // Unknown category is default to Normal
      if (!(t.equals(LoadSatMeta.ATTRIBUTE_NORMAL))
          && !(t.equals(LoadSatMeta.ATTRIBUTE_FK))
          && !(t.equals(LoadSatMeta.ATTRIBUTE_TEMPORAL))
          && !(t.equals(LoadSatMeta.ATTRIBUTE_META))) {
        t = LoadSatMeta.ATTRIBUTE_NORMAL;
      }
      inMeta.getTypes()[i] = t;

      // first temporal found is the one we keep
      if (item.getText(3).equals(LoadSatMeta.ATTRIBUTE_TEMPORAL)) {
        ((LoadSatMeta) inMeta).setFromDateColumn(LoadSatMeta.ATTRIBUTE_TEMPORAL);
      }
    }

    ((LoadSatMeta) inMeta).setToDateColumn(wcbToDateCol.getText());
    ((LoadSatMeta) inMeta).setToDateMaxFlag(wToDateMax.getText());
    ((LoadSatMeta) inMeta).setIdempotent(wbIsIdempotentSat.getSelection());
  }