From f2a968b6d53ac07df67f393bd06c38f368d08c02 Mon Sep 17 00:00:00 2001 From: krasimir Date: Thu, 4 Jun 2009 16:26:52 +0000 Subject: the morpho server is now updated and works with the current GF. the sources are moved in directory server --- src/server/gwt/Morpho-compile | 19 +++++++ .../src/se/chalmers/cs/gf/gwt/MorphoApp.gwt.xml | 24 +++++++++ .../se/chalmers/cs/gf/gwt/client/MorphoApp.java | 63 ++++++++++++++++++++++ src/server/gwt/www/morpho/index.html | 36 +++++++++++++ src/server/gwt/www/morpho/morpho.fcgi | 1 + 5 files changed, 143 insertions(+) create mode 100644 src/server/gwt/Morpho-compile create mode 100644 src/server/gwt/src/se/chalmers/cs/gf/gwt/MorphoApp.gwt.xml create mode 100644 src/server/gwt/src/se/chalmers/cs/gf/gwt/client/MorphoApp.java create mode 100644 src/server/gwt/www/morpho/index.html create mode 100644 src/server/gwt/www/morpho/morpho.fcgi (limited to 'src/server/gwt') diff --git a/src/server/gwt/Morpho-compile b/src/server/gwt/Morpho-compile new file mode 100644 index 000000000..e3cb451ed --- /dev/null +++ b/src/server/gwt/Morpho-compile @@ -0,0 +1,19 @@ +#!/bin/sh + +APPDIR=`dirname $0`; + +if [ -z "$GWT_CLASSPATH" ]; then + echo 'ERROR: $GWT_CLASSPATH is not set' + echo 'Set $GWT_CLASSPATH to point to the GWT JAR files. For example:' + echo 'export GWT_DIR="/Users/bringert/src/gwt-mac-1.5.2"' + echo 'export GWT_CLASSPATH="$GWT_DIR/gwt-user.jar:$GWT_DIR/gwt-dev-mac.jar"' + exit 1 +fi + +if [ `uname` = "Darwin" ]; then + GWT_JAVA_OPTS=-XstartOnFirstThread +fi + +LIBS=$APPDIR/lib/gwt-dnd-2.5.6.jar + +java $GWT_JAVA_OPTS -Xmx256M -cp "$APPDIR/src:$APPDIR/bin:$LIBS:$GWT_CLASSPATH" com.google.gwt.dev.GWTCompiler -out "$APPDIR/www/morpho" "$@" se.chalmers.cs.gf.gwt.MorphoApp; diff --git a/src/server/gwt/src/se/chalmers/cs/gf/gwt/MorphoApp.gwt.xml b/src/server/gwt/src/se/chalmers/cs/gf/gwt/MorphoApp.gwt.xml new file mode 100644 index 000000000..3743667f7 --- /dev/null +++ b/src/server/gwt/src/se/chalmers/cs/gf/gwt/MorphoApp.gwt.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/server/gwt/src/se/chalmers/cs/gf/gwt/client/MorphoApp.java b/src/server/gwt/src/se/chalmers/cs/gf/gwt/client/MorphoApp.java new file mode 100644 index 000000000..20c137e74 --- /dev/null +++ b/src/server/gwt/src/se/chalmers/cs/gf/gwt/client/MorphoApp.java @@ -0,0 +1,63 @@ +package se.chalmers.cs.gf.gwt.client; + +import java.util.*; + +import com.google.gwt.core.client.*; +import com.google.gwt.user.client.ui.*; +import com.google.gwt.core.client.JavaScriptObject; + +public class MorphoApp implements EntryPoint { + private TextBox lemmaBox = new TextBox(); + private Button submitButton = new Button("Submit"); + private Grid outputGrid = new Grid(2,0); + + public void onModuleLoad() { + HorizontalPanel inputPanel = new HorizontalPanel(); + inputPanel.add(lemmaBox); + inputPanel.add(submitButton); + + submitButton.addClickListener(new ClickListener() { + public void onClick(Widget sender) { + + String url = "http://localhost:41296/morpho/morpho.fcgi/eval"; + List args = new ArrayList(); + args.add(new JSONRequestBuilder.Arg("term", lemmaBox.getText())); + + JSONRequestBuilder.sendRequest(url, args, new TableCallback() { + public void onResult (IterableJsArray table) + { + outputGrid.resize(table.length(),2); + int row = 0; + for (InflectionForm form : table.iterable()) { + outputGrid.setText(row,0,form.getName()); + outputGrid.setText(row,1,form.getValue()); + row++; + } + } + + public void onError (Throwable e) + { + outputGrid.resize(1,1); + outputGrid.setText(0,0,e.toString()); + } + }); + } + }); + + + VerticalPanel mainPanel = new VerticalPanel(); + mainPanel.add(inputPanel); + mainPanel.add(outputGrid); + RootPanel.get().add(mainPanel); + } + + public interface TableCallback extends JSONCallback> { } + + public static class InflectionForm extends JavaScriptObject { + protected InflectionForm() { } + + public final native String getName() /*-{ return this.name; }-*/; + + public final native String getValue() /*-{ return this.value; }-*/; + } +} diff --git a/src/server/gwt/www/morpho/index.html b/src/server/gwt/www/morpho/index.html new file mode 100644 index 000000000..9e3beabb6 --- /dev/null +++ b/src/server/gwt/www/morpho/index.html @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + Morpho + + + + + + + + + + + + + + + + + + + + + diff --git a/src/server/gwt/www/morpho/morpho.fcgi b/src/server/gwt/www/morpho/morpho.fcgi new file mode 100644 index 000000000..8d1c8b69c --- /dev/null +++ b/src/server/gwt/www/morpho/morpho.fcgi @@ -0,0 +1 @@ + -- cgit v1.2.3