Skip to content

Commit 54a48a7

Browse files
Treiblesschorlectrueden
authored andcommitted
Add warning for inconsistent op aliases
1 parent d732b06 commit 54a48a7

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

src/main/java/org/scijava/ops/OpService.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ private void addToCache(OpInfo opInfo, String opNames) {
128128
return;
129129
}
130130
String[] parsedNames = OpUtils.parseOpNames(opNames);
131-
addAliases(parsedNames);
131+
addAliases(parsedNames, opInfo.implementationName());
132132
opCache.add(new PrefixQuery(parsedNames[0]), opInfo);
133133
}
134134

@@ -227,16 +227,21 @@ private Type[] toTypes(Nil<?>... nils) {
227227
*
228228
* @param opNames
229229
*/
230-
private void addAliases(String[] opNames) {
230+
private void addAliases(String[] opNames, String opImpl) {
231231
String opName = opNames[0];
232-
for (String name : opNames) {
233-
if (name == null || name.isEmpty()) {
232+
for (String alias : opNames) {
233+
if (alias == null || alias.isEmpty()) {
234234
continue;
235235
}
236-
if (opAliases.containsKey(name)) {
236+
if (opAliases.containsKey(alias)) {
237+
if (!opAliases.get(alias).equals(opName)) {
238+
log.warn("Possible naming clash for op '" + opImpl + "' detected. Attempting to add alias '"
239+
+ alias + "' for op name '" + opName + "'. However the alias '" + alias + "' is already "
240+
+ "associated with op name '" + opAliases.get(alias) + "'.");
241+
}
237242
continue;
238243
}
239-
opAliases.put(name, opName);
244+
opAliases.put(alias, opName);
240245
}
241246
}
242247

0 commit comments

Comments
 (0)