You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2005/09/18 21:48:12 UTC
svn commit: r289962 [3/3] - in /directory/protocol-providers/dns/trunk/src:
java/org/apache/dns/io/ java/org/apache/dns/io/decoder/
java/org/apache/dns/io/encoder/ java/org/apache/dns/messages/
java/org/apache/dns/protocol/ java/org/apache/dns/service/...
Modified: directory/protocol-providers/dns/trunk/src/java/org/apache/dns/store/operations/GetRecord.java
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/dns/trunk/src/java/org/apache/dns/store/operations/GetRecord.java?rev=289962&r1=289961&r2=289962&view=diff
==============================================================================
--- directory/protocol-providers/dns/trunk/src/java/org/apache/dns/store/operations/GetRecord.java (original)
+++ directory/protocol-providers/dns/trunk/src/java/org/apache/dns/store/operations/GetRecord.java Sun Sep 18 12:47:47 2005
@@ -25,11 +25,13 @@
import javax.naming.directory.DirContext;
import javax.naming.directory.SearchResult;
-import org.apache.dns.records.QuestionRecord;
+import org.apache.dns.messages.QuestionRecord;
+import org.apache.dns.messages.RecordClass;
+import org.apache.dns.messages.RecordType;
+import org.apache.dns.messages.ResourceRecord;
+import org.apache.dns.messages.ResourceRecordModifier;
import org.apache.dns.store.ContextOperation;
import org.apache.dns.store.DnsAttribute;
-import org.apache.dns.store.RecordStoreEntry;
-import org.apache.dns.store.RecordStoreEntryModifier;
/**
* Encapsulates the action of looking up a Resource Record from an embedded JNDI provider.
@@ -54,50 +56,38 @@
* Note that the base is a relative path from the exiting context.
* It is not a DN.
*/
- public Object execute( DirContext ctx, Name base )
+ public Object execute( DirContext ctx, Name base ) throws Exception
{
if ( question == null )
{
return null;
}
- String[] attrIDs = { DnsAttribute.CLASS, DnsAttribute.TTL,
- DnsAttribute.NAME, DnsAttribute.ZONE_NAME, DnsAttribute.IP_ADDRESS };
-
Attributes matchAttrs = new BasicAttributes( false ); // case-sensitive
matchAttrs.put( new BasicAttribute( DnsAttribute.NAME, question.getDomainName() ) );
+ matchAttrs.put( new BasicAttribute( DnsAttribute.TYPE, question.getRecordType().getCode() ) );
+ matchAttrs.put( new BasicAttribute( DnsAttribute.CLASS, question.getRecordClass().getCode() ) );
+
+ ResourceRecord record = null;
- RecordStoreEntry entry = null;
+ NamingEnumeration answer = ctx.search( base, matchAttrs );
- try
+ if ( answer.hasMore() )
{
- // Search for objects that have those matching attributes
+ SearchResult result = (SearchResult) answer.next();
- NamingEnumeration answer = ctx.search( base, matchAttrs, attrIDs );
+ Attributes attrs = result.getAttributes();
- if ( answer.hasMore() )
+ if ( attrs == null )
{
- SearchResult result = (SearchResult) answer.next();
-
- Attributes attrs = result.getAttributes();
-
- if ( attrs == null )
- {
- return null;
- }
-
- entry = getEntry( attrs );
+ return null;
}
- }
- catch ( NamingException e )
- {
- e.printStackTrace();
- return null;
+ record = getRecord( attrs );
}
- return entry;
+ return record;
}
/**
@@ -107,21 +97,27 @@
* @return the entry for the question
* @throws NamingException if there are any access problems
*/
- private RecordStoreEntry getEntry( Attributes attrs ) throws NamingException
+ private ResourceRecord getRecord( Attributes attrs ) throws NamingException
{
- RecordStoreEntryModifier modifier = new RecordStoreEntryModifier();
+ ResourceRecordModifier modifier = new ResourceRecordModifier();
+ String dnsName = (String) attrs.get( DnsAttribute.NAME ).get();
+ String dnsType = (String) attrs.get( DnsAttribute.TYPE ).get();
String dnsClass = (String) attrs.get( DnsAttribute.CLASS ).get();
String dnsTtl = (String) attrs.get( DnsAttribute.TTL ).get();
- String dnsZoneName = (String) attrs.get( DnsAttribute.ZONE_NAME ).get();
- String dnsName = (String) attrs.get( DnsAttribute.NAME ).get();
- String dnsIpAddress = (String) attrs.get( DnsAttribute.IP_ADDRESS ).get();
- modifier.setDnsClass( dnsClass );
- modifier.setDnsTtl( dnsTtl );
- modifier.setDnsZoneName( dnsZoneName );
modifier.setDnsName( dnsName );
- modifier.setDnsIpAddress( dnsIpAddress );
+ modifier.setDnsType( RecordType.getTypeByName( dnsType ) );
+ modifier.setDnsClass( RecordClass.getTypeByName( dnsClass ) );
+ modifier.setDnsTtl( Integer.parseInt( dnsTtl ) );
+
+ NamingEnumeration ids = attrs.getIDs();
+
+ while ( ids.hasMore() )
+ {
+ String id = (String) ids.next();
+ modifier.put( id, (String) attrs.get( id ).get() );
+ }
return modifier.getEntry();
}
Modified: directory/protocol-providers/dns/trunk/src/test/org/apache/dns/AbstractDnsTestCase.java
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/dns/trunk/src/test/org/apache/dns/AbstractDnsTestCase.java?rev=289962&r1=289961&r2=289962&view=diff
==============================================================================
--- directory/protocol-providers/dns/trunk/src/test/org/apache/dns/AbstractDnsTestCase.java (original)
+++ directory/protocol-providers/dns/trunk/src/test/org/apache/dns/AbstractDnsTestCase.java Sun Sep 18 12:47:47 2005
@@ -19,13 +19,13 @@
import java.io.IOException;
import java.io.InputStream;
-import java.nio.ByteBuffer;
import junit.framework.TestCase;
import org.apache.dns.messages.DnsMessage;
-import org.apache.dns.records.QuestionRecord;
-import org.apache.dns.records.ResourceRecord;
+import org.apache.dns.messages.QuestionRecords;
+import org.apache.dns.messages.ResourceRecords;
+import org.apache.mina.common.ByteBuffer;
public abstract class AbstractDnsTestCase extends TestCase
{
@@ -42,33 +42,17 @@
System.out.println( message.isRecursionAvailable() );
System.out.println( message.getResponseCode() );
- QuestionRecord[] questions = message.getQuestionRecords();
- printQuestionRecords( questions );
+ QuestionRecords questions = message.getQuestionRecords();
+ System.out.println( questions );
- ResourceRecord[] records = message.getAnswerRecords();
- printResourceRecords( records );
+ ResourceRecords records = message.getAnswerRecords();
+ System.out.println( records );
records = message.getAuthorityRecords();
- printResourceRecords( records );
+ System.out.println( records );
records = message.getAdditionalRecords();
- printResourceRecords( records );
- }
-
- protected void printQuestionRecords( QuestionRecord[] records )
- {
- for ( int ii = 0; ii < records.length; ii++ )
- {
- System.out.println( records[ ii ] );
- }
- }
-
- protected void printResourceRecords( ResourceRecord[] records )
- {
- for ( int ii = 0; ii < records.length; ii++ )
- {
- System.out.println( records[ ii ] );
- }
+ System.out.println( records );
}
protected ByteBuffer getByteBufferFromFile( String file ) throws IOException
Copied: directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-QUERY.pdu (from r289702, directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DNS-QUERY.pdu)
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-QUERY.pdu?p2=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-QUERY.pdu&p1=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DNS-QUERY.pdu&r1=289702&r2=289962&rev=289962&view=diff
==============================================================================
Binary files - no diff available.
Copied: directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-RESPONSE.pdu (from r289702, directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DNS-RESPONSE.pdu)
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-RESPONSE.pdu?p2=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-RESPONSE.pdu&p1=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DNS-RESPONSE.pdu&r1=289702&r2=289962&rev=289962&view=diff
==============================================================================
Binary files - no diff available.
Copied: directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-TRAFFIC.libpcap (from r289702, directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DNS-TRAFFIC.libpcap)
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-TRAFFIC.libpcap?p2=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DNS-TRAFFIC.libpcap&p1=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DNS-TRAFFIC.libpcap&r1=289702&r2=289962&rev=289962&view=diff
==============================================================================
Binary files - no diff available.
Copied: directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DnsMessageDecoderTest.java (from r289702, directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DnsMessageDecoderTest.java)
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DnsMessageDecoderTest.java?p2=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DnsMessageDecoderTest.java&p1=directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DnsMessageDecoderTest.java&r1=289702&r2=289962&rev=289962&view=diff
==============================================================================
--- directory/protocol-providers/dns/trunk/src/test/org/apache/dns/DnsMessageDecoderTest.java (original)
+++ directory/protocol-providers/dns/trunk/src/test/org/apache/dns/protocol/DnsMessageDecoderTest.java Sun Sep 18 12:47:47 2005
@@ -15,12 +15,11 @@
*
*/
-package org.apache.dns;
+package org.apache.dns.protocol;
-import java.nio.ByteBuffer;
-
-import org.apache.dns.io.DnsMessageDecoder;
+import org.apache.dns.AbstractDnsTestCase;
import org.apache.dns.messages.DnsMessage;
+import org.apache.mina.common.ByteBuffer;
public class DnsMessageDecoderTest extends AbstractDnsTestCase
{
@@ -30,7 +29,7 @@
{
requestByteBuffer = getByteBufferFromFile( "DNS-QUERY.pdu" );
- DnsMessageDecoder decoder = new DnsMessageDecoder();
+ DnsDecoder decoder = new DnsDecoder();
DnsMessage dnsRequest = decoder.decode( requestByteBuffer );
print( dnsRequest );
@@ -40,7 +39,7 @@
{
requestByteBuffer = getByteBufferFromFile( "DNS-RESPONSE.pdu" );
- DnsMessageDecoder decoder = new DnsMessageDecoder();
+ DnsDecoder decoder = new DnsDecoder();
DnsMessage dnsRequest = decoder.decode( requestByteBuffer );
print( dnsRequest );