dasのサービスをgoogle app engineに作ってみた。
http://wstestgae.appspot.com/das/dsn
本家にあるチュートリアルを参考に作ってみた。
本家との違いは、cssとかxslとかかまされてるので、まぁdazzleのサイトだなってかんじの見た目になっているところかな。
自分も、googleにdataをいれれるようにしたいなぁ。
以下、作り方
本家のチュートリアルが、
http://www.biojava.org/wiki/Dazzle:deployment_google_app_engine
ここにあったので、そこを参考にしてみた
まずは、レポジトリをチェックアウト(数ヶ所いじるので)
svn checkout http://www.derkholm.net/svn/repos/dazzle/trunk dazzle
1.Google App Engine project from Eclipseでプロジェクトを作る
1.プロジェクト名を決める。
2.パッケージ名を決める
3.Google Web Toolkitのチェックを外す
作ると
サーブレットが1つできている。
このとき、syntax エラーが1つでているようなので、
SuppressWararningの上で、Ctrl+1
change project compilance and JRE 1.5
を選択する。
2.ライブラリの追加
チェックアウトしたプロジェクトの jars/ から
biojava.jar
bytecode.jar
dasmi-model.jar
servlet-api-2.3.jar
を
war/WEB-INF/lib
に
を追加する
3. リソースなどをコピー
resourcesとdazzole-webappを適当なディレクトリにコピーして
mkdir tmp
cd tmp
cp -Rp ../resources .
cp -Rp ../dazzle-webapp .
rm -rf `find . | grep \.svn`
ウェブで必要なファイルのコピー
dazzle-webappの中の、WEB-INF以外(*.htmlとか*.xslとか)をコピーすればよいようなので
コピーする
META-INF/servicesをコピー
ハンドラ関係について書いてあるので
resoucres/META-INF/servicesをsrc/META-INFにコピー
ソースのコピー
svn のディレクトリの、src/orgをsrcにコピーする
チュートリアルにあるように
Comment: you should have 3 errors due to the use of Context in 'MysqlFeatureCache'. For now, I just commented the 2 lines involved.
たしかにエラーが3つでる
public MysqlFeatureCache()
こんなメソッドなかなので、チュートリアルどおり、2行コメントアウトする。
//Context env = (Context) new InitialContext().lookup("java:comp/env"); //dataSource = (DataSource) env.lookup(DATASOURCE_NAME);
DazzleServlet.java
DazzleServlet.java
の
private void sendStylesheet(HttpServletRequest req, HttpServletResponse resp, String command)
の先頭に、cssを正しく返すように
resp.setContentType("text/css");
を追加、ソースコードはこんな感じに見える。
private void sendStylesheet(HttpServletRequest req, HttpServletResponse resp, String command) throws IOException,ServletException{ resp.setContentType("text/css"); String cssPath = "css/" + command; InputStream is = getClass().getClassLoader().getResourceAsStream(cssPath);
dazzle.cfgの編集(いらないかも)
port番号が8080になっていたので、起動するポートに変更
<string name="mapMaster" value="http://localhost:8888/das/tss/" />
web.xmlに追加
<servlet> <servlet-name>Dazzle</servlet-name> <servlet-class>org.biojava.servlets.dazzle.DazzleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Dazzle</servlet-name> <url-pattern>/das/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>das_welcome.html</welcome-file> </welcome-file-list>
welcome-file-listは適当に。
runしてうまく動けばOK