Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.
1 8 package org.jahia.sqlprofiler; 9 10 import java.util.*; 11 12 21 22 public class QueryStatEntry implements Comparable { 23 private ArrayList tableNames = new ArrayList(); 24 private ArrayList columnNames = new ArrayList(); 25 private Set queries = new TreeSet(); 26 private int occurences = 0; 27 private long totalElapsedTime = 0; 28 29 public QueryStatEntry() { 30 } 31 32 public QueryStatEntry(ArrayList tableNames, ArrayList columnNames) { 33 Iterator tableNameIter = tableNames.iterator(); 37 while (tableNameIter.hasNext()) { 38 String curTableName = (String ) tableNameIter.next(); 39 if (!this.tableNames.contains(curTableName)) { 40 this.tableNames.add(curTableName); 41 } 42 } 43 Iterator columnNameIter = columnNames.iterator(); 44 while (columnNameIter.hasNext()) { 45 String curColumnName = (String ) columnNameIter.next(); 46 if (!this.columnNames.contains(curColumnName)) { 47 this.columnNames.add(curColumnName); 48 } 49 } 50 } 51 public java.util.ArrayList getTableNames() { 52 return tableNames; 53 } 54 public java.util.ArrayList getColumnNames() { 55 return columnNames; 56 } 57 public int getOccurences() { 58 return occurences; 59 } 60 61 public long getTotalElapsedTime() { 62 return totalElapsedTime; 63 } 64 65 public void incOccurences() { 66 occurences++; 67 } 68 69 public void incTotalElapseTime(long elapsedTime) { 70 totalElapsedTime += elapsedTime; 71 } 72 73 public void addQuery(QueryEntry query) { 74 queries.add(query); 75 } 76 77 public Set getQueries() { 78 return queries; 79 } 80 81 public String getKey() { 82 String hashCodeStr = tableNames.toString() + "_" + columnNames.toString(); 83 return hashCodeStr; 84 } 85 86 public int hashCode() { 87 return getKey().hashCode(); 88 } 89 90 public boolean equals(Object o) { 91 if (o instanceof QueryStatEntry) { 92 QueryStatEntry right = (QueryStatEntry) o; 93 return getKey().equals(right.getKey()); 94 } else { 95 return false; 96 } 97 } 98 99 public int compareTo(Object o) throws ClassCastException { 100 QueryStatEntry right = (QueryStatEntry) o; 101 102 Long leftElapsedTime = new Long (getTotalElapsedTime()); 104 Long rightElapsedTime = new Long (right.getTotalElapsedTime()); 105 int compareElapsed = -leftElapsedTime.compareTo(rightElapsedTime); 106 if (compareElapsed != 0) { 107 return compareElapsed; 108 } 109 110 Integer left = new Integer (occurences); 111 return -left.compareTo(new Integer (right.getOccurences())); 112 } 113 114 }
| Popular Tags
|