TUSCANY-3088 - Applying patch with fixes to the following items :
- MappingWrapper.addImpliedRelationship(): SQL table names are case-insensitive
- MappingWrapper.getRelationshipByReference(): if 2 relationships have the same name, must check the containing type of the reference
- ResultMetadata: the structure of tableToPropertyMap is (table type name, list of property names), not (table name, list of property names)

git-svn-id: https://svn.apache.org/repos/asf/tuscany/java/das@783448 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java b/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
index 49ed64a..6386df1 100644
--- a/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
+++ b/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
@@ -150,7 +150,7 @@
         Iterator i = config.getRelationship().iterator();
         while (i.hasNext()) {
             Relationship r = (Relationship) i.next();
-            if (r.getPrimaryKeyTable().equals(parentTableName) && r.getForeignKeyTable().equals(childTableName)) {
+            if (r.getPrimaryKeyTable().equalsIgnoreCase(parentTableName) && r.getForeignKeyTable().equalsIgnoreCase(childTableName)) {
                 return;
             }
         }
@@ -825,8 +825,10 @@
         Iterator i = config.getRelationship().iterator();
         while (i.hasNext()) {
             Relationship r = (Relationship) i.next();
-            if (ref.getName().equals(r.getName()) || ref.getOpposite().getName().equals(r.getName())) {
-                return r;
+            if (ref.getName().equals(r.getName())) {
+            	if (getTableTypeName(r.getPrimaryKeyTable()).equals(ref.getContainingType().getName())) return r;
+            } else if(ref.getOpposite().getName().equals(r.getName())) {
+            	if (getTableTypeName(r.getForeignKeyTable()).equals(ref.getContainingType().getName())) return r;
             }
         }
         throw new RuntimeException("Could not find relationship " + ref.getName() + " in the configuration");
diff --git a/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java b/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java
index 2b3e8b2..fdd1845 100644
--- a/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java
+++ b/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultMetadata.java
@@ -144,7 +144,7 @@
             String columnName = (String) i.next();
             String pkTableName = columnName.substring(0, columnName.indexOf(idSpell));//_id, _Id, _iD, _ID anything
             String fkTableName = (String) impliedRelationships.get(columnName);
-            List pkTableProperties = (List) tableToPropertyMap.get(pkTableName);
+            List pkTableProperties = (List) tableToPropertyMap.get(configWrapper.getTableTypeName(pkTableName));
             if ((pkTableProperties != null) && (pkTableProperties.contains("ID"))) {
                 configWrapper.addImpliedRelationship(pkTableName, fkTableName, columnName);
             }