You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by ma...@apache.org on 2004/08/03 19:39:17 UTC
cvs commit: jakarta-slide/src/stores/org/apache/slide/store/txjndi JNDIPrincipalStore.java
masonjm 2004/08/03 10:39:17
Modified: src/stores/org/apache/slide/store/txjndi
JNDIPrincipalStore.java
Log:
- Cleaned up javadoc a little
- Now implements SecurityStore and LockStore to remove dependency on other Store implementations.
Revision Changes Path
1.5 +67 -9 jakarta-slide/src/stores/org/apache/slide/store/txjndi/JNDIPrincipalStore.java
Index: JNDIPrincipalStore.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/txjndi/JNDIPrincipalStore.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JNDIPrincipalStore.java 28 Jul 2004 09:33:55 -0000 1.4
+++ JNDIPrincipalStore.java 3 Aug 2004 17:39:17 -0000 1.5
@@ -24,6 +24,7 @@
package org.apache.slide.store.txjndi;
import java.util.ArrayList;
+import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.NoSuchElementException;
@@ -66,10 +67,15 @@
import org.apache.slide.content.RevisionAlreadyExistException;
import org.apache.slide.content.RevisionDescriptorNotFoundException;
import org.apache.slide.content.RevisionNotFoundException;
+import org.apache.slide.lock.LockTokenNotFoundException;
+import org.apache.slide.lock.NodeLock;
+import org.apache.slide.security.NodePermission;
import org.apache.slide.store.ContentStore;
+import org.apache.slide.store.LockStore;
import org.apache.slide.store.NodeStore;
import org.apache.slide.store.RevisionDescriptorStore;
import org.apache.slide.store.RevisionDescriptorsStore;
+import org.apache.slide.store.SecurityStore;
import org.apache.slide.structure.ObjectAlreadyExistsException;
import org.apache.slide.structure.ObjectNode;
import org.apache.slide.structure.ObjectNotFoundException;
@@ -94,7 +100,7 @@
* <p>
* To use this Store your app server must be setup to authenticate
* users using the LDAP server. For Tomcat 5 see
- * http://jakarta.apache.org/tomcat/tomcat-5.0-doc/realm-howto.html#JNDIRealm.
+ * <a href="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/realm-howto.html#JNDIRealm">this</a>.
* You cannot use the SlideRealm to authenticate users because this Store
* does not expose a <span style="font-style: italic;">password</span>
* property.
@@ -144,14 +150,14 @@
* <dd>
* The filter string to use for the search. Example: <em>(objectClass=inetOrgPerson)</em>.
* The default value is <em>(objectClass=*)</em>.
- * @see http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/DirContext.html#search(javax.naming.Name,%20java.lang.String,%20javax.naming.directory.SearchControls)
+ * See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/DirContext.html#search(javax.naming.Name,%20java.lang.String,%20javax.naming.directory.SearchControls)">DirContext.search()</a> javadoc.
* </dd>
*
* <dt>jndi.search.scope</dt>
* <dd>
* The Scope of the search. Can be one of <em>OBJECT_SCOPE</em>, <em>ONELEVEL_SCOPE</em>,
* <em>SUBTREE_SCOPE</em>. The default value is <em>ONELEVEL_SCOPE</em>.
- * @see http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/SearchControls.html#OBJECT_SCOPE
+ * See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/SearchControls.html#OBJECT_SCOPE">SearchControls</a> javadoc.
* </dd>
*
* <dt>jndi.search.attributes</dt>
@@ -163,7 +169,7 @@
* <dt>java.naming.*</dt>
* <dd>
* Parameters for connecting to the LDAP server.
- * @see http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/InitialContext.html
+ * See the <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/InitialContext.html">InitialContext</a> javadoc.
* </dd>
* </dl>
*
@@ -227,8 +233,8 @@
*/
public class JNDIPrincipalStore
extends AbstractXAService
- implements ContentStore, NodeStore, RevisionDescriptorStore,
- RevisionDescriptorsStore {
+ implements ContentStore, LockStore, NodeStore, RevisionDescriptorStore,
+ RevisionDescriptorsStore, SecurityStore {
public static final String CACHE_NAME = JNDIPrincipalStore.class.getName();
public static final String CACHE_OBJECT_PREFIX = "object: ";
@@ -646,6 +652,58 @@
public void removeRevisionContent( Uri uri, NodeRevisionDescriptor revisionDescriptor )
throws ServiceAccessException {}
+
+ // --------------------------------------------------- Security Store Methods ---------------
+
+ public void grantPermission(Uri uri, NodePermission permission) throws ServiceAccessException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void revokePermission(Uri uri, NodePermission permission) throws ServiceAccessException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void revokePermissions(Uri uri) throws ServiceAccessException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Always returns read access for all users.
+ */
+ public Enumeration enumeratePermissions(Uri uri) throws ServiceAccessException {
+ Vector permissions = new Vector();
+ permissions.add( new NodePermission( uri.toString(), "all", "/actions/read" ) );
+ return permissions.elements();
+ }
+
+ // --------------------------------------------------- LockStore Methods ---------------
+
+ public void putLock(Uri uri, NodeLock lock) throws ServiceAccessException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void renewLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void killLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Enumeration enumerateLocks(Uri uri) throws ServiceAccessException {
+ return new Vector().elements();
+ }
// --------------------------------------------------- Worker Methods ---------------
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org