summaryrefslogtreecommitdiff
path: root/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java
diff options
context:
space:
mode:
Diffstat (limited to 'xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java')
-rw-r--r--xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java542
1 files changed, 0 insertions, 542 deletions
diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java
deleted file mode 100644
index 691bea14c9e8..000000000000
--- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-import java.io.*;
-import java.util.*;
-
-public class pdbcomparison
-{
-
- private String LOGTAG ="LOGFILE";
- private String OUTTAG ="OUTFILE";
- private String LISTTAG ="LISTFILE";
- private String PDBTAG1 ="PDBNAME1";
- private String PDBTAG2 ="PDBNAME2";
-
- private String OUTFILE="pdbcomparison.out";
- private String LOGFILE="pdbcomparison.log";
-
- private String pdbarr1[];
- private String pdbarr2[];
-
-
- /**
- * Default Constructor
- *
- * @param
- * @return
- *
- */
- public void pdbcomparison()
- {
- }
-
- /**
- * Prints the command line arguments for this class
- *
- * @param
- *
- * @return void
- *
- */
- public void usage()
- {
- String str = new String();
- str += "********************************************************\n";
- str += " java pdbcomparison.java <propFile> \n";
- str += " where propFile is name of Property File...\n";
- str += "********************************************************\n";
-
- System.out.println(str);
-
- }
-
- /**
- * This method, read the Property file and validates the
- * entries in that file, and accordingly sets the log file
- * output file and updates the array pdbarr1 and pdbarr2 with
- * list of pdb's to be compared.
- *
- * @param propFile Property filename which list the log/outputfile/list/pdb
- * names
- * @return
- *
- */
- public void parsePropertyFile(String propFile)
- {
- Properties defaultProps = new Properties();
-
- try {
- FileInputStream in = new FileInputStream(propFile);
- defaultProps.load(in);
- in.close();
- } catch (IOException e) {
- System.out.println("Could not open Property File " + propFile);
- return;
- }
-
-
- String logFile = defaultProps.getProperty(this.LOGTAG);
- String outFile = defaultProps.getProperty(this.OUTTAG);
- String listFile = defaultProps.getProperty(this.LISTTAG);
- String pdbname1 = defaultProps.getProperty(this.PDBTAG1);
- String pdbname2 = defaultProps.getProperty(this.PDBTAG2);
-
- // validate all command line arguments
- if ((listFile == null) && ((pdbname1 == null) || (pdbname2 == null)))
- {
- System.out.println("Missing listFile or missing pdb filenames in Property file " + propFile);
- return;
- }
-
- if (logFile == null || logFile.length() == 0)
- logFile = this.LOGFILE;
-
- if (outFile == null || outFile.length() == 0)
- outFile = this.LOGFILE;
-
-
- // validate log and output files
- if (! validateAndCreateFile(logFile)) return;
- if (! validateAndCreateFile(outFile)) return;
- LOGFILE = logFile;
- OUTFILE = outFile;
-
- System.out.println("Output is written to log file... " + LOGFILE);
- if (listFile != null)
- {
- if (! checkFile(listFile)) return;
- populatePDBArray(listFile);
- } else {
- if (! checkFile(pdbname1)) return;
- if (! checkFile(pdbname2)) return;
- populatePDBArray(pdbname1, pdbname2);
- }
- }
-
- /**
- * This method validates if the file passed exists.
- * If it does , then it is moved to <filename>.bak and then creates a newFile.
- * Also validates permissions to create.
- *
- * @param filename name of file to be created
- * @return true, if file could be created
- * false, if could not.
- *
- */
- private boolean validateAndCreateFile (String filename)
- {
- if (filename == null) return false;
-
- File f = null;
- try {
- f = new File(filename);
- } catch (NullPointerException e) {
- System.out.println("Could not create a File object for file " + filename);
- return false;
- }
-
- if (f.exists())
- {
- String newFile = filename + ".bak";
- File newF=null;
- try {
- newF = new File(newFile);
- } catch (Exception ex) {
- System.out.println("Could not get File Object instance for " + newFile);
- return false;
- }
-
- if (newF.exists())
- {
- try {
- newF.delete();
- } catch ( SecurityException se) {
- System.out.println("Could not get delete " + newFile);
- return false;
- }
- }
-
- try {
- if (! f.renameTo(newF))
- {
- System.out.println("Could not rename " + filename + " to " + newFile );
- return false;
- }
- } catch (SecurityException s) {
- System.out.println("SecurityException: " + s.toString());
- return false;
- } catch (NullPointerException n) {
- System.out.println("NullPointerException: " + n.toString());
- return false;
- }
- } else {
- try {
- if (! f.createNewFile())
- {
- System.out.println("Could not create " + filename + " Check permissions..");
- return false;
- }
- } catch (IOException e) {
- System.out.println("IOException: " + e.toString());
- return false;
- } catch (SecurityException s) {
- System.out.println("SecuriityException: " + s.toString() );
- return false;
- }
-
- }
-
- return true;
-
- }
-
- /**
- * This method validates if the file exists and is readable
- *
- * @param filename name of file to be created
- * @return true, if file exists and is readable
- * false, if not.
- *
- */
- private boolean checkFile(String filename)
- {
- if (filename == null) return false;
-
- File f = null;
- try {
- f = new File(filename);
- } catch (NullPointerException e) {
- System.out.println("Could not create a File object for file " + filename);
- return false;
- }
-
- if (! f.exists())
- {
- System.out.println("File " + filename + " does not exist... ");
- return false;
- }
-
- if (! f.canRead())
- {
- System.out.println("Cannot read file " + filename);
- return false;
- }
-
- return true;
-
- }
-
- /**
- * This method populates the pdb arrays with the names of the pdbs to
- * compare. Ths listFile lists a series of entries, wherein each
- * line indicates the PDB names to be compared.
- * <pdbname1>=<pdbname2>
- *
- * @param listFile name of the listfile
- * @return
- *
- */
- private void populatePDBArray(String listFile)
- {
- // open ListFile and populate the PDB list to be compared
- if (listFile != null)
- {
- Properties listProps = new Properties();
- try {
- FileInputStream in = new FileInputStream(listFile);
- listProps.load(in);
- in.close();
- } catch (IOException ex) {
- System.out.println("Could not open List File " + listFile);
- return;
- }
-
- pdbarr1 = new String[listProps.size()];
- pdbarr2 = new String[listProps.size()];
- Enumeration e = listProps.keys();
- int j=0;
- while (e.hasMoreElements())
- {
- pdbarr1[j] = (String)e.nextElement();
- pdbarr2[j] = listProps.getProperty(pdbarr1[j]);
- j++;
- }
-
- }
- }
-
- /**
- * This method populates the pdb arrays with the names of the pdbs to
- * compare.
- *
- * @param pdbname1 Name of 2nd PDB file to be compared
- * @param pdbname2 Name of 2nd PDB file to be compared
- * @return
- *
- */
- private void populatePDBArray(String pdbname1, String pdbname2)
- {
- if (pdbname1 == null) return;
- if (pdbname2 == null) return;
-
- if ((pdbname1 != null) && (pdbname2 != null))
- {
- pdbarr1 = new String[1];
- pdbarr2 = new String[1];
-
- pdbarr1[0] = pdbname1;
- pdbarr2[0] = pdbname2;
- }
- }
-
- /**
- * This method populates the pdb arrays with the names of the pdbs to
- * compare.
- *
- * @param arrayno Array number which corresponds to the pdb array
- * containing list of pdbs
- * If 1 then send pdbarr1, if 2 send pdbarr2 else null
- *
- * @return PDB string array containing list of PDB's
- *
- */
- private String[] getPDBArray(int arrayno)
- {
- if (arrayno == 1) return pdbarr1;
- if (arrayno == 2) return pdbarr2;
-
- return null;
- }
-
- /**
- * This method comares 2 PDB's and returns true if comparison is equal.
- * It uses the PDB Decoder class to decode to a PDB structure and then
- * does record comparison
- *
- * @param pdbname1 Name of one PDB file to be compared
- * @param pdbname2 Name of other PDB file to be compared
- *
- * @return returns true if both PDB's are equal else returns false
- *
- */
- private boolean comparePDB(String pdbname1, String pdbname2)
- {
- PalmDB pdb1=null, pdb2=null;
- PDBDecoder decoder = new PDBDecoder();
- try {
- pdb1 = decoder.parse(pdbname1);
- } catch (Exception e) {
- System.out.println("Could not parse PDB " + pdbname1);
- return false;
- }
-
- try {
- pdb2 = decoder.parse(pdbname2);
- } catch (Exception e) {
- System.out.println("Could not parse PDB " + pdbname2);
- return false;
- }
-
- if (pdb1.equals(pdb2)) {
- writeToLog("PDB " + pdbname1 + " and PDB " + pdbname2 + " are equal");
-
- return true;
- } else {
- writeToLog("PDB " + pdbname1 + " and PDB " + pdbname2 + " are not equal");
- return false;
- }
- }
-
-
-
- /**
- * Write message to LOGFILE
- *
- * @param msg Message to be written to log file
- * @return
- *
- */
- private void writeToLog(String msg)
- {
- if (msg == null) return;
-
- // Get Output Stream from Log file
- RandomAccessFile raf=null;
- try {
- raf = new RandomAccessFile(LOGFILE, "rw");
- } catch (Exception e) {
- System.out.println ("Could not open file " + LOGFILE);
- return;
- }
-
- try {
- long len = raf.length();
- raf.seek(len);
- raf.write(msg.getBytes());
- raf.write("\n".getBytes());
- } catch (IOException e) {
- System.out.println("ERROR: Could not write to File " + LOGFILE);
- return;
- }
- }
-
- /**
- * Write status of comparison to OUTFILE
- *
- * @param status Indicates whether comparsion of PDB's PASSED or FAILED
- * @param pdbname1 file name of pdb which was compared.
- * @param pdbname2 file name of pdb which was compared.
- *
- * @return
- *
- */
- private void writeToOutputFile(String status, String pdbname1, String pdbname2)
- {
- if (status == null) return;
- if (pdbname1 == null) return;
- if (pdbname2 == null) return;
-
- String msg = pdbname1 + "=" + pdbname2 + ":" + status;
-
- // Get Output Stream from Log file
- RandomAccessFile raf=null;
- try {
- raf = new RandomAccessFile(OUTFILE, "rw");
- } catch (Exception e) {
- System.out.println ("Could not open file " + OUTFILE);
- return;
- }
-
- try {
- long len = raf.length();
- raf.seek(len);
-
- raf.write(msg.getBytes());
- raf.write("\n".getBytes());
- } catch (IOException e) {
- System.out.println("ERROR: Could not write to File " + OUTFILE);
- return;
- }
-
- try {
- raf.close();
- } catch (Exception e) {
- System.out.println("ERROR: Could not close File " + OUTFILE);
- return;
- }
-
- }
-
-
-
- /**
- * Main starting block of execution
- *
- * @param command line args captured in an array of Strings
- * @return
- *
- */
- public static void main(String args[])
- {
-
- Date startTime = new Date();
- pdbcomparison pdbcmp = new pdbcomparison();
- int nargs = args.length;
- int status=0;
-
- if (nargs != 1)
- {
- System.out.println("Incorrect no. of arguments passed...");
- pdbcmp.usage();
- System.exit(-1);
-
- }
-
- String propFile = args[0];
-
- File f=null;
- try {
- f = new File(propFile);
- } catch (Exception e) {
- System.out.println("Exception: Could not open file " + propFile);
- System.exit(-1);
- }
-
- if (! f.canRead()) {
- System.out.println("Exception: " + propFile + " is not a file ");
- System.exit(-1);
- }
-
- if (! f.canRead()) {
- System.out.println("Exception: Cannot open file for reading. Please check permissions ");
- System.exit(-1);
- }
-
- // parse Property file
- pdbcmp.parsePropertyFile(propFile);
-
- String pdbarr1[] = pdbcmp.getPDBArray(1);
- String pdbarr2[] = pdbcmp.getPDBArray(2);
- if ( (pdbarr1 == null) ||
- (pdbarr2 == null) ||
- (pdbarr1.length == 0) ||
- (pdbarr1.length == 0))
- {
- System.out.println("pdbArray is empty. No PDBS to compare... \n");
- System.exit(-1);
- }
-
-
- pdbcmp.writeToLog("************** Start *****************");
- pdbcmp.writeToLog("PDB Comparison: start time " + startTime);
- for (int i=0; i<pdbarr1.length; i++)
- {
- Date pdb_startTime = new Date();
- pdbcmp.writeToLog("\n");
- pdbcmp.writeToLog("start time " + pdb_startTime);
- boolean val = pdbcmp.comparePDB(pdbarr1[i], pdbarr2[i]);
- Date pdb_endTime = new Date();
- pdbcmp.writeToLog("end time " + pdb_endTime);
-
- if (val) {
- pdbcmp.writeToOutputFile("PASSED", pdbarr1[i], pdbarr2[i]);
- status=0;
- } else {
- pdbcmp.writeToOutputFile("FAILED", pdbarr1[i], pdbarr2[i]);
- status=-1;
- }
- }
-
- Date endTime = new Date();
- pdbcmp.writeToLog("PDB Comparison: end time " + endTime);
- pdbcmp.writeToLog("************** End *****************n");
- pdbcmp.writeToLog("\n");
-
- System.exit(status);
- }
-}