All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jive3.DbDiff Maven / Gradle / Ivy

The newest version!
package jive3;

import fr.esrf.TangoApi.Database;
import fr.esrf.TangoApi.ApiUtil;
import fr.esrf.Tango.DevFailed;
import jive.JiveUtils;
import jive.TangoFileReader;

import java.util.Vector;

/**
 * A command line tool for making diff between database and file
 */
public class DbDiff {

  Database db;

  private void printDiff(Vector diff) {

    for(int i=0;i DB:");
      System.out.println(diff.get(i+1));
      System.out.println("--> File:");
      System.out.println(diff.get(i+2));
    }

  }

  DbDiff(String fileName,boolean showDiff)  {

    try {
      String err = "";
      db = ApiUtil.get_db_obj();
    } catch (DevFailed e) {
      JiveUtils.printTangoError(e);      
    }

    String err = "";
    TangoFileReader fr = new TangoFileReader(db);

    Vector diff = new Vector();
    err = fr.check_res_file(fileName,diff);

    if (err.length() > 0) {
      System.out.println(fileName + ":" + err);
    } else {
      if( diff.size()>0 ) {
        // Differ
        System.out.println(fileName + " : differs");
        if(showDiff) printDiff(diff);
      } else {
        // Match
        System.out.println(fileName + " : matches");
      }
    }

  }

  public static void main(String[] args) {

    if(args.length==1) {
      new DbDiff(args[0],false);
    } else if (args.length==2) {
      if( args[1].equalsIgnoreCase("-v") ) {
        new DbDiff(args[0],true);
      } else {
        System.out.println("Usage: tg_diff filename [-v]");
      }
    } else {
      System.out.println("Usage: tg_diff filename [-v]");
    }

  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy