You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Noel J. Bergman" <no...@devtech.com> on 2006/10/15 18:20:54 UTC

VirtualUserTable refactorings

> AbstractVirtualUserTable.java

> Fix mapping creation after reread the documentation.

If that's what the docs actually say, they are wrong.

>  public abstract class AbstractVirtualUserTable extends AbstractLogEnabled
>      implements VirtualUserTable, VirtualUserTableManagement {
> +    
> +    private static String WILDCARD = "%";

This shouldn't be here at all.

AbstractVirtualUserTable intentionally defers thins to the implementations.  The XML version defines '*' as a limited wildcard.  For JDBC, the query carries the wildcard character to the query engine, so the JDBC VUT doesn't need to understand it at all.  

The two uses are similar, but use different characters (* is normally expected, and % would be weird to impose on non-SQL users) and are implemented totally differently, since the goal for any database functionality should be to let the database handle as much as possible.

For more sophisticated uses, regex is supported, with examples.

Speaking of JDBC, e might add a VirtualUserTable section to sqlResources, and use that to handle different databases, rather than just use a query property.

It appears that you're introducing code that doesn't belong here.  Please review how the current system works and explain what you are trying to accomplish, other than refactoring the code to allow it to be called as a utility.

	--- Noel



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org