Data Store

GAE/Jのデータストアに入れた画像データを表示する

なんというか、ブログに乗せるのもみっともないのだが、小1時間ほど悩んでしまったので、メモとして残しておく。先のログで、Struts1.3をつかって「GAE/Jのデータストアにあるバイナリーをダウンロード」してみた。 これでは「つまらない」し、「用途が限ら…

Struts1.3でGAE/Jのデータストアからファイルをダウンロードする

先のログでは、Google App Engine/Java(GAE/J)へファイルをアップロードし、データストアにBlob形式で保存をした。今回は、そこで保存したデータを取り出して、ダウンロード&復元してみる。以下のような画面を用意し、「ダウンロード」ボタンでファイルを…

GAE/Jのデータストアにファイルをアップロードする

以前のログ「GAE/JにStruts1.3のサンプルを乗せてみた」でファイルのUploadがうまくいかない、と書いた。 これは、GAE/Jのランタイム環境でFileOutputStreamがサポートされていないのが原因。GAE/Jがファイルシステムとして利用できないことはよく知られたこ…

Struts1.3+Velocity1.6をGAE/Jに乗せてデータ・ストアを使ってみた

先のログでは、Velocity-Tools1.4に付属しているサンプルが、Google App Engine/Java(GAE/J)上で動くことを見た。 そこで、先に「Struts1.3をGAE/Jに乗せてデータ・ストアを使ってみた」で作成したサンプルを改造して、Velocityを使ってみることにする。Stru…

Struts1.3+Springframework2.5でGAE/Jのデータ・ストアを使ってみた

前回のログでは、Struts1.3の簡単なサンプルを作って、Google Apps Engine/Java(GAE/J)上でデータ・ストアを使ってみた。 それを少し発展させて、同じ仕様で、Struts1.3とSpringframework2.5を連携させたサンプルをGAE/Jに乗せてみた。初期画面は以下。ここ…

Struts1.3をGAE/Jに乗せてデータ・ストアを使ってみた

前回のログでは、Apache Struts(1.3.10)に付属するサンプルをGoogle App Engine/Java(GAE/J)に乗せてみた。せっかく(制限事項つきだが)乗ることが分かったので、struts-blank.warをもとに、データストアを使う簡単なサンプルを作ってみることにした。サ…

DWR2+SpringframeworkでGEA/Jのデータストアを使う(その2)

前回のログでは、Google App Engine/Java(GAE/J)上で、DWR2からデータストアを利用してみた。この際、最後の「Delete ALLファンクション(1トランザクションで全てのPersonエンティティーを削除する)」で失敗してしまった。 これは、全てのPersonエンテ…

DWR2+SpringframeworkでGEA/Jのデータストアを使う(その1)

これまでのログでは、サーブレットからGAE/Jのデータストアを使ってみたが、DWR2+Springframeworkから使ってみる。サンプルは、以前のログ「Google Apps Engine(Java)のDWRアプリでテキストファイルを読み込んでみる」で使ったものを発展させる。その際に…

Google App Engine/JavaのData Storeの「良い」ところ

数回のログにわたって、GAE/Jのデータストアを触ってみた。 雑誌の記事や、いくつかのHPを参考にさせていただいたが、まだ情報量が少ないのだなぁ、と思う。自分より先に利用をしてみた友人らと話していると、「GAE/Jはデータストアが特殊だからな。。。」と…

Google Apps Engine/JavaのData Storeで非所有関係を作ってみる(1:1)

GAE/Jのデータストアのマニュアルによれば、非所有関係はサポートしていないので、(プロパティーに)外部キーのようにキーを保管して、アプリケーションでハンドルせよ、と書いてある(これ)。それはそれでいいので、サンプルを作ってみた。前々回のログで…

Google App Engine/JavaのData Storeで所有関係を作ってみる(1:N)

前回のログに引き継き、今度はGAE/Jで1:Nの所有関係を作ってみた。 1:Nの所有関係も、基本的には1:1の時と同じ。GAEのマニュアルを読む限り、所有側のエンティティーにコレクション型のプロパティーを作成すればよい(サポートされるコレクションは、これ)…

Google Apps Engine/JavaのData Storeで所有関係を作ってみる(1:1)

Google Apps Engine/Java(GAE/J)のData Storeで1:1の所有関係を作ってみる。先のログに書いたように、所有関係も(主キー上で表現される)「ルートエンティティーからのパス」概念に帰着される。公式HP(こことかここ)をみると、所有側インスタンスの…

Google App Engine/JavaのData Storeを使ってみる

先のログでは、先走ってGoogle App Engine/Java(GAE/J)のデータストアにおけるカスケード・デリート(Cascade Delete。もしくは、リカーシブ・デリート。Recursive Delete)の問題を書いてしまったのだが、とりあえず、話を整理するために、順をおって、GA…

GAE/Jでカスケードデリートができない!! (Please help!! Cascade delete doesn't work on GAE Data Store.)

Google Apps Engine(GAE)でよく言われるのが、「データストアが…」ということ。公式HPによれば、JDO2.3、JPA1.0をサポートと言われているが、確かに制限事項が多くて、「なにが使えるのか」分からない。 Joinが使えない。 非所有関係がサポートされていな…