[JDEV] Java Jabber Server... Now usable :)

al at alsutton.com al at alsutton.com
Thu Jul 5 16:21:35 CDT 2001


Matt,

I'm going to document this, but at the moment the approach is the former. The interface is as follows;

-- CODE SNIPPET --
/*
  Copyright (c) 2001 Al Sutton (al at alsutton.com)
  All rights reserved.
  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.

  Neither the name of Al Sutton nor alsutton.com may be used to endorse or promote
  products derived from this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS 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 THE REGENTS OR 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.
*/

/*
   Note on funding

   If you feel my work on this project is worth something, please make a donation
   to my paypal account (al at alsutton.com) at http://www.paypal.com/
 */

package com.alsutton.jabberserver;

import java.io.*;

import com.alsutton.xmlparser.objectmodel.*;

/**
 * Interface implemented by all classes wishing to act as the loader for
 * XDB user files.
 */

public interface XDBStorageInterface
{
  /**
   * Method to load the XDB file for a specific user
   *
   * @param username The username of the user to load the XDB file for.
   * @param serverName The name of the server the user is on
   * @return The XDB file root node as an com.alsutton.xmlparser.objectmodel.Node
   *  object.
   */

  public Node load( String username, String serverName )
    throws IOException;

  /**
   * Method to save the XDB file for a specific user
   *
   * @param username The username of the user to load the XDB file for.
   * @param serverName The name of the server the user is on
   * @param xdbFile The XDB file root node as a
   *  com.alsutton.xmlparser.objectmodel.Node object.
   */

  public void save( String username, String serverName,  Node xdbFile )
    throws IOException;
}

-- END OF CODE SNIPPET --

A Node object is an extension to my XML processor for which the javadoc is at http://www.alsutton.com/jabserv/docs/Node.html

As for licencing. I'm kind of hoping to get some money from this in order to pay for my web hosting costs (and take my wife out for a "thank you for putting up with me at the computer for hours on end" dinner). My current thought is distributing to those who donate to the project, although I'm open to discussion (off the list please).

Al.



>> Original Message from Matt Diez <matt at vedalabs.com> on Thu, 5 Jul 2001 09:33:01 -0500 <<



I see the jabberserver.xdb.storageinterface paramter. 

This, of course, should point to a class, which 
handles xdb storage. Are you making this some
sort of abstract class/interface from which new
classes will be developed to directly handle
the various storage messages, where the backends
are directly written as Java classes, or is this
to become much like the existing server's xdb
component, one which can handle base_connect, 
base_accept, and base_exec style routing to
various xdb_backends.

And, if the case with the former, it needs not
be said that existing xdb backends would need
be rewritten (see: xdb_odbc, xdb_ldap, my own
xdb_java). 

Could it also be considered to have perhaps a
service class which defines external service
connections, and extend this functionality
into an xdb class, handling connects/accepts/
execs much like the current server behaves? 

Also: Decided on a license, yet? When can we
peek at your source?

Matt Diez

-----Original Message-----
From: al at alsutton.com [mailto:al at alsutton.com]
Sent: Thursday, July 05, 2001 9:35 AM
To: jdev at jabber.org
Cc: al at alsutton.com
Subject: [JDEV] Java Jabber Server... Now usable :)


All,

The first "useful" release of the Java Jabber server is now available. It
allows multiple users to login into the server, send messages between them,
and send subscription requests between them.

It does not currently report availability statuses to other users (this is
comming).

Its available from http://www.alsutton.com/jabserv/ 
The config options are detailed at
http://www.alsutton.com/jabserv/docs/configurationparameters.html

The links to other pages on the config options page are broken. This is also
being worked on.

Please download and enjoy,

Al.
-- 
Al Sutton

Web: http://www.alsutton.com/
Email: al at alsutton.com
Jabber: al at personalbuddy.com

_______________________________________________
jdev mailing list
jdev at jabber.org
http://mailman.jabber.org/listinfo/jdev

--


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>RE: [JDEV] Java Jabber Server... Now usable :)</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>I see the jabberserver.xdb.storageinterface paramter. =
</FONT>
</P>

<P><FONT SIZE=3D2>This, of course, should point to a class, which =
</FONT>
<BR><FONT SIZE=3D2>handles xdb storage. Are you making this some</FONT>
<BR><FONT SIZE=3D2>sort of abstract class/interface from which =
new</FONT>
<BR><FONT SIZE=3D2>classes will be developed to directly handle</FONT>
<BR><FONT SIZE=3D2>the various storage messages, where the =
backends</FONT>
<BR><FONT SIZE=3D2>are directly written as Java classes, or is =
this</FONT>
<BR><FONT SIZE=3D2>to become much like the existing server's xdb</FONT>
<BR><FONT SIZE=3D2>component, one which can handle base_connect, =
</FONT>
<BR><FONT SIZE=3D2>base_accept, and base_exec style routing to</FONT>
<BR><FONT SIZE=3D2>various xdb_backends.</FONT>
</P>

<P><FONT SIZE=3D2>And, if the case with the former, it needs not</FONT>
<BR><FONT SIZE=3D2>be said that existing xdb backends would need</FONT>
<BR><FONT SIZE=3D2>be rewritten (see: xdb_odbc, xdb_ldap, my own</FONT>
<BR><FONT SIZE=3D2>xdb_java). </FONT>
</P>

<P><FONT SIZE=3D2>Could it also be considered to have perhaps a</FONT>
<BR><FONT SIZE=3D2>service class which defines external service</FONT>
<BR><FONT SIZE=3D2>connections, and extend this functionality</FONT>
<BR><FONT SIZE=3D2>into an xdb class, handling connects/accepts/</FONT>
<BR><FONT SIZE=3D2>execs much like the current server behaves? </FONT>
</P>

<P><FONT SIZE=3D2>Also: Decided on a license, yet? When can we</FONT>
<BR><FONT SIZE=3D2>peek at your source?</FONT>
</P>

<P><FONT SIZE=3D2>Matt Diez</FONT>
</P>

<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: al at alsutton.com [<A =
HREF=3D"mailto:al at alsutton.com">mailto:al at alsutton.com</A>]</FONT>
<BR><FONT SIZE=3D2>Sent: Thursday, July 05, 2001 9:35 AM</FONT>
<BR><FONT SIZE=3D2>To: jdev at jabber.org</FONT>
<BR><FONT SIZE=3D2>Cc: al at alsutton.com</FONT>
<BR><FONT SIZE=3D2>Subject: [JDEV] Java Jabber Server... Now usable =
:)</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>All,</FONT>
</P>

<P><FONT SIZE=3D2>The first "useful" release of the Java =
Jabber server is now available. It allows multiple users to login into =
the server, send messages between them, and send subscription requests =
between them.</FONT></P>

<P><FONT SIZE=3D2>It does not currently report availability statuses to =
other users (this is comming).</FONT>
</P>

<P><FONT SIZE=3D2>Its available from <A =
HREF=3D"http://www.alsutton.com/jabserv/" =
TARGET=3D"_blank">http://www.alsutton.com/jabserv/</A> </FONT>
<BR><FONT SIZE=3D2>The config options are detailed at <A =
HREF=3D"http://www.alsutton.com/jabserv/docs/configurationparameters.htm=
l" =
TARGET=3D"_blank">http://www.alsutton.com/jabserv/docs/configurationpara=
meters.html</A></FONT>
</P>

<P><FONT SIZE=3D2>The links to other pages on the config options page =
are broken. This is also being worked on.</FONT>
</P>

<P><FONT SIZE=3D2>Please download and enjoy,</FONT>
</P>

<P><FONT SIZE=3D2>Al.</FONT>
<BR><FONT SIZE=3D2>-- </FONT>
<BR><FONT SIZE=3D2>Al Sutton</FONT>
</P>

<P><FONT SIZE=3D2>Web: <A HREF=3D"http://www.alsutton.com/" =
TARGET=3D"_blank">http://www.alsutton.com/</A></FONT>
<BR><FONT SIZE=3D2>Email: al at alsutton.com</FONT>
<BR><FONT SIZE=3D2>Jabber: al at personalbuddy.com</FONT>
</P>

<P><FONT =
SIZE=3D2>_______________________________________________</FONT>
<BR><FONT SIZE=3D2>jdev mailing list</FONT>
<BR><FONT SIZE=3D2>jdev at jabber.org</FONT>
<BR><FONT SIZE=3D2><A HREF=3D"http://mailman.jabber.org/listinfo/jdev" =
TARGET=3D"_blank">http://mailman.jabber.org/listinfo/jdev</A></FONT>
</P>

</BODY>
</HTML>
--

-- 
Al Sutton

Web: http://www.alsutton.com/
Email: al at alsutton.com
Jabber: al at personalbuddy.com




More information about the JDev mailing list