From 7efeb9793da03e68cb45bc07e7bc9294dde60f28 Mon Sep 17 00:00:00 2001 From: Gaston Dombiak Date: Mon, 16 Feb 2004 17:19:30 +0000 Subject: [PATCH] Initial check-in git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2228 b35dd754-fafc-0310-a699-88a17e54d16e --- sample/web/addContact.jsp | 137 ++++++++++++++++++++++++++ sample/web/chat.jsp | 60 ++++++++++++ sample/web/global.jsp | 66 +++++++++++++ sample/web/index.jsp | 53 +++++++++++ sample/web/login.jsp | 190 +++++++++++++++++++++++++++++++++++++ sample/web/moveContact.jsp | 60 ++++++++++++ 6 files changed, 566 insertions(+) create mode 100644 sample/web/addContact.jsp create mode 100644 sample/web/chat.jsp create mode 100644 sample/web/global.jsp create mode 100644 sample/web/index.jsp create mode 100644 sample/web/login.jsp create mode 100644 sample/web/moveContact.jsp 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 rosterView roster
 
+ + + + + +
  + + + + + + +
Contact + Information
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Username:  (e.g. + johndoe@jabber.org)
Nickname:
Group 1:">
Group 2:
  
 
+ + 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! View roster + + 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
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Host:">
Port:">
Use SSL:
  
Debug Connection:
  
Username:">
Password:">
Resource:">
  
 
+ + 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! View roster + +