diff options
Diffstat (limited to 'sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ScriptFilter.java')
-rw-r--r-- | sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ScriptFilter.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ScriptFilter.java b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ScriptFilter.java new file mode 100644 index 0000000000..8964db68cc --- /dev/null +++ b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ScriptFilter.java @@ -0,0 +1,20 @@ +package org.apache.tuscany.sca.binding.comet.runtime; + +import org.atmosphere.cpr.BroadcastFilter; + +public class ScriptFilter implements BroadcastFilter { + + private static final String BEGIN_SCRIPT_TAG = "<script type='text/javascript'>\n"; + private static final String END_SCRIPT_TAG = "</script>\n"; + // TODO: add dynamic function configuration + private static final String DEFAULT_FUNCTION = "window.parent.update"; + + public BroadcastAction filter(Object o) { + if (o instanceof String) { + String message = (String)o; + return new BroadcastAction(BEGIN_SCRIPT_TAG + DEFAULT_FUNCTION + "('" + message + "');\n" + END_SCRIPT_TAG); + } else { + return new BroadcastAction(o); + } + } +} |