/* Copyright rememberjava.com. Licensed under GPL 3. See http://rememberjava.com/license */ package com.rememberjava.http; import java.io.File; import java.util.HashMap; import java.util.Map; import org.simpleframework.demo.http.WebContainer; import org.simpleframework.demo.http.WebServer; import org.simpleframework.demo.http.resource.ContentTypeResolver; import org.simpleframework.demo.http.resource.FileSystemResource; import org.simpleframework.demo.http.resource.RegularExpressionEngine; import org.simpleframework.demo.http.resource.Resource; import org.simpleframework.demo.http.resource.ResourceContainer; import org.simpleframework.demo.http.resource.ResourceEngine; import org.simpleframework.demo.http.resource.StringResource; import org.simpleframework.demo.io.FileManager; import org.simpleframework.demo.io.FileResolver; import org.simpleframework.demo.log4j.LogConfigurer; import org.simpleframework.demo.trace.LogAnalyzer; import org.simpleframework.http.Status; import org.simpleframework.http.core.Container; import org.simpleframework.http.socket.service.DirectRouter; import org.simpleframework.http.socket.service.Router; import org.simpleframework.http.socket.service.RouterContainer; import org.simpleframework.http.socket.service.Service; import org.simpleframework.transport.trace.TraceAnalyzer; public class SfChatDemoMain { private static final int PORT = 6060; public static void main(String[] args) throws Exception { new LogConfigurer(new File("etc/log4j.xml")).configure(); Map content = new HashMap<>(); content.put(".*", "text/html"); ContentTypeResolver typeResolver = new ContentTypeResolver(content); FileManager manager = new FileManager(new File("data/chat")); FileResolver fileResolver = new FileResolver(manager, "index.html", "index.html"); Resource fileSystemResource = new FileSystemResource(fileResolver, typeResolver); Resource chatRoomLogin = new ChatRoomLogin(fileSystemResource); Service chatRoom = new ChatRoom(); StringResource failureResource = new StringResource("An error occured serving a resource!", "text/plain; charset=UTF-8", "UTF-8", Status.INTERNAL_SERVER_ERROR); Resource notFoundResource = new StringResource("Resource could not be found!!", "text/plain; charset=UTF-8", "UTF-8", Status.NOT_FOUND); Map resources = new HashMap<>(); resources.put("/login.html", chatRoomLogin); ResourceEngine resourceEngine = new RegularExpressionEngine(resources, notFoundResource); ResourceContainer resourceContainer = new ResourceContainer(resourceEngine, failureResource); TraceAnalyzer analyzer = new LogAnalyzer(); Container webContainer = new WebContainer(resourceContainer, "Chat/1.0"); Router webSocketRouter = new DirectRouter(chatRoom); Container webSocketContainer = new RouterContainer(webContainer, webSocketRouter, 2); WebServer server = new WebServer(webSocketContainer, analyzer, PORT); server.start(); } }