[Xmpp4js-commit] SF.net SVN: xmpp4js: [700] xmpp4js-launcher
Status: Beta
Brought to you by:
h-iverson
From: <h-i...@us...> - 2008-02-28 18:09:26
|
Revision: 700 http://xmpp4js.svn.sourceforge.net/xmpp4js/?rev=700&view=rev Author: h-iverson Date: 2008-02-28 10:09:23 -0800 (Thu, 28 Feb 2008) Log Message: ----------- Initial import. Added Paths: ----------- xmpp4js-launcher/.project xmpp4js-launcher/pom.xml xmpp4js-launcher/src/ xmpp4js-launcher/src/assembler/ xmpp4js-launcher/src/assembler/src.xml xmpp4js-launcher/src/main/ xmpp4js-launcher/src/main/javascript/ xmpp4js-launcher/src/main/launcher/ xmpp4js-launcher/src/main/launcher/etc/ xmpp4js-launcher/src/main/launcher/etc/jetty.xml xmpp4js-launcher/src/main/launcher/etc/webdefault.xml xmpp4js-launcher/src/main/launcher/logs/ xmpp4js-launcher/src/main/launcher/run.bat xmpp4js-launcher/src/main/webapp/ xmpp4js-launcher/src/main/webapp/WEB-INF/ xmpp4js-launcher/src/main/webapp/WEB-INF/web.xml xmpp4js-launcher/src/main/webapp/simpleclient.html Added: xmpp4js-launcher/.project =================================================================== --- xmpp4js-launcher/.project (rev 0) +++ xmpp4js-launcher/.project 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>xmpp4js-launcher</name> + <comment></comment> + <projects> + <project>xmpp4js</project> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> Added: xmpp4js-launcher/pom.xml =================================================================== --- xmpp4js-launcher/pom.xml (rev 0) +++ xmpp4js-launcher/pom.xml 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,93 @@ +<?xml version="1.0"?> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 +http://maven.apache.org/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + <groupId>com.soashable.lib</groupId> + <artifactId>xmpp4js-launcher</artifactId> + <version>1.0-SNAPSHOT</version> + <packaging>war</packaging> + + <name>Xmpp4Js Sample Client Launcher</name> + <description>Xmpp4Js Sample Client Launcher</description> + <url>http://xmpp4js.sourceforge.net</url> + + <build> + <extensions> + <extension> + <groupId>org.codehaus.mojo.javascript</groupId> + <artifactId>javascript-maven-extensions</artifactId> + <version>1.0-alpha-1-SNAPSHOT</version> + </extension> + </extensions> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <attach>false</attach> + <descriptors> + <descriptor>src/assembler/src.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>assembly</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo.javascript</groupId> + <artifactId>javascript-maven-plugin</artifactId> + <version>1.0-alpha-1-SNAPSHOT</version> + <extensions>true</extensions> + <executions> + <execution> + <goals> + <goal>war-package</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty</artifactId> + <version>6.1.7</version> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>start</artifactId> + <version>6.1.7</version> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>6.1.7</version> + </dependency> + + <dependency> + <groupId>com.soashable.lib</groupId> + <artifactId>xmpp4js</artifactId> + <version>0.2-SNAPSHOT</version> + <type>javascript</type> + </dependency> + <dependency> + <groupId>org.jabber.JabberHTTPBind</groupId> + <artifactId>jhb</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + </dependencies> + + + +</project> Added: xmpp4js-launcher/src/assembler/src.xml =================================================================== --- xmpp4js-launcher/src/assembler/src.xml (rev 0) +++ xmpp4js-launcher/src/assembler/src.xml 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,35 @@ +<assembly> + <id>with-dependencies</id> + <includeBaseDirectory>false</includeBaseDirectory> + <formats> + <format>dir<!-- for debugging, zip/tar.gz for release --></format> + </formats> + + <dependencySets> + <dependencySet> + <outputDirectory>lib</outputDirectory> + <useTransitiveFiltering>true</useTransitiveFiltering> + <includes> + <include>org.mortbay.jetty:jetty</include> + <include>org.mortbay.jetty:jetty-util</include> + <include>org.mortbay.jetty:start</include> + </includes> + <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> + </dependencySet> + </dependencySets> + <fileSets> + <fileSet> + <directory>src/main/launcher</directory> + <outputDirectory></outputDirectory> + </fileSet> + </fileSets> + <files> + <file> + <source>target/xmpp4js-launcher-1.0-SNAPSHOT.war</source> + <outputDirectory>webapps</outputDirectory> + <destName>root.war</destName> + </file> + </files> + + +</assembly> \ No newline at end of file Added: xmpp4js-launcher/src/main/launcher/etc/jetty.xml =================================================================== --- xmpp4js-launcher/src/main/launcher/etc/jetty.xml (rev 0) +++ xmpp4js-launcher/src/main/launcher/etc/jetty.xml 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,187 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> + +<!-- =============================================================== --> +<!-- Configure the Jetty Server --> +<!-- --> +<!-- Documentation of this file format can be found at: --> +<!-- http://docs.codehaus.org/display/JETTY/jetty.xml --> +<!-- --> +<!-- =============================================================== --> + + +<Configure id="Server" class="org.mortbay.jetty.Server"> + + <!-- =========================================================== --> + <!-- Server Thread Pool --> + <!-- =========================================================== --> + <Set name="ThreadPool"> + <!-- Default bounded blocking threadpool + --> + <New class="org.mortbay.thread.BoundedThreadPool"> + <Set name="minThreads">10</Set> + <Set name="maxThreads">250</Set> + <Set name="lowThreads">25</Set> + </New> + + <!-- Optional Java 5 bounded threadpool with job queue + <New class="org.mortbay.thread.concurrent.ThreadPool"> + <Set name="corePoolSize">250</Set> + <Set name="maximumPoolSize">250</Set> + </New> + --> + </Set> + + + + <!-- =========================================================== --> + <!-- Set connectors --> + <!-- =========================================================== --> + <!-- One of each type! --> + <!-- =========================================================== --> + + <!-- Use this connector for many frequently idle connections + and for threadless continuations. + --> + <Call name="addConnector"> + <Arg> + <New class="org.mortbay.jetty.nio.SelectChannelConnector"> + <Set name="host"><SystemProperty name="jetty.host" /></Set> + <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set> + <Set name="maxIdleTime">30000</Set> + <Set name="Acceptors">2</Set> + <Set name="statsOn">false</Set> + <Set name="confidentialPort">8443</Set> + <Set name="lowResourcesConnections">5000</Set> + <Set name="lowResourcesMaxIdleTime">5000</Set> + </New> + </Arg> + </Call> + + <!-- Use this connector if NIO is not available. + <Call name="addConnector"> + <Arg> + <New class="org.mortbay.jetty.bio.SocketConnector"> + <Set name="port">8081</Set> + <Set name="maxIdleTime">50000</Set> + <Set name="lowResourceMaxIdleTime">1500</Set> + </New> + </Arg> + </Call> + --> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- To add a HTTPS SSL listener --> + <!-- see jetty-ssl.xml to add an ssl connector. use --> + <!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <!-- =========================================================== --> + <!-- Set up global session ID manager --> + <!-- =========================================================== --> + <!-- + <Set name="sessionIdManager"> + <New class="org.mortbay.jetty.servlet.HashSessionIdManager"> + <Set name="workerName">node1</Set> + </New> + </Set> + --> + + <!-- =========================================================== --> + <!-- Set handler Collection Structure --> + <!-- =========================================================== --> + <Set name="handler"> + <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection"> + <Set name="handlers"> + <Array type="org.mortbay.jetty.Handler"> + <Item> + <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/> + </Item> + <Item> + <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/> + </Item> + <Item> + <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/> + </Item> + </Array> + </Set> + </New> + </Set> + + <!-- =========================================================== --> + <!-- Configure the context deployer --> + <!-- A context deployer will deploy contexts described in --> + <!-- configuration files discovered in a directory. --> + <!-- The configuration directory can be scanned for hot --> + <!-- deployments at the configured scanInterval. --> + <!-- --> + <!-- This deployer is configured to deploy contexts configured --> + <!-- in the $JETTY_HOME/contexts directory --> + <!-- --> + <!-- =========================================================== --> + <Call name="addLifeCycle"> + <Arg> + <New class="org.mortbay.jetty.deployer.ContextDeployer"> + <Set name="contexts"><Ref id="Contexts"/></Set> + <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set> + <Set name="scanInterval">1</Set> + </New> + </Arg> + </Call> + + <!-- =========================================================== --> + <!-- Configure the webapp deployer. --> + <!-- A webapp deployer will deploy standard webapps discovered --> + <!-- in a directory at startup, without the need for additional --> + <!-- configuration files. It does not support hot deploy or --> + <!-- non standard contexts (see ContextDeployer above). --> + <!-- --> + <!-- This deployer is configured to deploy webapps from the --> + <!-- $JETTY_HOME/webapps directory --> + <!-- --> + <!-- Normally only one type of deployer need be used. --> + <!-- --> + <!-- =========================================================== --> + <Call name="addLifeCycle"> + <Arg> + <New class="org.mortbay.jetty.deployer.WebAppDeployer"> + <Set name="contexts"><Ref id="Contexts"/></Set> + <Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set> + <Set name="parentLoaderPriority">false</Set> + <Set name="extract">true</Set> + <Set name="allowDuplicates">false</Set> + <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set> + </New> + </Arg> + </Call> + + <!-- =========================================================== --> + <!-- Configure Request Log --> + <!-- Request logs may be configured for the entire server here, --> + <!-- or they can be configured for a specific web app in a --> + <!-- contexts configuration (see $(jetty.home)/contexts/test.xml --> + <!-- for an example). --> + <!-- =========================================================== --> + <Ref id="RequestLog"> + <Set name="requestLog"> + <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog"> + <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set> + <Set name="filenameDateFormat">yyyy_MM_dd</Set> + <Set name="retainDays">90</Set> + <Set name="append">true</Set> + <Set name="extended">true</Set> + <Set name="logCookies">false</Set> + <Set name="LogTimeZone">GMT</Set> + </New> + </Set> + </Ref> + + <!-- =========================================================== --> + <!-- extra options --> + <!-- =========================================================== --> + <Set name="stopAtShutdown">true</Set> + <Set name="sendServerVersion">true</Set> + <Set name="sendDateHeader">true</Set> + <Set name="gracefulShutdown">1000</Set> + +</Configure> Added: xmpp4js-launcher/src/main/launcher/etc/webdefault.xml =================================================================== --- xmpp4js-launcher/src/main/launcher/etc/webdefault.xml (rev 0) +++ xmpp4js-launcher/src/main/launcher/etc/webdefault.xml 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,402 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!-- ===================================================================== --> +<!-- This file contains the default descriptor for web applications. --> +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> +<!-- The intent of this descriptor is to include jetty specific or common --> +<!-- configuration for all webapps. If a context has a webdefault.xml --> +<!-- descriptor, it is applied before the contexts own web.xml file --> +<!-- --> +<!-- A context may be assigned a default descriptor by: --> +<!-- + Calling WebApplicationContext.setDefaultsDescriptor --> +<!-- + Passed an arg to addWebApplications --> +<!-- --> +<!-- This file is used both as the resource within the jetty.jar (which is --> +<!-- used as the default if no explicit defaults descriptor is set) and it --> +<!-- is copied to the etc directory of the Jetty distro and explicitly --> +<!-- by the jetty.xml file. --> +<!-- --> +<!-- ===================================================================== --> +<web-app + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" + metadata-complete="true" + version="2.5"> + + <description> + Default web.xml file. + This file is applied to a Web application before it's own WEB_INF/web.xml file + </description> + + + <!-- ==================================================================== --> + <!-- Context params to control Session Cookies --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- UNCOMMENT TO ACTIVATE + <context-param> + <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name> + <param-value>127.0.0.1</param-value> + </context-param> + + <context-param> + <param-name>org.mortbay.jetty.servlet.SessionPath</param-name> + <param-value>/</param-value> + </context-param> + + <context-param> + <param-name>org.mortbay.jetty.servlet.MaxAge</param-name> + <param-value>-1</param-value> + </context-param> + --> + + <context-param> + <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name> + <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar</param-value> + </context-param> + + + + <!-- ==================================================================== --> + <!-- The default servlet. --> + <!-- This servlet, normally mapped to /, provides the handling for static --> + <!-- content, OPTIONS and TRACE methods for the context. --> + <!-- The following initParameters are supported: --> + <!-- --> + <!-- acceptRanges If true, range requests and responses are --> + <!-- supported --> + <!-- --> + <!-- dirAllowed If true, directory listings are returned if no --> + <!-- welcome file is found. Else 403 Forbidden. --> + <!-- --> + <!-- redirectWelcome If true, redirect welcome file requests --> + <!-- else use request dispatcher forwards --> + <!-- --> + <!-- gzip If set to true, then static content will be served--> + <!-- as gzip content encoded if a matching resource is --> + <!-- found ending with ".gz" --> + <!-- --> + <!-- resoureBase Can be set to replace the context resource base --> + <!-- --> + <!-- relativeResourceBase --> + <!-- Set with a pathname relative to the base of the --> + <!-- servlet context root. Useful for only serving --> + <!-- static content from only specific subdirectories. --> + <!-- --> + <!-- useFileMappedBuffer --> + <!-- If set to true (the default), a memory mapped --> + <!-- file buffer will be used to serve static content --> + <!-- when using an NIO connector. Setting this value --> + <!-- to false means that a direct buffer will be used --> + <!-- instead. If you are having trouble with Windows --> + <!-- file locking, set this to false. --> + <!-- --> + <!-- cacheControl If set, all static content will have this value --> + <!-- set as the cache-control header. --> + <!-- --> + <!-- maxCacheSize Maximum size of the static resource cache --> + <!-- --> + <!-- maxCachedFileSize Maximum size of any single file in the cache --> + <!-- --> + <!-- maxCachedFiles Maximum number of files in the cache --> + <!-- --> + <!-- cacheType "nio", "bio" or "both" to determine the type(s) --> + <!-- of resource cache. A bio cached buffer may be used--> + <!-- by nio but is not as efficient as a nio buffer. --> + <!-- An nio cached buffer may not be used by bio. --> + <!-- --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet> + <servlet-name>default</servlet-name> + <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> + <init-param> + <param-name>acceptRanges</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>dirAllowed</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>redirectWelcome</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>maxCacheSize</param-name> + <param-value>256000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFileSize</param-name> + <param-value>10000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFiles</param-name> + <param-value>1000</param-value> + </init-param> + <init-param> + <param-name>cacheType</param-name> + <param-value>both</param-value> + </init-param> + <init-param> + <param-name>gzip</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>useFileMappedBuffer</param-name> + <param-value>true</param-value> + </init-param> + <!-- + <init-param> + <param-name>cacheControl</param-name> + <param-value>max-age=3600,public</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> + + + <!-- ==================================================================== --> + <!-- JSP Servlet --> + <!-- This is the jasper JSP servlet from the jakarta project --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- The JSP page compiler and execution servlet, which is the mechanism --> + <!-- used by Glassfish to support JSP pages. Traditionally, this servlet --> + <!-- is mapped to URL patterh "*.jsp". This servlet supports the --> + <!-- following initialization parameters (default values are in square --> + <!-- brackets): --> + <!-- --> + <!-- checkInterval If development is false and reloading is true, --> + <!-- background compiles are enabled. checkInterval --> + <!-- is the time in seconds between checks to see --> + <!-- if a JSP page needs to be recompiled. [300] --> + <!-- --> + <!-- compiler Which compiler Ant should use to compile JSP --> + <!-- pages. See the Ant documenation for more --> + <!-- information. [javac] --> + <!-- --> + <!-- classdebuginfo Should the class file be compiled with --> + <!-- debugging information? [true] --> + <!-- --> + <!-- classpath What class path should I use while compiling --> + <!-- generated servlets? [Created dynamically --> + <!-- based on the current web application] --> + <!-- Set to ? to make the container explicitly set --> + <!-- this parameter. --> + <!-- --> + <!-- development Is Jasper used in development mode (will check --> + <!-- for JSP modification on every access)? [true] --> + <!-- --> + <!-- enablePooling Determines whether tag handler pooling is --> + <!-- enabled [true] --> + <!-- --> + <!-- fork Tell Ant to fork compiles of JSP pages so that --> + <!-- a separate JVM is used for JSP page compiles --> + <!-- from the one Tomcat is running in. [true] --> + <!-- --> + <!-- ieClassId The class-id value to be sent to Internet --> + <!-- Explorer when using <jsp:plugin> tags. --> + <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] --> + <!-- --> + <!-- javaEncoding Java file encoding to use for generating java --> + <!-- source files. [UTF-8] --> + <!-- --> + <!-- keepgenerated Should we keep the generated Java source code --> + <!-- for each page instead of deleting it? [true] --> + <!-- --> + <!-- logVerbosityLevel The level of detailed messages to be produced --> + <!-- by this servlet. Increasing levels cause the --> + <!-- generation of more messages. Valid values are --> + <!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. --> + <!-- [WARNING] --> + <!-- --> + <!-- mappedfile Should we generate static content with one --> + <!-- print statement per input line, to ease --> + <!-- debugging? [false] --> + <!-- --> + <!-- --> + <!-- reloading Should Jasper check for modified JSPs? [true] --> + <!-- --> + <!-- suppressSmap Should the generation of SMAP info for JSR45 --> + <!-- debugging be suppressed? [false] --> + <!-- --> + <!-- dumpSmap Should the SMAP info for JSR45 debugging be --> + <!-- dumped to a file? [false] --> + <!-- False if suppressSmap is true --> + <!-- --> + <!-- scratchdir What scratch directory should we use when --> + <!-- compiling JSP pages? [default work directory --> + <!-- for the current web application] --> + <!-- --> + <!-- tagpoolMaxSize The maximum tag handler pool size [5] --> + <!-- --> + <!-- xpoweredBy Determines whether X-Powered-By response --> + <!-- header is added by generated servlet [false] --> + <!-- --> + <!-- If you wish to use Jikes to compile JSP pages: --> + <!-- Set the init parameter "compiler" to "jikes". Define --> + <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty --> + <!-- to cause Jikes to emit error messages in a format compatible with --> + <!-- Jasper. --> + <!-- If you get an error reporting that jikes can't use UTF-8 encoding, --> + <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet id="jsp"> + <servlet-name>jsp</servlet-name> + <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> + <init-param> + <param-name>logVerbosityLevel</param-name> + <param-value>DEBUG</param-value> + </init-param> + <init-param> + <param-name>fork</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>xpoweredBy</param-name> + <param-value>false</param-value> + </init-param> + <!-- + <init-param> + <param-name>classpath</param-name> + <param-value>?</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>jsp</servlet-name> + <url-pattern>*.jsp</url-pattern> + <url-pattern>*.jspf</url-pattern> + <url-pattern>*.jspx</url-pattern> + <url-pattern>*.xsp</url-pattern> + <url-pattern>*.JSP</url-pattern> + <url-pattern>*.JSPF</url-pattern> + <url-pattern>*.JSPX</url-pattern> + <url-pattern>*.XSP</url-pattern> + </servlet-mapping> + + <!-- ==================================================================== --> + <!-- Dynamic Servlet Invoker. --> + <!-- This servlet invokes anonymous servlets that have not been defined --> + <!-- in the web.xml or by other means. The first element of the pathInfo --> + <!-- of a request passed to the envoker is treated as a servlet name for --> + <!-- an existing servlet, or as a class name of a new servlet. --> + <!-- This servlet is normally mapped to /servlet/* --> + <!-- This servlet support the following initParams: --> + <!-- --> + <!-- nonContextServlets If false, the invoker can only load --> + <!-- servlets from the contexts classloader. --> + <!-- This is false by default and setting this --> + <!-- to true may have security implications. --> + <!-- --> + <!-- verbose If true, log dynamic loads --> + <!-- --> + <!-- * All other parameters are copied to the --> + <!-- each dynamic servlet as init parameters --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- Uncomment for dynamic invocation + <servlet> + <servlet-name>invoker</servlet-name> + <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class> + <init-param> + <param-name>verbose</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>nonContextServlets</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>dynamicParam</param-name> + <param-value>anyValue</param-value> + </init-param> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> + --> + + + + <!-- ==================================================================== --> + <session-config> + <session-timeout>30</session-timeout> + </session-config> + + <!-- ==================================================================== --> + <!-- Default MIME mappings --> + <!-- The default MIME mappings are provided by the mime.properties --> + <!-- resource in the org.mortbay.jetty.jar file. Additional or modified --> + <!-- mappings may be specified here --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- UNCOMMENT TO ACTIVATE + <mime-mapping> + <extension>mysuffix</extension> + <mime-type>mymime/type</mime-type> + </mime-mapping> + --> + + <!-- ==================================================================== --> + <welcome-file-list> + <welcome-file>index.html</welcome-file> + <welcome-file>index.htm</welcome-file> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + + <!-- ==================================================================== --> + <locale-encoding-mapping-list> + <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping> + </locale-encoding-mapping-list> + + <security-constraint> + <web-resource-collection> + <web-resource-name>Disable TRACE</web-resource-name> + <url-pattern>/</url-pattern> + <http-method>TRACE</http-method> + </web-resource-collection> + <auth-constraint/> + </security-constraint> + +</web-app> + Added: xmpp4js-launcher/src/main/launcher/run.bat =================================================================== --- xmpp4js-launcher/src/main/launcher/run.bat (rev 0) +++ xmpp4js-launcher/src/main/launcher/run.bat 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1 @@ +java -jar lib/start.jar \ No newline at end of file Added: xmpp4js-launcher/src/main/webapp/WEB-INF/web.xml =================================================================== --- xmpp4js-launcher/src/main/webapp/WEB-INF/web.xml (rev 0) +++ xmpp4js-launcher/src/main/webapp/WEB-INF/web.xml 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd"> + + <welcome-file-list> + <welcome-file>simpleclient.html</welcome-file> + </welcome-file-list> + + <servlet> + <servlet-name>Jabber HTTP Binding Servlet</servlet-name> + <servlet-class>org.jabber.JabberHTTPBind.JHBServlet</servlet-class> + </servlet> + + <servlet-mapping> + <servlet-name>Jabber HTTP Binding Servlet</servlet-name> + <url-pattern>/http-bind/*</url-pattern> + </servlet-mapping> +</web-app> Added: xmpp4js-launcher/src/main/webapp/simpleclient.html =================================================================== --- xmpp4js-launcher/src/main/webapp/simpleclient.html (rev 0) +++ xmpp4js-launcher/src/main/webapp/simpleclient.html 2008-02-28 18:09:23 UTC (rev 700) @@ -0,0 +1,292 @@ +<html> + <head> + <title>Xmpp4Js Sample Client</title> + <script type="text/javascript" src="scripts/lib/prototype.js"> </script> + <script type="text/javascript" src="scripts/lib/extjs2.js"></script> + <script type="text/javascript" src="scripts/lib/dom-all.js"></script> + <script type="text/javascript" src="scripts/lib/crypto.js"></script> + <script type="text/javascript" src="scripts/lib/xmpp4js.js"></script> + </head> + + <body> + <div id="login-panel"> + <form onsubmit="return client.login(this)"> + <dl> + <dt>Domain</dt> + <dd><input type="text" name="domain" value="soashable.com"/></dd> + + <dt>Username</dt> + <dd><input type="text" name="username"/></dd> + + <dt>Password</dt> + <dd><input type="password" name="password"/></dd> + + <dt></dt> + <dd><button type="submit">Login</button></dd> + </dl> + </form> + </div> + + <div id="message-panel"> + <div id="message-area"> + + </div> + <form id="message-form" onsubmit="return client.sendMessage(this)"> + <dl> + <dt>To</dt> + <dd> + <input type="text" name="to" size="30" value="ha...@so..."/> + </dd> + <dt>Message</dt> + <dd> + <textarea name="message" rows="4" cols="60"></textarea> + </dd> + <dt></dt> + <dd><button type="submit">Send</button></dd> + </dl> + </form> + </div> + + <div id="control-panel"> + <button onclick="client.close()">Disconnect.</button> + </div> + + <script type="text/javascript"> +<!-- +function SimpleClient() { + /** + * @type Xmpp4Js.Connection + */ + this.con = null; +} + +SimpleClient.prototype = { + CHAT_OPTIONS : { + ignoreResource: true, + ignoreThread: true + }, + + /** + * Connect and set handler that will attempt login + */ + login: function(form) { + // set up the connection + this.init(); + + // store this for onConnectForLogin + this.loginForm = form; + + // set a listener to call onConnectForLogin once when connected + this.con.on("connect", this.onConnectForLogin, this, {single: true} ); + + // actually connec to soashable.com. it doesn't matter what your BOSH + // server is. + this.con.connect( "soashable.com" ); + + this.logMessage( "Connecting..." ); + + // return false so the form doesn't submit + return false; + }, + + close: function() { + this.con.close(); + + // return false so the form doesn't submit + return false; + }, + + sendMessage: function(form) { + var to = form.to.value; + var messageText = form.message.value; + + var msgPacket = new Xmpp4Js.Packet.Message( to, "chat", messageText ); + + this.con.send( msgPacket ); + + this.logMessage( this.con.getJid().toString()+": "+messageText, "outgoing-chat" ); + + // return false so the form doesn't submit + return false; + }, + + /** + * Append a message to message-area. + */ + logMessage: function(msg, cssClasses) { + var msgArea = Ext.get( "message-area" ); + + this.logMessageTemplate.append( msgArea, {cssClasses: cssClasses, msg: msg} ); + + msgArea.scroll("down", 5000, true); + }, + + + /** + * Initialize the connection + * + * @private + */ + init: function() { + var stanzaProvider = new Xmpp4Js.Packet.StanzaProvider(); + stanzaProvider.registerDefaultProviders(); + + this.con = new Xmpp4Js.Connection({ + transport: { + clazz: Xmpp4Js.Transport.BOSH, + endpoint: "/http-bind/" // where your BOSH server is running. + // NOTE: same origin policy means you need some sort of proxt, or a servlet. + }, + stanzaProvider: stanzaProvider, + listeners: { + scope : this, + error : this.onError, + close : this.onClose + } + }); + + this.chatManager = Xmpp4Js.Chat.ChatManager.getInstanceFor( this.con ); + this.chatManager.setOptions(this.CHAT_OPTIONS); + + this.chatManager.on({ + scope : this, + chatStarted : this.onChatStarted, + messageReceived : this.onChatMessageReceived + }); + }, + + /** + * This is called when we connect. It performs a login. + * @private + */ + onConnectForLogin: function() { + var domain = this.loginForm.domain.value; + var username = this.loginForm.username.value; + var password = this.loginForm.password.value; + + // start the login flow + var loginFlow = new Xmpp4Js.Workflow.Login({ + con: this.con, + listeners: { + scope: this, + success: this.onLoginCompleted, + failure: this.onAuthError + } + }); + + this.logMessage( "Loggin in..." ); + + var type = username ? "plaintext" : "anon"; + loginFlow.start( type, username, password ); + }, + + /** + * We're now authenticated + * @private + */ + onLoginCompleted : function() { + + // send the initial presence packet. + this.con.send(this.con.getPacketHelper().createPresence()); + + this.logMessage( "Logged in.", "login-success" ); + + document.getElementById( "login-panel" ).style.display = "none"; + document.getElementById( "message-form" ).style.display = "block"; + document.getElementById( "control-panel" ).style.display = "block"; + }, + + /** + * + * @private + */ + onAuthError: function() { + this.logMessage( "There was authentication error. Try again.", "error" ); + }, + + /** + * @private + */ + onError : function( isTerminal, packetNode, title, message ) { + this.logMessage( "There was an error(fatal="+isTerminal+"): "+message, "error" ); + }, + + /** + * + * @private + */ + onClose : function( con ) { + this.logMessage( "Connection to "+this.con.domain+" closed." ); + + document.getElementById( "login-panel" ).style.display = "block"; + document.getElementById( "message-form" ).style.display = "none"; + document.getElementById( "control-panel" ).style.display = "none"; + + // clean house. + delete this.con; + }, + + /** + * + * @private + */ + onChatStarted : function(chat) { + this.logMessage( "Chat with " + chat.getParticipant().toString() + " started", "chat-started" ); + }, + + /** + * + * @private + */ + onChatMessageReceived : function(chat, messagePacket) { + if( messagePacket.hasContent() ) { + this.logMessage( messagePacket.getFrom() + ": " + messagePacket.getBody(), "incoming-chat" ); + } + + // else, some extension sending a message. + }, + + /** + * The template to use for log messages. + * @private + */ + logMessageTemplate: new Ext.Template( "<div class='message {cssClasses}'>{msg}</div>" ) +} + +var client = null; +Ext.onReady(function() { + client = new SimpleClient(); + + if( !Ext.isOpera && !Ext.isGecko && !Ext.isIE7 && !Ext.isSafari ) { + client.logMessage( "You're using an untested browser. Please let me know how it goes. <a href='mailto:h.i...@gm...'>h.i...@gm...</a>" ); + } + + client.logMessage( "Client ready." ); +}); + +--> + </script> + <style type="text/css"> +<!-- + +#message-area { + height: 15em; + width: 50em; + overflow: auto; + scoll: auto; + +} + +#message-form { + display: none; +} + +#control-panel { + display: none; +} + +--> + </style> + + </body> +</html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |