Archive

Archives pour la catégorie ‘Groovy’

ExecuteSQLUpdates.groovy

28/01/2009
Commentaires fermés
  1. import groovy.text.*  
  2. import groovy.sql.*;  
  3. import java.io.*;  
  4. import java.util.*;  
  5. import java.sql.*;  
  6. import java.text.*;  
  7.   
  8. boolean debug = false;  
  9.   
  10. void printUsage() {  
  11.     println "Usage: ExecuteUpdates.groovy [-debug] [-url URL] [SQL File]"  
  12.     println "       ExecuteUpdates.groovy [-debug] [-url URL] [SQL UPDATE/INSERT/DELETE Query]"  
  13.     println ""  
  14.     println "       NOTE: For executing more than one query you can use character / to separate them."  
  15.     println ""  
  16.     println "   This script is able to execute any type of queries, (usefull to create stored procedures)"  
  17.     System.exit(1);  
  18. }  
  19.   
  20. // Prepare connection ------------------------------------------  
  21. driver = "oracle.jdbc.OracleDriver";  
  22. url  = "jdbc:oracle:thin:USER/PASS@HOST:1521:DB"  
  23. // -------------------------------------------------------------  
  24.   
  25. // Verify inputs  
  26. if(args == null || args.length == 0 || args[0].length() == 0) printUsage()  
  27. switch(args[0]) {  
  28.     case ["-debug""--debug""debug""-d"]:  
  29.         debug = true  
  30.         if(args.length == 1 || args[1].length() == 0) printUsage()  
  31.         args[0] = args[1]  
  32.         if(args.length >= 3 && args[2].length() > 0) args[1] = args[2]  
  33.         if(args.length >= 4 && args[3].length() > 0) args[2] = args[3]  
  34.     break;  
  35.     case ["-url""--url""url"]:  
  36.         if(args.length < 3 || args[1].length() == 0 || args[2].length() == 0)  
  37.             printUsage()  
  38.         url = args[1]  
  39.         args[0] = args[2]  
  40.         if(args.length > 3 && args[3].length() > 0) args[1] = args[3]  
  41.     break;  
  42.     default:  
  43.         if(args[0].startsWith("-")) printUsage()  
  44.     break;  
  45. }  
  46.   
  47. switch(args[0]) {  
  48.     case ["-debug""--debug""debug""-d"]:  
  49.         debug = true  
  50.         if(args.length == 1 || args[1].length() == 0) printUsage()  
  51.         args[0] = args[1]  
  52.         if(args.length >= 3 && args[2].length() > 0) args[1] = args[2]  
  53.         if(args.length >= 4 && args[3].length() > 0) args[2] = args[3]  
  54.     break;  
  55.     case ["-url""--url""url"]:  
  56.         if(args.length < 3 || args[1].length() == 0 || args[2].length() == 0 || args[3].length() == 0)  
  57.             printUsage()  
  58.         url = args[1]  
  59.         args[0] = args[2]  
  60.     break;  
  61.     default:  
  62.         if(args[0].startsWith("-")) printUsage()  
  63.     break;  
  64. }  
  65.   
  66. println "Using URL: "+url  
  67.   
  68. // ------- This script is not finish because I did not manage to add the entire code in -------  

Groovy

DBShow.groovy

28/01/2009
Commentaires fermés
  1. import groovy.sql.*;  
  2. import java.io.*;  
  3. import java.text.*;  
  4.   
  5. /* 
  6.  * ==================================================== 
  7.  *                    FUNCTIONS 
  8.  * ==================================================== 
  9.  */  
  10.   
  11. /** 
  12.  * Transform one date to a comprehensive String 
  13.  * @param timestamp The timestamp (as string) to convert. 
  14.  */  
  15. public static String dateToString(String timestamp) {  
  16.     try {  
  17.         return dateToString(new Date(Long.parseLong(timestamp)));  
  18.     } catch(Exception ex) {  
  19.         return timestamp;  
  20.     }  
  21. }  
  22.   
  23. /** 
  24.  * Transform one date to a comprehensive String 
  25.  * @param date The date (as long or timestamp) to convert. 
  26.  */  
  27. public static String dateToString(long date) {  
  28.     return dateToString(new Date(date));  
  29. }  
  30.   
  31. /** 
  32.  * Transform one date to a comprehensive String 
  33.  * @param date The date to convert. 
  34.  */  
  35. public static String dateToString(Date date) {  
  36.     DateFormat formater = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");  
  37.     return formater.format(date);  
  38. }  
  39.   
  40. /** 
  41.  * Transform one date to a comprehensive String 
  42.  * @param date The date to convert. 
  43.  */  
  44. public static String format(String columnName, Object columnValue, int colIndex, int nbCol, int defaultLen = 19boolean trunc = true) {  
  45.     String value = ((columnValue==null)?"":columnValue.toString().replace('n', '  
  46. ').replace('r', '  
  47. '));  
  48.     if(columnName!=null &amp;&amp; value.length() > 0) {  
  49.         switch(columnName) {  
  50.             case ["BIDDINGEND""BIDDINGSTART""LASTACTIVITYFORCLOSE"]:  
  51.                 value = dateToString(value);  
  52.             break;  
  53.             case "STATUS":  
  54.                 switch(value) {  
  55.                     case "1" : value = "Open"break;  
  56.                     case "11": value = "Pending Next Stage"break;  
  57.                 }  
  58.             break;  
  59.             default:  
  60.                 if(columnName.indexOf("TIME") > -1) value = dateToString(value);  
  61.             break;  
  62.         }  
  63.     }  
  64.     if(defaultLen > 0) {  
  65.         int minLen = (columnName == null)?value.length():columnName.length();  
  66.         if(defaultLen > minLen) minLen = defaultLen;  
  67.         if(trunc &amp;&amp; value.length() > minLen) value = value.substring(0, minLen-2)+"..";  
  68.         while(value.length() < minLen) value += " ";  
  69.         return " "+value+((colIndex+1==nbCol)?"n":" |");  
  70.     } else {  
  71.         return value+((colIndex+1==nbCol)?"n":"|");  
  72.     }  
  73. }  
  74.   
  75. /* 
  76.  * ==================================================== 
  77.  *                    GROOVY SCRIPT 
  78.  * ==================================================== 
  79.  */  
  80. // Verify inputs  
  81. if(args == null || args.length == 0 || args[0].length() == 0) {  
  82.     println "usage: groovyFile.groovy [filename] [column lenght]";  
  83.     return  
  84. }  
  85.   
  86. // Get queries  
  87. query = null  
  88. if((new File(args[0])).exists()) query = (new File(args[0])).getText();  
  89. else query = args[0];  
  90.   
  91. start = new Date();  
  92. defaultLen = 19;  
  93. if(args.length >= 2 &amp;&amp; args[1].length() > 0 &amp;&amp; !args[0].equals(args[1])) defaultLen = Integer.parseInt(args[1])  
  94.   
  95. // Prepare Connection  
  96. driver = "oracle.jdbc.OracleDriver";  
  97. url  = "jdbc:oracle:thin:USER/PASS@HOST:1521:DB"  
  98.   
  99. sql = Sql.newInstance(url, driver)  
  100. nbRow = 0; nbCol = 0;  
  101. sql.eachRow(query) { row |  
  102.     len = 0;  
  103.     ++nbRow;  
  104.     if(nbCol==0) {  
  105.         nbCol = row.getMetaData().getColumnCount();  
  106.         header = "";  
  107.         //for(i in 1..nbCol) header += format("null", row.getMetaData().getColumnName(i), i-1, nbCol, row.getMetaData().getColumnDisplaySize(i));  
  108.         for(i in 1..nbCol) header += format(null, row.getMetaData().getColumnName(i), (i-1), nbCol, defaultLen);  
  109.         print header  
  110.         if(defaultLen > 0) {  
  111.             for(i in 1..header.length()) print "-";  
  112.             print "n";  
  113.         }  
  114.     }  
  115.     for(i in 0..<nbCol) {  
  116.         value = row.getAt(i);  
  117.         column = row.getMetaData().getColumnName(i+1);  
  118.         //------------------  
  119.         /* 
  120.         value = ((value==null)?"":value.toString()); 
  121.         if(value.length() > 0) { 
  122.             switch(column) { 
  123.                 case "LASTACTIVITYFORCLOSE": 
  124.                     value = dateToString(value); 
  125.                 break; 
  126.             } 
  127.         } 
  128.         while(value.length() < column.length()) value += " "; 
  129.         value = value+((i+1==nbCol)?"n":"t"); 
  130.         print value; 
  131.         /**/  
  132.         //------------------  
  133.         //print format(column, value, i, nbCol, row.getMetaData().getColumnDisplaySize(i))  
  134.         print format(column, value, i, nbCol, defaultLen)  
  135.     }  
  136. }  
  137. println "n"  
  138. println "Number of column: "+nbCol  
  139. println "Number of result: "+nbRow  
  140. end = new Date();  
  141. println "Executed in "+(end.getTime()-start.getTime())/1000+" s"  

Groovy

NowToTimeStamp.groovy

28/01/2009
Commentaires fermés
  1. date = new Date();  
  2. println date.getTime();  

Groovy

TimestampToDate.groovy

28/01/2009
Commentaires fermés
  1. println new Date(Long.parseLong(args[0]));  

Groovy