You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by vt...@apache.org on 2004/03/04 06:54:54 UTC
svn commit: rev 6986 - in incubator/directory/janus/trunk/script/src: java/org/apache/janus/script java/org/apache/janus/script/xml test/org/apache/janus/script/xml
Author: vtence
Date: Wed Mar 3 21:06:44 2004
New Revision: 6986
Modified:
incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/NullRealmBuilderMonitor.java
incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/xml/Dom4JRealmBuilder.java
incubator/directory/janus/trunk/script/src/test/org/apache/janus/script/xml/Dom4JRealmBuilderTest.java
Log:
o Refactored to keep things simple
Modified: incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/NullRealmBuilderMonitor.java
==============================================================================
--- incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/NullRealmBuilderMonitor.java (original)
+++ incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/NullRealmBuilderMonitor.java Wed Mar 3 21:06:44 2004
@@ -14,10 +14,9 @@
* limitations under the License.
*
*/
-package org.apache.janus.script.xml;
+package org.apache.janus.script;
import org.apache.janus.authentication.CredentialSet;
-import org.apache.janus.script.RealmBuilderMonitor;
/**
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
Modified: incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/xml/Dom4JRealmBuilder.java
==============================================================================
--- incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/xml/Dom4JRealmBuilder.java (original)
+++ incubator/directory/janus/trunk/script/src/java/org/apache/janus/script/xml/Dom4JRealmBuilder.java Wed Mar 3 21:06:44 2004
@@ -19,12 +19,16 @@
import org.apache.janus.authentication.Credential;
import org.apache.janus.authentication.CredentialSet;
import org.apache.janus.authentication.realm.MutableRealm;
+import org.apache.janus.script.NullRealmBuilderMonitor;
import org.apache.janus.script.RealmBuilder;
import org.apache.janus.script.RealmBuilderMonitor;
import org.dom4j.Document;
+import org.dom4j.DocumentException;
import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
import java.io.IOException;
+import java.io.Reader;
import java.util.Iterator;
import java.util.List;
@@ -37,12 +41,18 @@
*/
public class Dom4JRealmBuilder implements RealmBuilder
{
- private final Document m_doc;
private final RealmBuilderMonitor m_monitor;
+ private Document m_doc;
- public Dom4JRealmBuilder( Document doc, RealmBuilderMonitor monitor )
+ public Dom4JRealmBuilder( Reader reader ) throws DocumentException
{
- m_doc = doc;
+ this( reader, new NullRealmBuilderMonitor() );
+ }
+
+ public Dom4JRealmBuilder( Reader reader, RealmBuilderMonitor monitor )
+ throws DocumentException
+ {
+ m_doc = readDocument( reader );
m_monitor = monitor;
}
@@ -69,5 +79,13 @@
boolean added = realm.addIdentity( creds );
if ( !added ) m_monitor.duplicateIdentity( creds );
}
+ }
+
+ private Document readDocument( Reader reader ) throws DocumentException
+ {
+ SAXReader xmlReader = new SAXReader();
+ Document doc = xmlReader.read( reader );
+
+ return doc;
}
}
Modified: incubator/directory/janus/trunk/script/src/test/org/apache/janus/script/xml/Dom4JRealmBuilderTest.java
==============================================================================
--- incubator/directory/janus/trunk/script/src/test/org/apache/janus/script/xml/Dom4JRealmBuilderTest.java (original)
+++ incubator/directory/janus/trunk/script/src/test/org/apache/janus/script/xml/Dom4JRealmBuilderTest.java Wed Mar 3 21:06:44 2004
@@ -24,9 +24,8 @@
import org.apache.janus.authentication.realm.MutableRealm;
import org.apache.janus.authentication.realm.UsernamePasswordAuthentication;
import org.apache.janus.script.RealmBuilderMonitor;
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.dom4j.tree.DefaultDocument;
+
+import java.io.StringReader;
/**
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
@@ -44,7 +43,7 @@
public void testSimpleBuild() throws Exception
{
- Dom4JRealmBuilder builder = new Dom4JRealmBuilder( simpleRealm(), new NullRealmBuilderMonitor() );
+ Dom4JRealmBuilder builder = new Dom4JRealmBuilder( new StringReader( simpleRealm() ) );
Mock mockRealm = new Mock( MutableRealm.class );
mockRealm.expectAndReturn( "addIdentity", johnCredentials(), true );
@@ -55,19 +54,16 @@
mockRealm.verify();
}
- private Document simpleRealm()
+ private String simpleRealm()
{
- Document doc = new DefaultDocument();
- Element root = doc.addElement( "realm" );
- Element users = root.addElement( "users" );
- Element john = users.addElement( "user" );
- john.addAttribute( "username", "john" );
- john.addAttribute( "password", "doe" );
- Element jane = users.addElement( "user" );
- jane.addAttribute( "username", "jane" );
- jane.addAttribute( "password", "doe" );
-
- return doc;
+ String content = "<?xml version=\"1.0\"?>\n"
+ + "<realm>\n"
+ + " <users>\n"
+ + " <user username=\"john\" password=\"doe\"/>\n"
+ + " <user username=\"jane\" password=\"doe\"/>\n"
+ + " </users>\n"
+ + "</realm>";
+ return content;
}
private CredentialSet johnCredentials()
@@ -89,7 +85,8 @@
public void testNotifiesOfDuplicateIdentities() throws Exception
{
Mock mockMonitor = new Mock( RealmBuilderMonitor.class );
- Dom4JRealmBuilder builder = new Dom4JRealmBuilder( realmWithDuplicateIdentity(),
+ Dom4JRealmBuilder builder = new Dom4JRealmBuilder(
+ new StringReader( realmWithDuplicateIdentity() ),
(RealmBuilderMonitor) mockMonitor.proxy() );
mockMonitor.expect( "duplicateIdentity", johnCredentials() );
@@ -98,18 +95,15 @@
mockMonitor.verify();
}
- private Document realmWithDuplicateIdentity()
+ private String realmWithDuplicateIdentity()
{
- Document doc = new DefaultDocument();
- Element root = doc.addElement( "realm" );
- Element users = root.addElement( "users" );
- Element john = users.addElement( "user" );
- john.addAttribute( "username", "john" );
- john.addAttribute( "password", "doe" );
- Element jane = users.addElement( "user" );
- jane.addAttribute( "username", "john" );
- jane.addAttribute( "password", "doe" );
-
- return doc;
+ String content = "<?xml version=\"1.0\"?>\n"
+ + "<realm>\n"
+ + " <users>\n"
+ + " <user username=\"john\" password=\"doe\"/>\n"
+ + " <user username=\"john\" password=\"doe\"/>\n"
+ + " </users>\n"
+ + "</realm>";
+ return content;
}
}