コミュニケーションでITが変わる!

* 技術レポート *

≪前のページ [1] [2] [3] [4] [5] 次のページ≫

 第3回 クラウドサンプルアプリ作成【3/5】


 【フォームの作成】

 実際にTweetするフォームを作成していきます。
twitter Index」から「」の中を下図のように変更します。

cloud_sample_18

 「http://localhost:8888/twitter/」を再度開いてみます。「 "index.jsp"」 が以下のように表示されます。
何か入力して「tweet」ボタンをクリックしてください。「404 NOT FOUND HTTP ERROR」が表示されます。まだ「/twitter/tweet」のコントローラを作成していないためです。

cloud_sample_19

「/twitter/tweet」のコントローラを作成します。
作成したブランクプロジェクト直下の build.xml をダブルクリックします。 「アウトライン」で「gen-controller-without-view」タスクを右クリックし、「実行」→ 「Ant ビルド」を選択します。

cloud_sample_20

 「Ant Input Request」の入力ダイアログに「/twitter/tweet」と入力し、OKボタンをクリックします。

cloud_sample_21

 「tutorial.controller.twitter.TweetController」、「tutorial.controller.twitter.TweetControllerTest」が自動生成されます。

cloud_sample_22

 「TweetControllerTest.java」を右クリックし、「実行」→「Junitテスト」を選択し、テスト結果を確認します。
グリーンのバーが表示され、「OK」となります。

cloud_sample_23

「TweetController」は実行されると 「/twitter/」にリダイレクトされるので、テストケースを以下のように修正し、再度テストを行います。
テストが失敗します。「TweetController」の「run」メソッドが「null」を返却すからです。

cloud_sample_24

コントローラを以下のように変更し、「TweetControllerTest.java」を再度テストします。
テストが成功します。

cloud_sample_25

tweetされた内容を保存するためにModelを作成します。
作成したブランクプロジェクト直下の build.xml をダブルクリックします。 「アウトライン」で「gen-controller-without-view」タスクを右クリックし、「実行」→ 「Ant ビルド」を選択します。

cloud_sample_26

「Ant Input Request」の入力ダイアログに「Tweet」と入力し、OKボタンをクリックします。

cloud_sample_27

「tutorial.model.Tweet」、「tutorial.model.TweetTest」が自動生成されます。

cloud_sample_28

「TweetTest.java」を実行します。テストが成功します。

cloud_sample_29

「Tweet.java」の中身を追加します。「createdDateプロパティ」を以下のように「Tweet」モデルに追加します。

cloud_sample_30 cloud_sample_31

「TweetTest.java」を再度実行してください。テストが成功します。これで「Tweet」モデルの準備ができました。


 【サービスの作成】

次は「Tweet」モデルをデータストアに保存するためのサービスを作成します。
作成したブランクプロジェクト直下の build.xml をダブルクリックします。 「アウトライン」で「gen-service」タスクを右クリックし、「実行」→ 「Ant ビルド」を選択します。

cloud_sample_32

「Ant Input Request」の入力ダイアログに「TwitterService」と入力し、OKボタンをクリックします。

cloud_sample_33

「tutorial.service.TwitterService」、「tutorial.service.TwitterServiceTest」が自動生成されます。

cloud_sample_34

「TwitterServiceTest.java」を実行します。テストが成功します。

cloud_sample_35

つぶやいた内容をデータストアに保存するメソッドを実装していきます。「TwitterServiceTest.java」を以下を追加します。
コンパイルエラーが発生します。

cloud_sample_36

コンパイルエラーを取り除くため、「TwitterService」を作成します。

cloud_sample_37

コンパイルエラーが無くなりました。「TwitterServiceTest.java」を実行し、テスト結果を確認します。
テストが成功します。

cloud_sample_38

「TweetController.java」を修正して「TwitterService#tweet()」を呼び出します。まず最初に「TweetControllerTest.java」を以下のように修正します。

cloud_sample_39

「TweetControllerTest.java」を実行し、テスト結果を確認します。
テストは失敗します。「TweetController.java」を修正して「TwitterService#tweet()」を呼び出していないためです。

cloud_sample_40

「TwitterService#tweet()」の呼び出しを「TweetController.java」に追加します。

cloud_sample_41

再度「TweetControllerTest.java」を実行し、テスト結果を確認します。
成功します。


「TweetController.java」の準備ができました。「index.jsp」に戻って何か入力して「tweet」ボタンをクリックしてみます。

cloud_sample_42

「tweet」ボタンクリック後「 http://localhost:8888/_ah/admin」にアクセスします。「Entity Kind list」で「Tweet」を選択し、「List Entities」ボタンをクリックすると、入力した内容を確認することができます。
※日本語だと文字化けしてしまいますが、この後作成する一覧画面の表示に影響はありません。

cloud_sample_43

これで、サービスの作成が完了しました。


≪前のページ [1] [2] [3] [4] [5] 次のページ≫

Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.