You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/09/13 18:13:45 UTC
svn commit: r1881686 - in
/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl: store/Xobj.java
values/TypeStore.java
Author: kiwiwings
Date: Sun Sep 13 18:13:44 2020
New Revision: 1881686
URL: http://svn.apache.org/viewvc?rev=1881686&view=rev
Log:
Fix cast error on TypeStore (in POI)
Modified:
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/TypeStore.java
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java?rev=1881686&r1=1881685&r2=1881686&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java Sun Sep 13 18:13:44 2020
@@ -1984,20 +1984,22 @@ abstract class Xobj implements TypeStore
return null;
}
+ @SuppressWarnings("unchecked")
@Override
- public void find_all_element_users(QName name, List<TypeStoreUser> fillMeUp) {
+ public <T extends XmlObject> void find_all_element_users(QName name, List<T> fillMeUp) {
for (Xobj x = _firstChild; x != null; x = x._nextSibling) {
if (x.isElem() && x._name.equals(name)) {
- fillMeUp.add(x.getUser());
+ fillMeUp.add((T)x.getUser());
}
}
}
+ @SuppressWarnings("unchecked")
@Override
- public void find_all_element_users(QNameSet names, List<TypeStoreUser> fillMeUp) {
+ public <T extends XmlObject> void find_all_element_users(QNameSet names, List<T> fillMeUp) {
for (Xobj x = _firstChild; x != null; x = x._nextSibling) {
if (x.isElem() && names.contains(x._name)) {
- fillMeUp.add(x.getUser());
+ fillMeUp.add((T)x.getUser());
}
}
}
@@ -2338,11 +2340,12 @@ abstract class Xobj implements TypeStore
assert m == n;
- List<TypeStoreUser> elementsUser = new ArrayList<>();
+ List<XmlObject> elementsUser = new ArrayList<>();
find_all_element_users(elementName, elementsUser);
List<Xobj> elements = elementsUser.stream()
+ .map(x -> (TypeStoreUser)x)
.map(TypeStoreUser::get_store)
.map(x -> (Xobj)x)
.collect(Collectors.toList());
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/TypeStore.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/TypeStore.java?rev=1881686&r1=1881685&r2=1881686&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/TypeStore.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/TypeStore.java Sun Sep 13 18:13:44 2020
@@ -176,14 +176,14 @@ public interface TypeStore extends Names
* given name owned by this typestore, or the empty array of
* TypeStoreUsers if none was found.
*/
- void find_all_element_users(QName name, List<TypeStoreUser> fillMeUp);
+ <T extends XmlObject> void find_all_element_users(QName name, List<T> fillMeUp);
/**
* Returns all TypeStoreUsers corresponding to elements with one
* of the names is the QNameSet.
*/
- void find_all_element_users(QNameSet name, List<TypeStoreUser> fillMeUp);
+ <T extends XmlObject> void find_all_element_users(QNameSet name, List<T> fillMeUp);
/**
* Inserts a new element at the position that will make it
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org