Date: 2005-02-15T17:29:39
   Editor: BrianLee
   Wiki: Jakarta-Slide Wiki
   Page: WebDavConstructionKit
   URL: http://wiki.apache.org/jakarta-slide/WebDavConstructionKit

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -10,6 +10,8 @@
 
 [http://jakarta.apache.org/slide/wck/javadoc/index.html API]
 
+''Feel free to make additions or corrections''
+
 WckQuickStart
 
 ==== Notes ====
@@ -22,9 +24,11 @@
 
 ===== Servlet Container and App Server Setup =====
 
-WckTomcat - This has detailed information on setting up Tomcat 5 with WCK.
+Depending on your familiarity with the application server, this section can 
either be easy or very difficult. Hopefully, this information will ease some of 
the pain.
+
+WckTomcat - This has information on setting up Tomcat 5 with WCK.
 
-WckJetty - This has detailed information on setting up Jetty with WCK.
+WckJetty - This has information on setting up Jetty 5 with WCK.
 
 ''If you have successfully used Slide with JBoss, any other servlet container, 
or application server, please post some information it does not have to be 
formal and neat - anything is better than nothing''.
 
@@ -73,15 +77,43 @@
 You need to implement the following functions.
 
  '''1.getAuthenticationSession (2x one with user/password one with user 
only):''' asks if a certain user exists and authenticated itself correctly and 
if so an object that allows access to your system, i.e. a session or connection 
or anything similiar, is passed back; in case the user has already 
authenticated correctly before only the user with no password is passed
+
+Here is an example:
+{{{
+    public Object getAuthenticationSession(String loginId, String password)
+    {
+        String cansasSession = null;
+        fakeMap.put(loginId, cansasSession);
+
+        /*
+         * make calls to your user database with your custom Data Access 
Object class and return the userid
+         */
+        UserDAO userDAO = new UserDAO();
+        UserBean userBean = userDAO.getUser(loginId);
+
+        /* ensures that the given password matches what is stored in the 
database */
+        if (userBean == null || !StringUtil.isEqual(password, 
userBean.getPassword()))
+        {
+            /*failed authentication*/
+            return null;
+        }
+        else
+        {
+            /*ex brian:123456*/
+            cansasSession = userBean.getUserId() + StringUtil.COLON + 
userBean.getPassword();
+        }
+
+        return cansasSession;
+    }
+}}}
  
  '''2.closeAuthenticationSession:''' closes the session / terminates the 
connection to your system
 
 ===== Interface Related to Connection Pool Management =====
 
-[http://jakarta.apache.org/slide/wck/javadoc/org/apache/slide/simple/authentication/AbstractPoolingConnectionManager.html
 org.apache.slide.simple.authentication.AbstractPoolingConnectionManager] is a 
connection pool framework.
+[http://jakarta.apache.org/slide/wck/javadoc/org/apache/slide/simple/authentication/AbstractPoolingConnectionManager.html
 org.apache.slide.simple.authentication.AbstractPoolingConnectionManager] is a 
connection pool framework. You do not need to create an implementation of this 
class. You can easily use your app server's connection pool features and simply 
put the calls in other classes called by your custom store class.
 
-
-You need to implement the following functions.
+However, if you do decide to implement a connection manager based on Slide 
code, you need to implement the following functions.
 
  '''1.closePhysicalConnection:''' Closes a physical connection
 
@@ -114,13 +146,13 @@
 <nodestore classname="org.apache.slide.store.simple.WebdavStoreAdapter">
 }}}
 
-First the nodestore class reference must be changed to the above 
WebdavStoreAdapter
+First the nodestore class reference must be changed to the above 
WebdavStoreAdapter class. This class will deal with most of Slide's extra calls 
that deal with locking, and so on.
 
 {{{
 <parameter 
name="callback-store">org.apache.slide.store.simple.WebdavFileStore</parameter>
 }}}
 
-The "callback-store" parameter value must point to your WebdavFileStore 
implementation (remember your class must implement the BasicWebdavStore 
interface - as shown above). Here it points to the given WebdavFileStore 
example.
+The "callback-store" parameter value must point to your WebdavFileStore 
implementation (remember your class must implement the BasicWebdavStore 
interface - as shown above). Here the given WebdavFileStore reference store 
implementation. It is recommended that you analyze it.
 
 ==== Overring the slide.properties file ====
 
@@ -130,20 +162,4 @@
 
 ''Posted by Alessandro Apostoli to the Slide user list''
 
-I have a static Map to hold the lockids to be returned
-by getLockInfo(). Every call to lockObject() generates
-an exclusive lock on my proprietary system and stores
-the pair (uri,lockId) in the map for later retrieval, this for
-webdav locks only.
-Each call to getLockInfo() first checks if there is a lock
-in the proprietary system and if not it returns a SimpleLock[0]
-If  the resource is locked it has to determine if it was locked
-via webdav or via proprietary interface so it checks if there's an
-entry in the map for that lock. If so it returns it, if there's no entry
-in the map and the resource is locked it has to generate a valid
-lockId, store it in the map for subsequent calls to getLockInfo()
-and return it. My system supports only one lock per resource so
-the key in my map is the uri, I also used the uri to generate the
-lockId string with a call to DigestUtils.md5Hex(uri).
-As one might  expect a call to unlockObject() removes the entry
-from the map and unlocks the resource.
+I have a static Map to hold the lockids to be returned by getLockInfo(). Every 
call to lockObject() generates an exclusive lock on my proprietary system and 
stores the pair (uri,lockId) in the map for later retrieval, this for webdav 
locks only. Each call to getLockInfo() first checks if there is a lock in the 
proprietary system and if not it returns a SimpleLock[0] If  the resource is 
locked it has to determine if it was locked via webdav or via proprietary 
interface so it checks if there's an entry in the map for that lock. If so it 
returns it, if there's no entry in the map and the resource is locked it has to 
generate a valid lockId, store it in the map for subsequent calls to 
getLockInfo() and return it. My system supports only one lock per resource so 
the key in my map is the uri, I also used the uri to generate the lockId string 
with a call to DigestUtils.md5Hex(uri). As one might  expect a call to 
unlockObject() removes the entry from the map and unlocks the resource.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to