sMash V1.1.1.1の開発環境構築手順

Posted by Kenta Takahashi on 11月 4th, 2009. Other posts by Kenta Takahashi

このエントリーでは、sMash V1.1.1.1での開発環境の構築手順をご紹介します。
●設定手順
eclipseは導入済みという前提で紹介しますので、eclipseが必要な方はeclipseをダウンロードしてください。バージョンは3.2以上のものを使用して下さい。また、PHPの開発環境の構築するにはeclipseのPHP用のプラグインであるPDTが必要です。PDT導入済みのeclipseを手に入れるには、PDT all in one packageをダウンロードする方法が便利です。

V1.0の環境からのマイグレーションの場合は、以前のバージョンのプラグインをアンインストールします。
・Eclipse 3.4の場合 : Help > Software Updates > Installed Software
・Eclipse 3.2の場合 : Help > Software Updates > Manage Configuration
Project Zero公式サイトから、sMash V1.1.1.1をダウンロードします。
zipファイルを解凍し、解凍してできたzeroフォルダを任意の場所に配置します。
zeroフォルダに移動し、zeroコマンドを実行します。例えば、Windowsの場合はコマンドプロンプトを立ち上げ、以下のコマンドを実行します(<zero_root>はzeroディレクトリを配置した先のzeroディレクトリ内を示す)。
cd <zero_root> ./zero
eclipseを起動し、アップデートサイトの追加ダイアログを表示させます。
・Eclipse 3.5の場合 : Help > Software Updates > “Add site”
・Eclipse 3.4の場合 : Help > Software Updates > Installed Software > “Search for new features to install” > [...]

sMash a Office : WordとPowerPointファイルのテキストを取得

Posted by Kenta Takahashi on 4月 23rd, 2009. Other posts by Kenta Takahashi

先日の記事では、Apache POIを利用して、Excelのデータを取得する方法を書きました。今回は、WordとPowerPointのテキストを取得してみましょう。この機能を利用すれば、WordやPowerPointファイルの中身までキーワード検索したり、特定の禁止用語などが含まれていないかチェックすることが可能です。
まず、Wordのテキストを取得するコードは、このようになります。
java.io.FileInputStream fs = new java.io.FileInputStream(file_path);
WordExtractor we = new WordExtractor(fs);
String text = we.getText();
file_pathには、ファイルのパスを入力してください。これで、変数textに、Wordに書かれたテキストが全て格納されます。
次に、PowerPointのテキストを取得するコードです。
java.io.FileInputStream fs = new java.io.FileInputStream(file_path);
HSLFSlideShow hsss = new HSLFSlideShow(fs);
SlideShow ss= new SlideShow(hsss);
Slide[] slides = ss.getSlides();
String text = “”;
for (int i = 0; i < slides.length; i++) {
TextRun[] textruns = slides[i].getTextRuns(); 
for (int j = 0; j < textruns.length; j++) {
text += textruns[j].getRawText();
}
}
これで、全てのテキストを変数textに格納することができます。また、Slideクラスの配列の数字が、ページ番号に対応しますので、何ページにその単語があるのかを調べることも簡単に行えます。

GroovyでXML:はじめに

Posted by nobusue on 9月 23rd, 2008. Other posts by nobusue

REST形式のサービスではレスポンスをXMLで返すものが多く、サーバーサイドマッシュアップを行う際にはXMLの解析が不可避です。
Javaと比べ、GroovyはXMLの取り扱いが容易なのが特徴です。
Javaでは、XMLをパースするだけでも
DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance()
DocumentBuilder builder = fac.newDocumentBuilder()
Document doc = builder.parse(new FileInputStream(’hoge.xml’))
のような手順を踏む必要があります。(parse()メソッドの入力がInputStreamなのも微妙に不便なところです。)さらにXMLからデータを取り出すためには、DOMのAPIを利用した煩雑なコーディングが必要です。
Groovyでは、XMLのパースは、
def hoge = new XmlParser().parse(new File(’hoge.xml’))
のように、たった1行で終了です。さらに、ここからデータを取り出す処理も、
def element = hoge.fuga
def elementName = hoge.fuga.name()
def attribute = hoge.fuga.’@attr’
のように、通常のオブジェクトツリーをたどるのと同様にコーディングできます。
GroovyによるXML処理のコツについては、引き続きこのBlogでご紹介していくつもりですが、今すぐ詳細を知りたい方はこちらをご参照下さい。
Web:Groovy ドキュメント
http://groovy.codehaus.org/Processing+XML
書籍:「Groovy イン・アクション」
http://www.amazon.co.jp/Groovy%E3%82%A4%E3%83%B3%E3%83%BB%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-Dierk-Konig/dp/4839927278

Groovyのインストールと実行

Posted by nobusue on 7月 30th, 2008. Other posts by nobusue

WebSphere sMashの特徴の一つとして、スクリプト言語で手軽にアプリケーションが開発できることがあります。
サポートされているスクリプト言語はGroovyとPHPですが、Groovyの文法はほぼJavaと同じですので、Javaの経験者であればGroovyの方がとっつきやすいと思います。とはいえ、Groovy自体はまだ日本語の情報が少なく、具体的なコーディングに取り掛かってみると「xxをするにはどうコーディングしたらいいのだろうか?」と悩むことが多いと思います。そこで、このBlogでは「Groovyでいこう」カテゴリーで、Groovyに関する情報をご紹介しようと思います。
まず手始めとして、Groovyスクリプトを実行できる環境を構築しておきましょう。GroovyのランタイムはWebSphere sMash(ProjectZero)にも含まれていますが、コマンドラインからスクリプトの動作確認を行ったりするためには、単体のGroovyを別途導入しておくと便利です。
Groovyはオープンソースソフトウェアであり、プロジェクトのWebサイトは http://groovy.codehaus.org/です。
インストール手順は以下のようになります:

JDK1.5以上を導入しておく。GroovyはJavaベースで動作しますので、JDKの稼動環境が必要です。
http://groovy.codehaus.org/Download から、 Binary Releaseをダウンロードする。2008/7/30時点での最新の安定版はGroovy-1.5.6です。
ダウンロードしたアーカイブを適当なディレクトリに展開する。私は、c:\groovy\groovy-1.5.6 のように、<Groovy全体のホーム>/<Groovyバージョン別のホーム>というディレクトリ構造にしています。
環境変数 GROOVY_HOME に、Groovyのルートディレクトリを設定する。OSによって設定方法は異なりますが、WindowsXPであれば「マイコンピュータ右クリック」-「プロパティ」-「詳細設定」-「環境変数」から、システム環境変数を新規作成します。先ほどの例では、GROOVY_HOME=c:\groovy\groovy-1.5.6 となります。
環境変数 PATH に、%GROOVY_HOME%\bin を追加する

以上で、インストールは完了です。
では早速、Groovyを実行してみましょう。コマンドプロンプト(シェル)を起動して、”groovy -v”を実行してみて下さい。”Groovy Version: 1.5.6″のようにバージョンが表示されれば、インストールは成功です。うまく動作しない場合は、JAVA_HOMEやPATH、GROOVY_HOMEなどの設定が正しいかどうか確認してみてください。
次に、Groovyスクリプト を試すのに便利な「Groovy Console」をご紹介します。Groovy Consoleは、GroovyのSwingBuilderを利用して作られた対話型シェルです。コマンドプロンプト(シェル)から、”groovyConsole”を実行してみてください。次のようなアプリケーションが起動します。

コード入力ペイン(上半分)にGroovyコードを入力し、メニューから「Script->Run」、ないしはCtrl+Rキーでコードを実行できます。実行結果は結果ペイン(下半分)に出力されます。

この例では、Groovyのリストリテラル利用してStringのリストを定義し、リストのsort()メソッドでソートを実行しています。Groovyスクリプトでは、最後の式の評価結果がスクリプトのリターン値になるため、ここではResultとしてソート済みのリストが得られています。
Groovyスクリプトを実行する方法としては、Groovy Console以外にも、groovyコマンドやgroovyshコマンドなども利用可能です。sMashでのGroovyコーディングに悩んだら、まずGroovyスクリプト単体で期待通りに動作するかどうかをこまめに確認することをお勧めします。