Compare commits

...

5 Commits

1 changed files with 16 additions and 1 deletions

View File

@ -158,6 +158,21 @@ public class ModelSupport {
} }
} }
/**
* Helper method: lookup relation inverse, given the direct relation encoding (case insensitive)
* @param encoding
* @return the relation inverse descriptor, throws @IllegalArgumentException when not found.
*/
public static RelationInverse findInverse(String encoding) {
return ModelSupport.relationInverseMap
.entrySet()
.stream()
.filter(r -> encoding.equalsIgnoreCase(r.getKey()))
.findFirst()
.map(r -> r.getValue())
.orElseThrow(() -> new IllegalArgumentException("invalid relationship: " + encoding));
}
/** /**
* Helper method: fina a relation filtering by a relation name * Helper method: fina a relation filtering by a relation name
* @param relationName * @param relationName
@ -181,7 +196,7 @@ public class ModelSupport {
* @return * @return
*/ */
public static String rel(String relType, String subRelType, String relClass) { public static String rel(String relType, String subRelType, String relClass) {
return String.format("%s-%s-%s", relType, subRelType, relClass); return String.format("%s_%s_%s", relType, subRelType, relClass);
} }
private static final String schemeTemplate = "dnet:%s_%s_relations"; private static final String schemeTemplate = "dnet:%s_%s_relations";