Loading bin/efa +13 −10 Original line number Diff line number Diff line Loading @@ -49,13 +49,13 @@ sub handle_efa_exception { if ( $e->isa('Travel::Routing::DE::EFA::Exception::Setup') ) { if ( $e->message ) { printf STDERR ( "Error: %s (option '%s'): %s\n", "User error: %s (option '%s'): %s\n", $e->description, $e->option, $e->message ); } else { printf STDERR ( "Error: %s (option '%s', got '%s', want '%s')\n", "User error: %s (option '%s', got '%s', want '%s')\n", $e->description, $e->option, $e->have, $e->want ); } Loading @@ -63,27 +63,30 @@ sub handle_efa_exception { exit 1; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::Net') ) { printf STDERR ( "Error: %s: %s\n", $e->description, $e->http_response->as_string ); printf STDERR ( "Network error: %s: %s\n", $e->description, $e->http_response->as_string ); exit 2; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::NoData') ) { printf STDERR ( "Error: %s\n", $e->description ); printf STDERR ( "Backend rror: %s\n", $e->description ); exit 3; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::Ambiguous') ) { printf STDERR ( "Error: %s for key %s. Specify one of %s\n", $e->description, $e->post_key, $e->possibilities "Backend error: The %s '%s' is ambiguous. Try one of %s\n", $e->post_key, $e->post_value,, $e->possibilities ); exit 4; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::Other') ) { printf STDERR ( "Error: %s: %s\n", $e->description, $e->message ); printf STDERR ( "Backend error: %s: %s\n", $e->description, $e->message ); exit 5; } printf STDERR ( "Uncaught exception: %s\n%s", ref($e), $e->trace ); printf STDERR ( "Unknown error: %s\n%s", ref($e), $e->trace ); exit 10; } Loading lib/Travel/Routing/DE/EFA.pm +14 −5 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ use Exception::Class ( 'Travel::Routing::DE::EFA::Exception::Ambiguous' => { isa => 'Travel::Routing::DE::EFA::Exception', description => 'ambiguous input', fields => [ 'post_key', 'possibilities' ], fields => [ 'post_key', 'post_value', 'possibilities' ], }, 'Travel::Routing::DE::EFA::Exception::Other' => { isa => 'Travel::Routing::DE::EFA::Exception', Loading Loading @@ -688,7 +688,9 @@ sub check_ambiguous_xml { my $xp_name = XML::LibXML::XPathExpression->new('./itdOdvName'); my $xp_place_elem = XML::LibXML::XPathExpression->new('./odvPlaceElem'); my $xp_place_input = XML::LibXML::XPathExpression->new('./odvPlaceInput'); my $xp_name_elem = XML::LibXML::XPathExpression->new('./odvNameElem'); my $xp_name_input = XML::LibXML::XPathExpression->new('./odvNameInput'); my $e_place = ( $tree->findnodes($xp_place) )[0]; my $e_name = ( $tree->findnodes($xp_name) )[0]; Loading @@ -704,6 +706,10 @@ sub check_ambiguous_xml { if ( $s_place eq 'list' ) { Travel::Routing::DE::EFA::Exception::Ambiguous->throw( post_key => 'place', post_value => decode( 'UTF-8', ( $e_place->findnodes($xp_place_input) )[0]->textContent ), possibilities => join( q{ | }, map { decode( 'UTF-8', $_->textContent ) } @{ $e_place->findnodes($xp_place_elem) } ) Loading @@ -712,6 +718,9 @@ sub check_ambiguous_xml { if ( $s_name eq 'list' ) { Travel::Routing::DE::EFA::Exception::Ambiguous->throw( post_key => 'name', post_value => decode( 'UTF-8', ( $e_name->findnodes($xp_name_input) )[0]->textContent ), possibilities => join( q{ | }, map { decode( 'UTF-8', $_->textContent ) } @{ $e_name->findnodes($xp_name_elem) } ) Loading Loading
bin/efa +13 −10 Original line number Diff line number Diff line Loading @@ -49,13 +49,13 @@ sub handle_efa_exception { if ( $e->isa('Travel::Routing::DE::EFA::Exception::Setup') ) { if ( $e->message ) { printf STDERR ( "Error: %s (option '%s'): %s\n", "User error: %s (option '%s'): %s\n", $e->description, $e->option, $e->message ); } else { printf STDERR ( "Error: %s (option '%s', got '%s', want '%s')\n", "User error: %s (option '%s', got '%s', want '%s')\n", $e->description, $e->option, $e->have, $e->want ); } Loading @@ -63,27 +63,30 @@ sub handle_efa_exception { exit 1; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::Net') ) { printf STDERR ( "Error: %s: %s\n", $e->description, $e->http_response->as_string ); printf STDERR ( "Network error: %s: %s\n", $e->description, $e->http_response->as_string ); exit 2; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::NoData') ) { printf STDERR ( "Error: %s\n", $e->description ); printf STDERR ( "Backend rror: %s\n", $e->description ); exit 3; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::Ambiguous') ) { printf STDERR ( "Error: %s for key %s. Specify one of %s\n", $e->description, $e->post_key, $e->possibilities "Backend error: The %s '%s' is ambiguous. Try one of %s\n", $e->post_key, $e->post_value,, $e->possibilities ); exit 4; } if ( $e->isa('Travel::Routing::DE::EFA::Exception::Other') ) { printf STDERR ( "Error: %s: %s\n", $e->description, $e->message ); printf STDERR ( "Backend error: %s: %s\n", $e->description, $e->message ); exit 5; } printf STDERR ( "Uncaught exception: %s\n%s", ref($e), $e->trace ); printf STDERR ( "Unknown error: %s\n%s", ref($e), $e->trace ); exit 10; } Loading
lib/Travel/Routing/DE/EFA.pm +14 −5 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ use Exception::Class ( 'Travel::Routing::DE::EFA::Exception::Ambiguous' => { isa => 'Travel::Routing::DE::EFA::Exception', description => 'ambiguous input', fields => [ 'post_key', 'possibilities' ], fields => [ 'post_key', 'post_value', 'possibilities' ], }, 'Travel::Routing::DE::EFA::Exception::Other' => { isa => 'Travel::Routing::DE::EFA::Exception', Loading Loading @@ -688,7 +688,9 @@ sub check_ambiguous_xml { my $xp_name = XML::LibXML::XPathExpression->new('./itdOdvName'); my $xp_place_elem = XML::LibXML::XPathExpression->new('./odvPlaceElem'); my $xp_place_input = XML::LibXML::XPathExpression->new('./odvPlaceInput'); my $xp_name_elem = XML::LibXML::XPathExpression->new('./odvNameElem'); my $xp_name_input = XML::LibXML::XPathExpression->new('./odvNameInput'); my $e_place = ( $tree->findnodes($xp_place) )[0]; my $e_name = ( $tree->findnodes($xp_name) )[0]; Loading @@ -704,6 +706,10 @@ sub check_ambiguous_xml { if ( $s_place eq 'list' ) { Travel::Routing::DE::EFA::Exception::Ambiguous->throw( post_key => 'place', post_value => decode( 'UTF-8', ( $e_place->findnodes($xp_place_input) )[0]->textContent ), possibilities => join( q{ | }, map { decode( 'UTF-8', $_->textContent ) } @{ $e_place->findnodes($xp_place_elem) } ) Loading @@ -712,6 +718,9 @@ sub check_ambiguous_xml { if ( $s_name eq 'list' ) { Travel::Routing::DE::EFA::Exception::Ambiguous->throw( post_key => 'name', post_value => decode( 'UTF-8', ( $e_name->findnodes($xp_name_input) )[0]->textContent ), possibilities => join( q{ | }, map { decode( 'UTF-8', $_->textContent ) } @{ $e_name->findnodes($xp_name_elem) } ) Loading