本日はインターン6日目(最終日)として、実践編 スケジュール登録での「種別」の追加 に取り組みました。 使用感からするとラジオボタンのクリック範囲が狭かったりして充分とは言えませんが、他のアルバイトの方に助けていただきながら機能の実装は完成しました。
本日の作業の大まかな流れを以下に示します。 ①前回作成したコードをそのまま使っているのにaipoの挙動が前回と変わっていたため、原因の調査をした。 ②前回の状態を再現するため、「mvn reflesh」の実行やpgadminを使ってカラムを再度作成した。 ③前回発生していた問題を、デバッグやデータベースに保存された値のチェックを使うことで原因を調べた。 ④判明した原因である、データベースから値を引っ張れていないという課題を解決した。
各作業について詳しく説明します。 前回のブランチを開きビルドして実行したところ、前回解決したはずの「初期状態のラジオボタンに何も選択されていない」「種別と表示されるはずの項目名がおかしい」といった問題が発生してしまっていました。間違えて別のファイルを開いてしまったのかと思い、コードの中身をプッシュしたものと照らしあわせたところ、異なる箇所はとくに見当たりませんでした。そこでアルバイトの方に相談したところ、「mvn install」を行う前に「mvn reflesh」を行うと治ることを教えていただきました。
またスケジュールの登録ができないという問題も同時に発生してい
て、それは「マシンが前回と変わったためSQLを再度書きなおす必要がある」ということでした。pgadminを用いて種別設定用のカラムを再度作成することでこの問題も解決出来ました。 *** また、前回は「選択したはずの種別がスケジュール詳細画面で反映されていない」という問題がありました。これを解決するため、デバッグモードを使いどのファイルが関係しているのか調べ、本当に入力データはデータベースに格納されているのかを調べたりしながら、原因を調査していきました。結果、値はデータベースに格納されているものの、その表示系がおかしいということがわかりました。 アルバイトの方に助けてもらいながら、編集すべきファイルは/aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleSelectData.javaと判明しました。このファイルはデータベースから値を引っ張ってきて表示する内容を司る/aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleDetailResultData.javaに値を渡す役割があるということでした。よってこのScheduleSelectData.javaの400行目付近に
// 種別 rd.setClassification(record.getClassification());
“` を追加することでデータベースの値をcheduleDetailResultDataに渡すことができ、機能が完成しました。
今回のインターンシップでの感想や得たものはたくさんあります。aipoのような大きいアプリケーションでは機能の分類化を行うこと(MVCモデル)、velocityのようなコーディングに便利なものがあること、DBとのやりとりの仕組みやSQLの役割、Eclipseの使い方を学べたことも大きかったです。これからはアルバイトとして働かせてもらえるということで、もっといろいろな知識を吸収して行きたいです。