diff --git a/sample/web/addContact.jsp b/sample/web/addContact.jsp
new file mode 100644
index 000000000..a6cce497b
--- /dev/null
+++ b/sample/web/addContact.jsp
@@ -0,0 +1,137 @@
+<%--
+ - $$RCSfile$$
+ - $$Revision$$
+ - $$Date$$
+ -
+ - Copyright (C) 2002-2003 Jive Software. All rights reserved.
+ -
+ - The Jive Software License (based on Apache Software License, Version 1.1)
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions
+ - are met:
+ -
+ - 1. Redistributions of source code must retain the above copyright
+ - notice, this list of conditions and the following disclaimer.
+ -
+ - 2. Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in
+ - the documentation and/or other materials provided with the
+ - distribution.
+ -
+ - 3. The end-user documentation included with the redistribution,
+ - if any, must include the following acknowledgment:
+ - "This product includes software developed by
+ - Jive Software (http://www.jivesoftware.com)."
+ - Alternately, this acknowledgment may appear in the software itself,
+ - if and wherever such third-party acknowledgments normally appear.
+ -
+ - 4. The names "Smack" and "Jive Software" must not be used to
+ - endorse or promote products derived from this software without
+ - prior written permission. For written permission, please
+ - contact webmaster@jivesoftware.com.
+ -
+ - 5. Products derived from this software may not be called "Smack",
+ - nor may "Smack" appear in their name, without prior written
+ - permission of Jive Software.
+ -
+ - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ - DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
+ - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ - SUCH DAMAGE.
+ --%>
+<%@ page import="java.util.*,
+ org.jivesoftware.smack.*,
+ org.jivesoftware.smack.packet.*,
+ org.jivesoftware.smack.util.*"%>
+<%@ include file="global.jsp" %>
+<%
+ // If we don't have a valid connection then proceed to login
+ XMPPConnection conn = (XMPPConnection) session.getAttribute("connection");
+ if (conn == null || !conn.isConnected()) {
+ response.sendRedirect("login.jsp");
+ return;
+ }
+ Roster roster = conn.getRoster();
+
+ // Get parameters
+ String user = getParameter(request, "user");
+ String nickname = getParameter(request, "nickname");
+ String group1 = getParameter(request, "group1");
+ String group2 = getParameter(request, "group2");
+
+ if (user != null) {
+ roster.createEntry(user, nickname, new String[] {group1, group2});
+ response.sendRedirect("viewRoster.jsp");
+ return;
+ }
+%>
+
+
+Add Contact
+
+
+
+
+
+
+
Add contact to roster
+
+
+
+
+
+
+
+
+
+
+
+
Contact
+ Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sample/web/chat.jsp b/sample/web/chat.jsp
new file mode 100644
index 000000000..db7ada888
--- /dev/null
+++ b/sample/web/chat.jsp
@@ -0,0 +1,60 @@
+<%--
+ - $$RCSfile$$
+ - $$Revision$$
+ - $$Date$$
+ -
+ - Copyright (C) 2002-2003 Jive Software. All rights reserved.
+ -
+ - The Jive Software License (based on Apache Software License, Version 1.1)
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions
+ - are met:
+ -
+ - 1. Redistributions of source code must retain the above copyright
+ - notice, this list of conditions and the following disclaimer.
+ -
+ - 2. Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in
+ - the documentation and/or other materials provided with the
+ - distribution.
+ -
+ - 3. The end-user documentation included with the redistribution,
+ - if any, must include the following acknowledgment:
+ - "This product includes software developed by
+ - Jive Software (http://www.jivesoftware.com)."
+ - Alternately, this acknowledgment may appear in the software itself,
+ - if and wherever such third-party acknowledgments normally appear.
+ -
+ - 4. The names "Smack" and "Jive Software" must not be used to
+ - endorse or promote products derived from this software without
+ - prior written permission. For written permission, please
+ - contact webmaster@jivesoftware.com.
+ -
+ - 5. Products derived from this software may not be called "Smack",
+ - nor may "Smack" appear in their name, without prior written
+ - permission of Jive Software.
+ -
+ - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ - DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
+ - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ - SUCH DAMAGE.
+ --%>
+
+
+Chat with contact
+
+
+
+
+
+Not implemented yet!
+
+
diff --git a/sample/web/global.jsp b/sample/web/global.jsp
new file mode 100644
index 000000000..202cc659c
--- /dev/null
+++ b/sample/web/global.jsp
@@ -0,0 +1,66 @@
+<%--
+ - $$RCSfile$$
+ - $$Revision$$
+ - $$Date$$
+ -
+ - Copyright (C) 2002-2003 Jive Software. All rights reserved.
+ -
+ - The Jive Software License (based on Apache Software License, Version 1.1)
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions
+ - are met:
+ -
+ - 1. Redistributions of source code must retain the above copyright
+ - notice, this list of conditions and the following disclaimer.
+ -
+ - 2. Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in
+ - the documentation and/or other materials provided with the
+ - distribution.
+ -
+ - 3. The end-user documentation included with the redistribution,
+ - if any, must include the following acknowledgment:
+ - "This product includes software developed by
+ - Jive Software (http://www.jivesoftware.com)."
+ - Alternately, this acknowledgment may appear in the software itself,
+ - if and wherever such third-party acknowledgments normally appear.
+ -
+ - 4. The names "Smack" and "Jive Software" must not be used to
+ - endorse or promote products derived from this software without
+ - prior written permission. For written permission, please
+ - contact webmaster@jivesoftware.com.
+ -
+ - 5. Products derived from this software may not be called "Smack",
+ - nor may "Smack" appear in their name, without prior written
+ - permission of Jive Software.
+ -
+ - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ - DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
+ - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ - SUCH DAMAGE.
+ --%>
+<%!
+ public static String getParameter(HttpServletRequest request, String name)
+ {
+ String temp = request.getParameter(name);
+ if (temp != null) {
+ if (temp.equals("")) {
+ return null;
+ }
+ else {
+ return temp;
+ }
+ }
+ else {
+ return null;
+ }
+ }
+%>
\ No newline at end of file
diff --git a/sample/web/index.jsp b/sample/web/index.jsp
new file mode 100644
index 000000000..9aa774326
--- /dev/null
+++ b/sample/web/index.jsp
@@ -0,0 +1,53 @@
+<%--
+ - $$RCSfile$$
+ - $$Revision$$
+ - $$Date$$
+ -
+ - Copyright (C) 2002-2003 Jive Software. All rights reserved.
+ -
+ - The Jive Software License (based on Apache Software License, Version 1.1)
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions
+ - are met:
+ -
+ - 1. Redistributions of source code must retain the above copyright
+ - notice, this list of conditions and the following disclaimer.
+ -
+ - 2. Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in
+ - the documentation and/or other materials provided with the
+ - distribution.
+ -
+ - 3. The end-user documentation included with the redistribution,
+ - if any, must include the following acknowledgment:
+ - "This product includes software developed by
+ - Jive Software (http://www.jivesoftware.com)."
+ - Alternately, this acknowledgment may appear in the software itself,
+ - if and wherever such third-party acknowledgments normally appear.
+ -
+ - 4. The names "Smack" and "Jive Software" must not be used to
+ - endorse or promote products derived from this software without
+ - prior written permission. For written permission, please
+ - contact webmaster@jivesoftware.com.
+ -
+ - 5. Products derived from this software may not be called "Smack",
+ - nor may "Smack" appear in their name, without prior written
+ - permission of Jive Software.
+ -
+ - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ - DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
+ - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ - SUCH DAMAGE.
+ --%>
+
+<% response.sendRedirect("login.jsp");
+ return;
+%>
\ No newline at end of file
diff --git a/sample/web/login.jsp b/sample/web/login.jsp
new file mode 100644
index 000000000..09f75d90f
--- /dev/null
+++ b/sample/web/login.jsp
@@ -0,0 +1,190 @@
+<%--
+ - $$RCSfile$$
+ - $$Revision$$
+ - $$Date$$
+ -
+ - Copyright (C) 2002-2003 Jive Software. All rights reserved.
+ -
+ - The Jive Software License (based on Apache Software License, Version 1.1)
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions
+ - are met:
+ -
+ - 1. Redistributions of source code must retain the above copyright
+ - notice, this list of conditions and the following disclaimer.
+ -
+ - 2. Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in
+ - the documentation and/or other materials provided with the
+ - distribution.
+ -
+ - 3. The end-user documentation included with the redistribution,
+ - if any, must include the following acknowledgment:
+ - "This product includes software developed by
+ - Jive Software (http://www.jivesoftware.com)."
+ - Alternately, this acknowledgment may appear in the software itself,
+ - if and wherever such third-party acknowledgments normally appear.
+ -
+ - 4. The names "Smack" and "Jive Software" must not be used to
+ - endorse or promote products derived from this software without
+ - prior written permission. For written permission, please
+ - contact webmaster@jivesoftware.com.
+ -
+ - 5. Products derived from this software may not be called "Smack",
+ - nor may "Smack" appear in their name, without prior written
+ - permission of Jive Software.
+ -
+ - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ - DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
+ - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ - SUCH DAMAGE.
+ --%>
+<%@ page import="org.jivesoftware.smack.*"%>
+<%@ include file="global.jsp" %>
+<%
+ // If we already got a connection then proceed to view the roster
+ XMPPConnection conn = (XMPPConnection) session.getAttribute("connection");
+ if (conn != null && conn.isConnected()) {
+ response.sendRedirect("viewRoster.jsp");
+ return;
+ }
+
+ // Get parameters
+ String host = getParameter(request, "host");
+ String port = getParameter(request, "port");
+ String ssl = getParameter(request, "ssl");
+ String debug = getParameter(request, "debug");
+ String username = getParameter(request, "username");
+ String password = getParameter(request, "password");
+ String resource = getParameter(request, "resource");
+ String error = getParameter(request, "error");
+
+ // Try to connect to the server
+ if (error == null && host != null && port != null) {
+ XMPPConnection.DEBUG_ENABLED = "Yes".equals(debug);
+ try {
+ if ("No".equals(ssl)) {
+ conn = new XMPPConnection(host, Integer.parseInt(port));
+ }
+ else {
+ conn = new SSLXMPPConnection(host, Integer.parseInt(port));
+ }
+ // Add listener for messages (offline messages will be listen here)
+
+ // Set the roster subscription mode to use
+
+ // Login to the server
+ conn.login(username, password, resource);
+ session.setAttribute("connection", conn);
+ }
+ catch (Exception e) {
+ error = e.getMessage();
+ // Replace any char : because otherwise the URL will get corrupted
+ error = error.replace(':', '-');
+ response.sendRedirect("login.jsp?host="+host+"&port="+port+"&ssl="+ssl+"&error="+error);
+ return;
+ }
+ // Redirect to the next page
+ response.sendRedirect("viewRoster.jsp");
+ return;
+ }
+%>
+
+
+Login
+
+
+
+
+
+
Smack Demo Application
+
+
+
+ <% if (error != null) { %>
+
<%= error %>
+ <%} else {%>
+
+ <%}%>
+
+
+
+
+
+
+
+
+
Login
+ Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sample/web/moveContact.jsp b/sample/web/moveContact.jsp
new file mode 100644
index 000000000..f79c304a9
--- /dev/null
+++ b/sample/web/moveContact.jsp
@@ -0,0 +1,60 @@
+<%--
+ - $$RCSfile$$
+ - $$Revision$$
+ - $$Date$$
+ -
+ - Copyright (C) 2002-2003 Jive Software. All rights reserved.
+ -
+ - The Jive Software License (based on Apache Software License, Version 1.1)
+ - Redistribution and use in source and binary forms, with or without
+ - modification, are permitted provided that the following conditions
+ - are met:
+ -
+ - 1. Redistributions of source code must retain the above copyright
+ - notice, this list of conditions and the following disclaimer.
+ -
+ - 2. Redistributions in binary form must reproduce the above copyright
+ - notice, this list of conditions and the following disclaimer in
+ - the documentation and/or other materials provided with the
+ - distribution.
+ -
+ - 3. The end-user documentation included with the redistribution,
+ - if any, must include the following acknowledgment:
+ - "This product includes software developed by
+ - Jive Software (http://www.jivesoftware.com)."
+ - Alternately, this acknowledgment may appear in the software itself,
+ - if and wherever such third-party acknowledgments normally appear.
+ -
+ - 4. The names "Smack" and "Jive Software" must not be used to
+ - endorse or promote products derived from this software without
+ - prior written permission. For written permission, please
+ - contact webmaster@jivesoftware.com.
+ -
+ - 5. Products derived from this software may not be called "Smack",
+ - nor may "Smack" appear in their name, without prior written
+ - permission of Jive Software.
+ -
+ - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ - DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
+ - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ - SUCH DAMAGE.
+ --%>
+
+
+Move entry
+
+
+
+
+
+Not implemented yet!
+
+