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 se...@apache.org on 2001/09/27 23:12:47 UTC

cvs commit: jakarta-james/src/java/org/apache/james/userrepository AbstractJdbcUsersRepository.java

serge       01/09/27 14:12:47

  Modified:    src/java/org/apache/james/userrepository
                        AbstractJdbcUsersRepository.java
  Log:
  Applying JDBC dir context fix.
  
  Revision  Changes    Path
  1.2       +16 -2     jakarta-james/src/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java
  
  Index: AbstractJdbcUsersRepository.java
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractJdbcUsersRepository.java	2001/09/11 04:34:49	1.1
  +++ AbstractJdbcUsersRepository.java	2001/09/27 21:12:47	1.2
  @@ -18,6 +18,7 @@
   import org.apache.avalon.framework.logger.*;
   import org.apache.avalon.excalibur.datasource.*;
   import org.apache.avalon.cornerstone.services.datasource.DataSourceSelector;
  +import org.apache.avalon.phoenix.BlockContext;
   
   import java.sql.*;
   import java.util.*;
  @@ -47,8 +48,9 @@
    * @author Darrell DeBoer <dd...@bigdaz.com>
    */
   public abstract class AbstractJdbcUsersRepository extends AbstractUsersRepository
  -    implements UsersRepository, Loggable, Component, Composable, Configurable, Initializable
  +    implements UsersRepository, Loggable, Component, Contextualizable, Composable, Configurable, Initializable
   {
  +    protected Context context;
       protected Map m_sqlParameters;
       private String m_sqlFileName;
       private String m_datasourceName;
  @@ -71,6 +73,11 @@
       private String m_createUserTableSql;
   
   
  +    public void contextualize(final Context context)
  +            throws ContextException {
  +        this.context = context;
  +    }
  +
       /**
        * Compose the repository with the DataSourceSelector component.
        */
  @@ -140,6 +147,10 @@
           
           // Get the SQL file location
           m_sqlFileName = configuration.getChild("sqlFile", true).getValue();
  +        if (!m_sqlFileName.startsWith("file://")) {
  +            throw new ConfigurationException
  +                ("Malformed sqlFile - Must be of the format \"file://<filename>\".");
  +        }
   
           // Get other sql parameters from the configuration object,
           // if any.
  @@ -174,7 +185,10 @@
               DatabaseMetaData dbMetaData = conn.getMetaData();
   
               // Initialise the sql strings.
  -            java.io.File sqlFile = new java.io.File(m_sqlFileName);
  +            String fileName = m_sqlFileName.substring("file://".length());
  +            fileName = ((BlockContext)context).getBaseDirectory() +
  +                        File.separator + fileName;
  +            File sqlFile = (new File(fileName)).getCanonicalFile();
               
               getLogger().debug("Reading SQL resources from file: " + 
                                 sqlFile.getAbsolutePath() + ", section " +
  
  
  

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