juddi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Faath (JIRA)" <juddi-...@ws.apache.org>
Subject [jira] Commented: (JUDDI-170) Handle case sensitivity with keys
Date Thu, 05 Feb 2009 20:33:59 GMT

    [ https://issues.apache.org/jira/browse/JUDDI-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12670892#action_12670892

Jeff Faath commented on JUDDI-170:

>From uddi spec:

"Keys in UDDI are declared as language independent case insensitive and must be case-folded
by nodes as part of processing any API.  With the inclusion of the attribute caseMapKind="fold"
from Schema Centric Canonicalization in the schema declaration for uddiKey type, the normalized
form of a uddiKey element is produced using Unicode Case Folding as defined in the Unicode
Technical Report on Case Mappings (see http://www.unicode.org/unicode/reports/tr21/)."

> Handle case sensitivity with keys
> ---------------------------------
>                 Key: JUDDI-170
>                 URL: https://issues.apache.org/jira/browse/JUDDI-170
>             Project: jUDDI
>          Issue Type: Task
>    Affects Versions: 3.0
>            Reporter: Jeff Faath
>            Assignee: Jeff Faath
>            Priority: Minor
>             Fix For: 3.0
> In UDDI v3, the user supplies entity keys that become the primary key for the entity.
 The problem is, databases handle case sensitivity with queries.  The code currently handles
key comparisons with case insensitivity in mind, however, the "find" operation of the JPA
EntityManager may react differently depending on the DB.  In this case, if the user supplies
a key that isn't the exact case of the entity they meant to work with, it will be treated
as a new entity.  Other unexpected behavior may occur as well.
> There are two ways to make this work for both case insensitive and case sensitive databases.
> 1) automatically convert all user-supplied keys to one case and store it that way (advantages:
easy; disadvantages: doesn't preserve user case, for ex, if they want to use CamelCase for
> 2) No longer use the "find" operation and instead replace it with a case insensitive
query (advantages: preserves user case; disadvantages: "find" is used quite a bit to test
for existence, a SELECT query will need to be created for every entity that find was used)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message