RIFT-15638, RIFT-15642: Leafref feature bugs

Signed-off-by: KIRAN KASHALKAR <kiran.kashalkar@riftio.com>
diff --git a/skyquake/plugins/composer/src/src/libraries/utils.js b/skyquake/plugins/composer/src/src/libraries/utils.js
index ee4163c..418540f 100644
--- a/skyquake/plugins/composer/src/src/libraries/utils.js
+++ b/skyquake/plugins/composer/src/src/libraries/utils.js
@@ -237,6 +237,10 @@
 					} else {
 						// contains no predicate
 						objectCopy = objectCopy[fragment];
+						if (!objectCopy) {
+							// contains no value
+							break;
+						}
 					}
 				}
 			}
@@ -319,9 +323,9 @@
 						let found = _.find(catalogs[key][subKey], {id: fieldKeyArray[0]});
 						if (found) {
 							for (let foundKey in found) {
-								let topLevel = _.find(found[foundKey], {id: fieldKeyArray[1]});
-								if (topLevel) {
-									results = this.getAbsoluteResults(topLevel, pathArray.splice(-i, i));
+								// let topLevel = _.find(found[foundKey], {id: fieldKeyArray[1]});
+								if (foundKey == fieldKeyArray[1]) {
+									results = this.getAbsoluteResults(found[foundKey], pathArray.splice(-i, i));
 									return results;
 								}
 							}