[pal-devel 1] と動作確認

Back to archive index

Applied_MATSUDA Masaaki m.mat****@appli*****
2005年 11月 28日 (月) 03:47:53 JST


TigerCatです。


現在上がっているサブプロジェクトのソースをそれぞれビルドし,
Jetspeed 1.6 へディプロイしてみました。
ざっくりですが,結果をかいておこうと思います。

なお,ソースコードは 2005年11月27日 23:59:59 の時点のCVSに
上がっているものとしておきます。
事前準備として,OSログインユーザのホームディレクトリに
build.properties ファイルを作り,
maven.repo.remote = http://www.marevol.com/maven
を書き込んだ状態にしました。


1. blogポートレット

ビルドは,maven clean war すると,テスト中にコケます。
これは既定のMySQLデータベースにテーブルが見つからない事が
原因なので,DDLを作成して先に流しておく必要がありますね。
あとは src/java/hibernate.cfg.xml の中の
<property name="hibernate.connection.username">xxxx</property>
<property name="hibernate.connection.password">xxxx</property>
のところをMySQLにアクセスできるMySQLアカウントに書き換えた。
ちなみにDDLはこんな感じ。
create database blog;
use blog;
CREATE TABLE BLOGCATEGORY(
  ID BIGINT NOT NULL PRIMARY KEY,
  NAME VARCHAR(255) NOT NULL
);
CREATE TABLE BLOGMESSAGE(
  ID BIGINT NOT NULL PRIMARY KEY,
  OWNER VARCHAR(255) NOT NULL,
  TITLE VARCHAR(255) NOT NULL,
  MESSAGE TEXT NOT NULL,
  FORMATTYPE VARCHAR(16) NOT NULL,
  BLOGCATEGORYID BIGINT,
  CREATEDTIME TIMESTAMP NOT NULL,
  UPDATEDTIME TIMESTAMP NOT NULL,
  FOREIGN KEY(BLOGCATEGORYID) REFERENCES BLOGCATEGORY(ID)
);
CREATE TABLE BLOGCOMMENT(
  ID BIGINT NOT NULL PRIMARY KEY,
  NAME VARCHAR(128) NOT NULL,
  EMAIL VARCHAR(64) NOT NULL,
  URL VARCHAR(255) NOT NULL,
  MESSAGE TEXT NOT NULL,
  BLOGMESSAGEID BIGINT,
  CREATEDTIME TIMESTAMP NOT NULL,
  FOREIGN KEY(BLOGMESSAGEID) REFERENCES BLOGMESSAGE(ID)
);
CREATE TABLE BLOGTRACKBACK(
  ID BIGINT NOT NULL PRIMARY KEY,
  TITLE VARCHAR(255),
  EXCERPT TEXT,
  URL VARCHAR(255) NOT NULL,
  BLOGNAME VARCHAR(255),
  BLOGMESSAGEID BIGINT,
  CREATEDTIME TIMESTAMP NOT NULL,
  FOREIGN KEY(BLOGMESSAGEID) REFERENCES BLOGMESSAGE(ID)
);
ここまでやれば,maven clean war は通るようになった。

出来上がったwarをJetspeed 1.6へディプロイし動作確認。
一件投稿すると「ユーザが正しくない」というようなエラー
が表示される。
どうも
FacesContext.getCurrentInstance().getExternalContext().getRemoteUser()
がnullになってしまうらしい。
なので,src/java/jp/sf/pal/blog/bean/BlogEditPageBean.java
のgetRemoteUser()しているところは"anon"が返ったことに
してしまう。とりあえず。

再ビルド再配備再テスト。
一件投稿すると,ついに書き込みが保存された。
"Blog View Portlet"をEDITモードにして,ユーザ名をanonに
設定しVIEWモードにすると,さっきの一件が表示された。
(日本語部分が????になってしまっているが)
"Blog Title View Portlet"は,EDITモードでユーザ名をanon
に設定し,VIEWモードにすると,ポートレット上にException
が表示されてしまう。
存在しないユーザ名に設定すると0件を表示するので,データ
がヒットするとExceptionっぽい。
今日のところはここでギブアップ。
日本語が????になる件は,MySQL起動時の初期パラメータとし
てエンコードに関する指定をしておく必要がある気がする。

ちなみに,MySQLでなくてHypersonicSQLで動くようにアレコレ
やってみたが散々な結果に終わった。
HibernateがHypersonicSQLのサーバに接続したところでハング
アップしてしまう。HypersonicSQLをサーバモードではなく,
スタンドアロン(ファイルモード?)にすると,ビルドテストも
ちゃんととおりしっかりバイナリもできる。しかし配備し
動作確認しようとしたところでしょぱなから"Blog View Portlet"
と"Blog Title View Portlet"はExceptionを表示している。
うーむなぞだ。
ちなみに,
DDLはTEXT型のところをLONGVARCHARにして流す。というか,
blog.scriptに直接書き込む必要がある。

ということで,いまのところダメ状態。


2. bridges-myfaces

これは,ソースを少しいじったので検証結果があいまい。
maven clean jar でサックリとビルドが通ってしまうのだが,
そのためにはmyfacesを1.0.9ではなくて1.1.1に上げなければ
だめだった気がする。
org.apache.myfaces.portlet.PortletUtil.PORTLET_REQUEST_FLAG
というフィールドが1.0.9にはまだないからそのままだとビルド
エラー。
ということだったと思う。


3. cms-portlets

これは maven clean war でサックリとビルドできる。
ただ,Jetspeed 1.6での実行結果は,"CMS Content"ポート
レットの枠の中に
Portlet is Not Available: null
Reason: PORTLET_REQUEST_FLAG 
の2行を表示するのみで・・・

とりあえずダメ状態。


4. helloworld

これはばっちりです。maven clean war でさっくりと。
配備して動作確認。ちゃんと動いていそうです。
ただ,anonな時では正常動作を確認しているのですが,
adminユーザでフォームを送信したときは日本語がバケて
しまいました。不思議な挙動。

とりあえずはOK状態。


5. logviewerポートレット

maven clean war としてみるも,HibernateDataModelの
シンボルが解決できない云々といってコンパイルが通り
ませんでした・・・

とりあえずダメ状態。


6. vfs-portlets

ビルドは maven clean war でサックリいけます。
配備・動作確認で,ポートレットが表示されるところも
見れました。ところがディレクトリの中とかが表示され
ません。ログ的にはExceptionがだらだらと出ています。
これはWindowsで動かすことによる非互換とかなのでしょ
うかね・・・

とりあえずダメ状態としておきましょう。


と,いう具合でいまのところ散々ですが,これって
Jetspeed 1.6 を使ううえでの障害だったらつらいっすな。


ではでは,ご報告まで。




pal-devel メーリングリストの案内
Back to archive index