diff options
Diffstat (limited to 'sca-java-2.x/contrib/samples/stock-comet/src/main/java/sample/CometServlet.java')
-rw-r--r-- | sca-java-2.x/contrib/samples/stock-comet/src/main/java/sample/CometServlet.java | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/sca-java-2.x/contrib/samples/stock-comet/src/main/java/sample/CometServlet.java b/sca-java-2.x/contrib/samples/stock-comet/src/main/java/sample/CometServlet.java deleted file mode 100644 index c93dc144dc..0000000000 --- a/sca-java-2.x/contrib/samples/stock-comet/src/main/java/sample/CometServlet.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; - -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.atmosphere.cpr.AtmosphereResourceEvent; -import org.atmosphere.cpr.AtmosphereResourceEventListener; -import org.atmosphere.cpr.BroadcastFilter; -import org.atmosphere.cpr.Broadcaster; -import org.atmosphere.cpr.Meteor; -import org.atmosphere.util.XSSHtmlFilter; -import org.oasisopen.sca.ComponentContext; - -@SuppressWarnings("serial") -public class CometServlet extends HttpServlet { - - private static final String COMPONENT_CONTEXT_KEY = "org.oasisopen.sca.ComponentContext"; - private static final String COMET_SCOPE_KEY = "org.apache.tuscany.comet.scope"; - private static final String METEOR_KEY = "org.apache.tuscany.comet.meteor"; - - // TODO: check if static variables are a good choice here - private static List<BroadcastFilter> filters; - private static Broadcaster.SCOPE scope; - - - @Override - public void init(ServletConfig config) throws ServletException { - super.init(config); - filters = new LinkedList<BroadcastFilter>(); - filters.add(new XSSHtmlFilter()); - filters.add(new ScriptFilter()); - String cometScope = getInitParameter(COMET_SCOPE_KEY).trim().toUpperCase(); - scope = Broadcaster.SCOPE.valueOf(cometScope); - } - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - Meteor meteor = Meteor.build(request, scope, filters, null); - meteor.addListener(new CometEventListener()); - request.getSession().setAttribute(METEOR_KEY, meteor); - response.setContentType("text/html"); - meteor.suspend(-1); // http streaming - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, - IOException { - Meteor meteor = (Meteor)request.getSession().getAttribute(METEOR_KEY); - - // TODO: add dynamic call and cast - // String component = request.getParameter("component"); - // String method = request.getParameter("method"); - // String params = request.getParameter("params"); - // String componentClass = request.getParameter("component.class"); - - // TODO: check if cc has all the information when servlet is not in - // web.composite - ComponentContext cc = (ComponentContext)getServletContext().getAttribute(COMPONENT_CONTEXT_KEY); - StockService service = cc.getService(StockService.class, "service"); - - // TODO: add JSON serialization - meteor.broadcast(service.getSymbol() + "#" + service.getValue()); - } - - // ---------------------------------------------- - - public class CometEventListener implements AtmosphereResourceEventListener { - - @Override - public void onSuspend(AtmosphereResourceEvent<HttpServletRequest, HttpServletResponse> event) { - System.out.println("onSuspend: " + event); - } - - @Override - public void onResume(AtmosphereResourceEvent<HttpServletRequest, HttpServletResponse> event) { - System.out.println("onResume: " + event); - } - - @Override - public void onDisconnect(AtmosphereResourceEvent<HttpServletRequest, HttpServletResponse> event) { - System.out.println("onDisconnect: " + event); - } - - @Override - public void onBroadcast(AtmosphereResourceEvent<HttpServletRequest, HttpServletResponse> event) { - System.out.println("onBroadcast: " + event); - } - - } - -} |