summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/contrib/samples/stock-comet/src/main/java/sample/ScriptFilter.java
blob: 61cf1b79df83f3d3dc1164e8de24c7bbf468eb50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package sample;

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);
        }
    }
}