summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ScriptFilter.java
blob: 8964db68cce8b4e74902858f00e5134328817ecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
        }
    }
}