You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by de...@avalon.apache.org on 2004/07/25 21:15:18 UTC
[jira] Updated: (RUNTIME-48) Bad error report when supplied block is file that does not exist
The following issue has been updated:
Updater: Stephen McConnell (mailto:mcconnell@apache.org)
Date: Sun, 25 Jul 2004 12:14 PM
Changes:
description changed from Curently if a file for deployment is included on the command line and the filename is incorrect, the error report throws a MalformedURLException when instead it should throw a FileNotFoundException.
The following replacement code for resolveURL in merlin/impl DefaultContext correct the problem.
private URL resolveURL( File base, String value )
{
if( value.startsWith( "block:" ) )
{
return blockSpecToURL( value );
}
else if( value.startsWith( "artifact:" ) )
{
return artifactSpecToURL( value );
}
try
{
return new URL( value );
}
catch( Exception e )
{
File target = new File( value );
if( target.exists() )
{
return toURL( target );
}
else
{
target = new File( base, value );
if( target.exists() )
{
return toURL( target );
}
else
{
if( e instanceof MalformedURLException )
{
FileNotFoundException fnfe = new FileNotFoundException( value );
final String error =
"Unable to resolve the block path [" + value + "].";
throw new KernelRuntimeException( error, fnfe );
}
else
{
final String error =
"Unable to resolve the block path [" + value + "].";
throw new KernelRuntimeException( error, e );
}
}
}
}
}
to Curently if a file for deployment is included on the command line and the filename is incorrect, the error report throws a MalformedURLException when instead it should throw a FileNotFoundException.
The following replacement code for resolveURL in merlin/impl DefaultCriteria correct the problem.
private URL resolveURL( File base, String value )
{
if( value.startsWith( "block:" ) )
{
return blockSpecToURL( value );
}
else if( value.startsWith( "artifact:" ) )
{
return artifactSpecToURL( value );
}
try
{
return new URL( value );
}
catch( Exception e )
{
File target = new File( value );
if( target.exists() )
{
return toURL( target );
}
else
{
target = new File( base, value );
if( target.exists() )
{
return toURL( target );
}
else
{
if( e instanceof MalformedURLException )
{
FileNotFoundException fnfe = new FileNotFoundException( value );
final String error =
"Unable to resolve the block path [" + value + "].";
throw new KernelRuntimeException( error, fnfe );
}
else
{
final String error =
"Unable to resolve the block path [" + value + "].";
throw new KernelRuntimeException( error, e );
}
}
}
}
}
---------------------------------------------------------------------
For a full history of the issue, see:
http://issues.apache.org/jira/browse/RUNTIME-48?page=history
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/RUNTIME-48
Here is an overview of the issue:
---------------------------------------------------------------------
Key: RUNTIME-48
Summary: Bad error report when supplied block is file that does not exist
Type: Improvement
Status: Open
Priority: Minor
Project: Merlin Runtime
Components:
CORE
Fix Fors:
3.4.0
Versions:
3.3.0
Assignee: Stephen McConnell
Reporter: Stephen McConnell
Created: Sun, 25 Jul 2004 12:12 PM
Updated: Sun, 25 Jul 2004 12:14 PM
Description:
Curently if a file for deployment is included on the command line and the filename is incorrect, the error report throws a MalformedURLException when instead it should throw a FileNotFoundException.
The following replacement code for resolveURL in merlin/impl DefaultCriteria correct the problem.
private URL resolveURL( File base, String value )
{
if( value.startsWith( "block:" ) )
{
return blockSpecToURL( value );
}
else if( value.startsWith( "artifact:" ) )
{
return artifactSpecToURL( value );
}
try
{
return new URL( value );
}
catch( Exception e )
{
File target = new File( value );
if( target.exists() )
{
return toURL( target );
}
else
{
target = new File( base, value );
if( target.exists() )
{
return toURL( target );
}
else
{
if( e instanceof MalformedURLException )
{
FileNotFoundException fnfe = new FileNotFoundException( value );
final String error =
"Unable to resolve the block path [" + value + "].";
throw new KernelRuntimeException( error, fnfe );
}
else
{
final String error =
"Unable to resolve the block path [" + value + "].";
throw new KernelRuntimeException( error, e );
}
}
}
}
}
---------------------------------------------------------------------
JIRA INFORMATION:
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
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org