* 技術レポート *
≪前のページ [1] [2] [3] [4] [5] 次のページ≫
第3回 クラウドサンプルアプリ作成【3/5】
【フォームの作成】
実際にTweetするフォームを作成していきます。
「
「http://localhost:8888/twitter/」を再度開いてみます。「 "index.jsp"」 が以下のように表示されます。
何か入力して「tweet」ボタンをクリックしてください。「404 NOT FOUND HTTP ERROR」が表示されます。まだ「/twitter/tweet」のコントローラを作成していないためです。
「/twitter/tweet」のコントローラを作成します。
作成したブランクプロジェクト直下の build.xml をダブルクリックします。 「アウトライン」で「gen-controller-without-view」タスクを右クリックし、「実行」→ 「Ant ビルド」を選択します。
「Ant Input Request」の入力ダイアログに「/twitter/tweet」と入力し、OKボタンをクリックします。
「tutorial.controller.twitter.TweetController」、「tutorial.controller.twitter.TweetControllerTest」が自動生成されます。
「TweetControllerTest.java」を右クリックし、「実行」→「Junitテスト」を選択し、テスト結果を確認します。
グリーンのバーが表示され、「OK」となります。
「TweetController」は実行されると 「/twitter/」にリダイレクトされるので、テストケースを以下のように修正し、再度テストを行います。
テストが失敗します。「TweetController」の「run」メソッドが「null」を返却すからです。
コントローラを以下のように変更し、「TweetControllerTest.java」を再度テストします。
テストが成功します。
tweetされた内容を保存するためにModelを作成します。
作成したブランクプロジェクト直下の build.xml をダブルクリックします。 「アウトライン」で「gen-controller-without-view」タスクを右クリックし、「実行」→ 「Ant ビルド」を選択します。
「Ant Input Request」の入力ダイアログに「Tweet」と入力し、OKボタンをクリックします。
「tutorial.model.Tweet」、「tutorial.model.TweetTest」が自動生成されます。
「TweetTest.java」を実行します。テストが成功します。
「Tweet.java」の中身を追加します。「createdDateプロパティ」を以下のように「Tweet」モデルに追加します。
「TweetTest.java」を再度実行してください。テストが成功します。これで「Tweet」モデルの準備ができました。
【サービスの作成】
次は「Tweet」モデルをデータストアに保存するためのサービスを作成します。
作成したブランクプロジェクト直下の build.xml をダブルクリックします。 「アウトライン」で「gen-service」タスクを右クリックし、「実行」→ 「Ant ビルド」を選択します。
「Ant Input Request」の入力ダイアログに「TwitterService」と入力し、OKボタンをクリックします。
「tutorial.service.TwitterService」、「tutorial.service.TwitterServiceTest」が自動生成されます。
「TwitterServiceTest.java」を実行します。テストが成功します。
つぶやいた内容をデータストアに保存するメソッドを実装していきます。「TwitterServiceTest.java」を以下を追加します。
コンパイルエラーが発生します。
コンパイルエラーを取り除くため、「TwitterService」を作成します。
コンパイルエラーが無くなりました。「TwitterServiceTest.java」を実行し、テスト結果を確認します。
テストが成功します。
「TweetController.java」を修正して「TwitterService#tweet()」を呼び出します。まず最初に「TweetControllerTest.java」を以下のように修正します。
「TweetControllerTest.java」を実行し、テスト結果を確認します。
テストは失敗します。「TweetController.java」を修正して「TwitterService#tweet()」を呼び出していないためです。
「TwitterService#tweet()」の呼び出しを「TweetController.java」に追加します。
再度「TweetControllerTest.java」を実行し、テスト結果を確認します。
成功します。
「TweetController.java」の準備ができました。「index.jsp」に戻って何か入力して「tweet」ボタンをクリックしてみます。
「tweet」ボタンクリック後「 http://localhost:8888/_ah/admin」にアクセスします。「Entity Kind list」で「Tweet」を選択し、「List Entities」ボタンをクリックすると、入力した内容を確認することができます。
※日本語だと文字化けしてしまいますが、この後作成する一覧画面の表示に影響はありません。
これで、サービスの作成が完了しました。