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