2008/03/03

GROOVYでささっと書いたSQLを簡単に整形

コーディングしたSQLを整形するツールはたくさんありますが、 今回はフリーのjavaライブラリを使用して整形してみました。

blancoSqlFormatter こちらのサイトの作者さん、実は同じ職場の方です。 向こうは僕のこと見たことあるだろうけど、覚えてないんだろうなぁ。

クリップボード内のSQLを整形するつくりとなっています。

arraignmentSql.groovy

import blanco.commons.sql.format.BlancoSqlFormatter
import blanco.commons.sql.format.BlancoSqlRule

clip =
new GClipBoard()

def formatter = new BlancoSqlFormatter(new BlancoSqlRule())

clip.text = formatter.format(clip.text)

GClipBoard.groovy

import java.awt.Toolkit
import java.awt.datatransfer.Clipboard
import java.awt.datatransfer.DataFlavor
import java.awt.datatransfer.StringSelection
import java.awt.datatransfer.Transferable
import java.awt.datatransfer.UnsupportedFlavorException
import java.io.IOException

/**
*
@author genzou
*
* クリップボード情報を管理するクラスです。
*/
public class GClipBoard {
   
/** クリップボード */
   
def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard()
   
   
/**
     * クリップボードに、文字列をセットします。
     *
     *
@param sendStr
     *            セットする文字列
     */
   
public void setText(sendStr) {

       
def ss = new StringSelection(sendStr)
       
clipboard.setContents(ss, ss)
    }

   
/**
     * クリップボードに含まれている文字列を取り出します。
     *
     *
@return String 取得した文字列
     */
   
public getText() {

       
Transferable recive = clipboard.getContents(null)

       
def recieveStr = null

        try
{
           
recieveStr = (String) recive.getTransferData(DataFlavor.stringFlavor)
        }
catch (UnsupportedFlavorException e) {
           
recieveStr = ""
       
} catch (IOException e) {
           
recieveStr = ""
       
}
       
return recieveStr
   
}
}

追記: 最近はGrailsが楽しくて仕方ないです。
Railsでは、あんなに簡単にWEBシステムの開発ができていたんでしょうね!
Grailsの投稿もしたい。

0 件のコメント:

コメントを投稿