/** TwitStreet - Twitter Stock Market Game Copyright (C) 2012 Engin Guller (bisanthe@gmail.com), Cagdas Ozek (cagdasozek@gmail.com) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. **/ package com.twitstreet.main; import java.io.File; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import org.apache.log4j.Logger; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.twitstreet.servlet.BalanceServlet; import com.twitstreet.servlet.BuyServlet; import com.twitstreet.servlet.CallBackServlet; import com.twitstreet.servlet.CreateGroupServlet; import com.twitstreet.servlet.GetGroupServlet; import com.twitstreet.servlet.GetQuoteServlet; import com.twitstreet.servlet.GetUserServlet; import com.twitstreet.servlet.GroupDetailsServlet; import com.twitstreet.servlet.GroupListServlet; import com.twitstreet.servlet.GroupServlet; import com.twitstreet.servlet.HomePageServlet; import com.twitstreet.servlet.LanguageServlet; import com.twitstreet.servlet.LoanServlet; import com.twitstreet.servlet.NewUsersServlet; import com.twitstreet.servlet.PortfolioServlet; import com.twitstreet.servlet.SeasonServlet; import com.twitstreet.servlet.SellServlet; import com.twitstreet.servlet.SigninServlet; import com.twitstreet.servlet.SignoutServlet; import com.twitstreet.servlet.StockDetailsServlet; import com.twitstreet.servlet.StockDistributionServlet; import com.twitstreet.servlet.TopGrossingStocksServlet; import com.twitstreet.servlet.TopRankGroupServlet; import com.twitstreet.servlet.TopRankServlet; import com.twitstreet.servlet.TransactionServlet; import com.twitstreet.servlet.TrendyStocksServlet; import com.twitstreet.servlet.TrendyUsersServlet; import com.twitstreet.servlet.UserHistoryServlet; import com.twitstreet.servlet.UserProfileServlet; import com.twitstreet.servlet.WatchListServlet; public class TSServletConfig extends GuiceServletContextListener { private static Logger logger = Logger.getLogger(TSServletConfig.class); public void contextInitialized(ServletContextEvent servletContextEvent) { //turnoff twitter4j logging System.setProperty ("twitter4j.loggerFactory", "twitter4j.internal.logging.NullLoggerFactory"); Injector injector = getInjector(); Twitstreet twitStreet = injector.getInstance(Twitstreet.class); ServletContext servletContext = servletContextEvent.getServletContext(); twitStreet.setServletContext(servletContext); twitStreet.setInjector(injector); servletContext.setAttribute(Injector.class.getName(), injector); String fileLocation = System.getProperty("user.home") + "/.twitstreet/twitstreet.properties"; File f = new File(fileLocation); logger.debug("Checking config file at: " + fileLocation); if (f.exists()) { twitStreet.initialize(); logger.info(" Config file exist. Twitstreet initialization completed."); } else{ logger.info(" Config does not exist at " + fileLocation); } } @Override protected Injector getInjector() { return Guice.createInjector(new TSModule(), new ServletModule() { @Override protected void configureServlets() { serve("/").with(HomePageServlet.class); serve("/signin").with(SigninServlet.class); serve("/callback").with(CallBackServlet.class); //serve("/getQuote").with(CallBackServlet.class); serve("/a/buy").with(BuyServlet.class); serve("/a/sell").with(SellServlet.class); serve("/toprank").with(TopRankServlet.class); serve("/toprankgroup").with(TopRankGroupServlet.class); serve("/getquote").with(GetQuoteServlet.class); serve("/getuser").with(GetUserServlet.class); serve("/stockdistribution").with(StockDistributionServlet.class); serve("/userhistory").with(UserHistoryServlet.class); serve("/portfolio").with(PortfolioServlet.class); serve("/transaction").with(TransactionServlet.class); serve("/balance").with(BalanceServlet.class); serve("/stock").with(StockDetailsServlet.class); serve("/user").with(UserProfileServlet.class); serve("/topgrossingstocks").with(TopGrossingStocksServlet.class); serve("/suggestedstocks").with(TrendyStocksServlet.class); serve("/trendyusers").with(TrendyUsersServlet.class); serve("/newusers").with(NewUsersServlet.class); serve("/season").with(SeasonServlet.class); serve("/getgroup").with(GetGroupServlet.class); serve("/groupdetails").with(GroupDetailsServlet.class); serve("/group").with(GroupServlet.class); serve("/grouplist").with(GroupListServlet.class); serve("/creategroup").with(CreateGroupServlet.class); serve("/loan").with(LoanServlet.class); serve("/lang").with(LanguageServlet.class); serve("/watchlist").with(WatchListServlet.class); serve("/signout").with(SignoutServlet.class); } }); } }