Swirrl / cubiql

CubiQL: A GraphQL service for querying multidimensional Linked Data Cubes
Eclipse Public License 1.0
41 stars 2 forks source link

Problem with encoding of Greek labels #73

Open zeginis opened 6 years ago

zeginis commented 6 years ago

When I use Greek labels I get the following exceptions:

If there is a Greek label at the dimensions:

Exception in thread "main" java.lang.IllegalArgumentException: Cannot construct identifier from label 'Τύπος οχήματος'
        at graphql_qb.types$get_identifier_segments.invokeStatic(types.clj:46)
        at graphql_qb.types$get_identifier_segments.invoke(types.clj:43)
        at graphql_qb.types$label__GT_field_name.invokeStatic(types.clj:68)
        at graphql_qb.types$label__GT_field_name.invoke(types.clj:67)
        at graphql_qb.core$get_dimension_type.invokeStatic(core.clj:38)
        at graphql_qb.core$get_dimension_type.invoke(core.clj:20)
        at graphql_qb.core$get_dimensions$fn__5848.invoke(core.clj:49)
        at clojure.core$mapv$fn__6953.invoke(core.clj:6627)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6750.invokeStatic(protocols.clj:136)
        at clojure.core.protocols$fn__6750.invoke(protocols.clj:124)
        at clojure.core.protocols$fn__6710$G__6705__6719.invoke(protocols.clj:19)
        at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
        at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75)
        at clojure.core.protocols$fn__6738.invoke(protocols.clj:75)
        at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13)
        at clojure.core$reduce.invokeStatic(core.clj:6545)
        at clojure.core$mapv.invokeStatic(core.clj:6618)
        at clojure.core$mapv.invoke(core.clj:6618)
        at graphql_qb.core$get_dimensions.invokeStatic(core.clj:44)
        at graphql_qb.core$get_dimensions.invoke(core.clj:41)
        at graphql_qb.core$transform_dataset_result.invokeStatic(core.clj:315)
        at graphql_qb.core$transform_dataset_result.invoke(core.clj:312)
        at graphql_qb.core$find_datasets$fn__5985.invoke(core.clj:320)
        at clojure.core$mapv$fn__6953.invoke(core.clj:6627)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6750.invokeStatic(protocols.clj:136)
        at clojure.core.protocols$fn__6750.invoke(protocols.clj:124)
        at clojure.core.protocols$fn__6710$G__6705__6719.invoke(protocols.clj:19)
        at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
        at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75)
        at clojure.core.protocols$fn__6738.invoke(protocols.clj:75)
        at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13)
        at clojure.core$reduce.invokeStatic(core.clj:6545)
        at clojure.core$mapv.invokeStatic(core.clj:6618)
        at clojure.core$mapv.invoke(core.clj:6618)
        at graphql_qb.core$find_datasets.invokeStatic(core.clj:320)
        at graphql_qb.core$find_datasets.invoke(core.clj:318)
        at graphql_qb.core$build_schema_context.invokeStatic(core.clj:354)
        at graphql_qb.core$build_schema_context.invoke(core.clj:353)
        at graphql_qb.server$create_server.invokeStatic(server.clj:16)
        at graphql_qb.server$create_server.invoke(server.clj:13)
        at graphql_qb.server$start_server.invokeStatic(server.clj:27)
        at graphql_qb.server$start_server.invoke(server.clj:26)
        at graphql_qb.main$_main.invokeStatic(main.clj:45)
        at graphql_qb.main$_main.doInvoke(main.clj:36)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at graphql_qb.main.main(Unknown Source)

And if there is a Greek label at the codelist:

Exception in thread "main" java.lang.IllegalArgumentException: Cannot construct identifier from label 'Κανένα Καύσιμο'
        at graphql_qb.types$get_identifier_segments.invokeStatic(types.clj:46)
        at graphql_qb.types$get_identifier_segments.invoke(types.clj:43)
        at graphql_qb.types$enum_label__GT_value_name.invokeStatic(types.clj:76)
        at graphql_qb.types$enum_label__GT_value_name.invoke(types.clj:75)
        at graphql_qb.core$get_enum_items$fn__5837.invoke(core.clj:17)
        at clojure.core$mapv$fn__6953.invoke(core.clj:6627)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6750.invokeStatic(protocols.clj:136)
        at clojure.core.protocols$fn__6750.invoke(protocols.clj:124)
        at clojure.core.protocols$fn__6710$G__6705__6719.invoke(protocols.clj:19)
        at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
        at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75)
        at clojure.core.protocols$fn__6738.invoke(protocols.clj:75)
        at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13)
        at clojure.core$reduce.invokeStatic(core.clj:6545)
        at clojure.core$mapv.invokeStatic(core.clj:6618)
        at clojure.core$mapv.invoke(core.clj:6618)
        at graphql_qb.core$get_enum_items.invokeStatic(core.clj:16)
        at graphql_qb.core$get_enum_items.invoke(core.clj:14)
        at graphql_qb.core$get_dimension_type.invokeStatic(core.clj:37)
        at graphql_qb.core$get_dimension_type.invoke(core.clj:20)
        at graphql_qb.core$get_dimensions$fn__5848.invoke(core.clj:49)
        at clojure.core$mapv$fn__6953.invoke(core.clj:6627)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6750.invokeStatic(protocols.clj:136)
        at clojure.core.protocols$fn__6750.invoke(protocols.clj:124)
        at clojure.core.protocols$fn__6710$G__6705__6719.invoke(protocols.clj:19)
        at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
        at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75)
        at clojure.core.protocols$fn__6738.invoke(protocols.clj:75)
        at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13)
        at clojure.core$reduce.invokeStatic(core.clj:6545)
        at clojure.core$mapv.invokeStatic(core.clj:6618)
        at clojure.core$mapv.invoke(core.clj:6618)
        at graphql_qb.core$get_dimensions.invokeStatic(core.clj:44)
        at graphql_qb.core$get_dimensions.invoke(core.clj:41)
        at graphql_qb.core$transform_dataset_result.invokeStatic(core.clj:315)
        at graphql_qb.core$transform_dataset_result.invoke(core.clj:312)
        at graphql_qb.core$find_datasets$fn__5985.invoke(core.clj:320)
        at clojure.core$mapv$fn__6953.invoke(core.clj:6627)
        at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
        at clojure.core.protocols$fn__6750.invokeStatic(protocols.clj:136)
        at clojure.core.protocols$fn__6750.invoke(protocols.clj:124)
        at clojure.core.protocols$fn__6710$G__6705__6719.invoke(protocols.clj:19)
        at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
        at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75)
        at clojure.core.protocols$fn__6738.invoke(protocols.clj:75)
        at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13)
        at clojure.core$reduce.invokeStatic(core.clj:6545)
        at clojure.core$mapv.invokeStatic(core.clj:6618)
        at clojure.core$mapv.invoke(core.clj:6618)
        at graphql_qb.core$find_datasets.invokeStatic(core.clj:320)
        at graphql_qb.core$find_datasets.invoke(core.clj:318)
        at graphql_qb.core$build_schema_context.invokeStatic(core.clj:354)
        at graphql_qb.core$build_schema_context.invoke(core.clj:353)
        at graphql_qb.server$create_server.invokeStatic(server.clj:16)
        at graphql_qb.server$create_server.invoke(server.clj:13)
        at graphql_qb.server$start_server.invokeStatic(server.clj:27)
        at graphql_qb.server$start_server.invoke(server.clj:26)
        at graphql_qb.main$_main.invokeStatic(main.clj:45)
        at graphql_qb.main$_main.doInvoke(main.clj:36)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at graphql_qb.main.main(Unknown Source)
keeganmcbride commented 6 years ago

Has the encoding issue been fixed in newest releases? We were also having some issues with Estonian characters (üõöä)