[
http://issues.apache.org/jira/browse/IBATISNET-71?page=comments#action_66274 ]
Bob Hanson commented on IBATISNET-71:
-------------------------------------
Here is a suggested fix that will accept a url of type "file:///...",
"file://..." or "c:\...":
public static XmlDocument GetConfigAsXmlDocument(string
filePath)
{
XmlDocument config = new XmlDocument();
XmlTextReader reader = null;
try
{
// ugly kludge right now but I need this to
work today -bob
if (filePath != "providers.config" &&
Resources.FileExists(filePath))
{
reader = new XmlTextReader( filePath );
}
else
{
reader = new
XmlTextReader(Path.Combine(_baseDirectory, filePath));
}
config.Load(reader);
}
catch(Exception e)
{
throw new ConfigurationException(
string.Format("Unable to load config
file \"{0}\". Cause : {1}",
filePath,
e.Message ) ,e);
}
finally
{
if (reader != null)
{
reader.Close();
}
}
return config;
}
public static FileInfo GetFileInfo(string filePath)
{
string file = string.Empty;
FileInfo fileInfo = null;
if (filePath.ToUpper().StartsWith("FILE:///"))
{
filePath = filePath.Remove(0, 8);
}
else if (filePath.ToUpper().StartsWith("FILE://"))
{
filePath = filePath.Remove(0, 7);
}
if (Resources.FileExists(filePath))
{
file = filePath;
}
else
{
file = Path.Combine(_applicationBase, filePath);
}
try
{
fileInfo = new FileInfo(file);
}
catch(Exception e)
{
throw new ConfigurationException(
string.Format("Unable to load file
\"{0}\". Cause : \"{1}\"", filePath, e.Message),e);
}
return fileInfo;
}
> Resources.GetFileInfo(string) may return incorrect value if access to
> external location is denied
> -------------------------------------------------------------------------------------------------
>
> Key: IBATISNET-71
> URL: http://issues.apache.org/jira/browse/IBATISNET-71
> Project: iBatis for .NET
> Type: Bug
> Reporter: Ron Grabowski
> Assignee: Gilles Bayon
> Priority: Minor
> Fix For: DataMapper 1.2
>
> http://www.mail-archive.com/ibatis-dev%40incubator.apache.org/msg01176.html
> If permission is denied to the remote location:
> Resources.GetFileInfo("c:/does_not_have_permission/sqlMap.config")
> and there is a file called sqlMap.config in the base directory of my
> application:
> /sqlMap.config
> File.Exists will return false if permission to the path is denied (see
> mail-archive.com post for more info):
> if (!File.Exists(path))
> {
> file = Path.Combine(_applicationBase, path);
> }
> else
> {
> file = path;
> }
> A FileInfo object for the local sqlMap.config will be returned.
> I haven't actually tested this.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira