Могу ли я предотвратить автоматическое преобразование Collection без дженериков в Collection<String> в Weblogic 14
У меня есть устаревший проект Java с большим количеством коллекций без использования дженериков.
Коллекции в основном выглядят так:
Collection myCollectionOfObjects;
public Collection getMyCollectionOfObjects() {
return myCollectionOfObjects;
}
public void setMyCollectionOfObjects(Collection myCollectionOfObjects) {
this.myCollectionOfObjects = myCollectionOfObjects;
}
Коллекция заполняется строками, к которым позже обращаются в JavaScript, и значение извлекается:
myString = myCollectionOfObjects[1].value;
Мы рассматриваем возможность обновления с Weblogic 12c до Weblogic 14, но сталкиваемся с проблемами с этими коллекциями из-за того, что Weblogic 14 автоматически обрабатывает преобразование, если коллекция содержит один и тот же тип для каждой записи, а JavaScript дает сбой из-за обработки коллекции. как Collection<String>, а не Collection<Object>, что, в свою очередь, означает, чтоmyCollectionOfObjects[1].value
не определено.
Очевидное решение, конечно, состояло бы в том, чтобы изменить устаревший код для использования дженериков, но огромный объем, в котором это используется, и тот факт, что ошибка возникает в JavaScript во время выполнения, является большим препятствием.
Итак, мой вопрос: есть ли возможность, чтобы Weblogic не выполнял автоматическое преобразование?
Я изменил Collection на Collection<String>, что привело к тому, что код работал как надо.
Проблема в том, что из-за сложности унаследованного кода найти все места в коде, где это потенциально может произойти, — непосильная задача.