k-int / XCRI-Aggregator

XCRI Course Related Information - Feed Validator and Aggregator
10 stars 4 forks source link

Grails runtime exception error on course link clickthrough #63

Closed rob-work closed 12 years ago

rob-work commented 12 years ago

http://coursedata.k-int.com/discover/?adv=&q=OU&provider=&qualification=*&studyMode=*&distance=25&dunit=miles&order=distance&location=&format=html

click on course link:

Error 500: Internal Server Error URI /discover/course/4fe9031d84ae82dfd1c9dafb Class java.text.ParseException Message Unparseable number: "Costs are paid per unit not per qualification." Trace Line | Method ->> 56 | runWorker in /course/index.gsp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Caused by GrailsTagException: Error executing tag : java.text.ParseException: Unparseable number: "Costs are paid per unit not per qualification." ->> 56 | doCall in /WEB-INF/grails-app/views/course/index.gsp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Caused by InvokerInvocationException: java.text.ParseException: Unparseable number: "Costs are paid per unit not per qualification." ->> 155 | doCall in gsp_XCRISearch_courseindex_gsp$_run_closure2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 281 | run in gsp_XCRISearch_courseindex_gsp | 1110 | runWorker in java.util.concurrent.ThreadPoolExecutor | 603 | run in java.util.concurrent.ThreadPoolExecutor$Worker ^ 722 | run . . . in java.lang.Thread Caused by ParseException: Unparseable number: "Costs are paid per unit not per qualification." ->> 350 | parse in java.text.NumberFormat - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 155 | doCall in gsp_XCRISearch_courseindex_gsp$_run_closure2 | 281 | run . . . in gsp_XCRISearch_courseindex_gsp | 1110 | runWorker in java.util.concurrent.ThreadPoolExecutor | 603 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker ^ 722 | run in java.lang.Thread

MIJohnson commented 12 years ago

This will be because we were expecting this field to contain a numerical value (and then we try and format it to two decimal places and display with a £)

rob-work commented 12 years ago

Need to change the aggregator rule: data defs suggest:

cost Plain text; max 4,000 characters; "GBP" instead of "£" Optional A textual description of the cost associated with obtaining access to the presentation, including reference to bursaries or other special arrangements for specific groups of learners

Pg46:

catalog >> provider >> course >> presentation >> cost

Element

Name: cost

Namespace: http://purl.org/net/mlo

Description

A textual description of the cost associated with obtaining access to the presentation, including reference to bursaries or other special arrangements for specific groups of learners

Format

Plain text

Pound signs (£) SHOULD NOT be used. Instead use the international standard 'GBP' or an entity reference; see http://www.currency-iso.org/iso_index/iso_tables/iso_tables_a1.htm.

Max: 4,000 characters

Optionality

Optional; zero or one

Parent

presentation

Children

None

Attributes

None

Examples

mlo:costUK fee: GBP590.00; Ireland fee: GBP975.00; Continental Europe fee: GBP1080.00/mlo:cost

Comments

This element is a candidate for extension to take into account KIS formats and representation for 'vat', 'net' and 'gross' amounts.

http://www.xcri.co.uk/data-definitions-and-vocabulary-framework.html

and from spec: the element URI: http://purl.org/net/mlo/cost A cost associated with obtaining access to the presentation. See [EN 15982]. Example:

The course fees are £800 per semester, payable either in advance or monthly by direct debit.

This element MUST use the [EN 15982] namespace: http://purl.org/net/mlo Guidelines The default, unqualified value of this property is a simple textual description. Producers MAY use specific encoding schemes that refine the use of this property.

http://www.xcri.org/wiki/index.php/XCRI_CAP_1.2#the_.3Ccost.3E_element

MIJohnson commented 12 years ago

this should be fixed in the next release