Hey Geroge,

I review the mapper patch. Cool!

I think getHosts is a little bit strange:

What you think about this:

   public String[] getHosts() {
       Host[] hosts ;
      synchronized(this) {
            hosts=new Host[hmHosts.size()];
            hosts=(Host[])hmHosts.values().toArray(hosts);
       }
       String[] hostNames=new String[hmHosts.size()];
        for ( int i = 0; i < hosts.length; i++ ) {
           hostNames[i] = hosts[i].name;
       }
       return hostNames ;
    }

I thing sync is needed. I miss that also at orginal mapper. The host values "get array" you also coded at getContextNames().
Can we change getHost to be protected.


Have you wrote junit testcases for the Mapper ?
Please, extract the testcode. I hate those test code inside production code :-)


I find you patch very usefull!

Thanks
Peter

George Sexton schrieb:

I have completed the coding in o.a.t.u.http.mapper.Mapper to implement
wild-card aliases.

If a request for a host is made, and that host is not found, the code tests
the host and aliases list and looks for wild-cards.

So, a host name of www.mydomain.com would match an alias of *.mydomain.com.
This additional level of testing is only done if the the presented host name
is not found in the standard host list. Once a host is found via wild-card,
it is added to the standard host list. Subsequent requests for that host
name will find it via the standard search mechanism.

As part of the conversion, I re-worked the test harness code and expanded it
to be a lot more complete. The output of the new test harness with the
unmodified Mapper code matches identically the output of the modified
mapper. IOW, I'm 99% confident that the behavior of the Mapper matches the
old Mapper.

The time differential between the two runs is around 500ms over 1 million
iterations. I.E. the original code runs in 8000 ms for 1 million iterations
of the testing code, while the new code takes 8500ms. The new code adds
approximately 0.05 % to the time for a lookup.

I am running the modified mapper code with 5.5.9 on an installation that has
40 hosts configured and it seems to be working correctly.

I'd really appreciate it if a committer would get this added to the source
tree.

The complete modified Mapper.java file can be downloaded from:

http://www.mhsoftware.com/~gsexton/Mapper.java

If a decision is made to reject this patch, I'd appreciate knowing why. If
there's something wrong from a coding or style perspective, I'd be happy to
fix things.


George Sexton MH Software, Inc. http://www.mhsoftware.com/ Voice: 303 438 9585



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










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



Reply via email to