Author: davidb Date: Wed Nov 29 21:33:36 2017 New Revision: 1816654 URL: http://svn.apache.org/viewvc?rev=1816654&view=rev Log: [Converter] Fix some of the generics.
Modified: felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ListDelegate.java felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/SetDelegate.java Modified: felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java?rev=1816654&r1=1816653&r2=1816654&view=diff ============================================================================== --- felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java (original) +++ felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java Wed Nov 29 21:33:36 2017 @@ -268,12 +268,12 @@ class ConvertingImpl extends AbstractSpe private Collection< ? > convertToCollectionDelegate() { if (forceCopy) return null; - + if (List.class.equals(targetClass) || Collection.class.equals(targetClass)) { if (sourceClass.isArray()) { return ListDelegate.forArray(object, this); } else if (Collection.class.isAssignableFrom(sourceClass)) { - return ListDelegate.forCollection((Collection) object, this); + return ListDelegate.forCollection((Collection<?>) object, this); } } else if (Set.class.equals(targetClass)) { if (sourceClass.isArray()) { @@ -281,13 +281,14 @@ class ConvertingImpl extends AbstractSpe .forCollection(ListDelegate.forArray(object, this), this); } else if (Collection.class.isAssignableFrom(sourceClass)) { - return SetDelegate.forCollection((Collection) object, this); + return SetDelegate.forCollection((Collection<?>) object, this); } } return null; } - private <T> T convertToCollection() { + @SuppressWarnings({ "rawtypes", "unchecked" }) + private <T> T convertToCollection() { Collection< ? > cv = collectionView(); Class<?> targetElementType = null; if (typeArguments != null && typeArguments.length > 0 && typeArguments[0] instanceof Class) { Modified: felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ListDelegate.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ListDelegate.java?rev=1816654&r1=1816653&r2=1816654&view=diff ============================================================================== --- felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ListDelegate.java (original) +++ felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ListDelegate.java Wed Nov 29 21:33:36 2017 @@ -33,16 +33,17 @@ class ListDelegate<T> implements List<T> private volatile boolean cloned; private final ConvertingImpl convertingImpl; - static <T> List<T> forArray(Object arr, ConvertingImpl converting) { - return new ListDelegate(new ArrayDelegate(arr), converting); + @SuppressWarnings({ "unchecked", "rawtypes" }) + static <T> List<T> forArray(Object arr, ConvertingImpl converting) { + return new ListDelegate<T>(new ArrayDelegate(arr), converting); } static <T> List<T> forCollection(Collection<T> object, ConvertingImpl converting) { if (object instanceof List) { - return new ListDelegate((List<T>) object, converting); + return new ListDelegate<T>((List<T>) object, converting); } - return new ListDelegate(new CollectionDelegate(object), converting); + return new ListDelegate<T>(new CollectionDelegate<>(object), converting); } private ListDelegate(List<T> del, ConvertingImpl conv) { @@ -51,13 +52,13 @@ class ListDelegate<T> implements List<T> } // Whenever a modification is made, the delegate is cloned and detached. - private void cloneDelegate() { + @SuppressWarnings("unchecked") + private void cloneDelegate() { if (cloned) { return; } else { cloned = true; - // delegate = new ArrayList<>(delegate); - delegate = new ArrayList(Arrays.asList(toArray())); + delegate = new ArrayList<T>((List<T>) Arrays.asList(toArray())); } } @@ -202,12 +203,14 @@ class ListDelegate<T> implements List<T> return delegate.lastIndexOf(o); } - @Override + @SuppressWarnings("unchecked") + @Override public ListIterator<T> listIterator() { return (ListIterator<T>) Arrays.asList(toArray()).listIterator(); } - @Override + @SuppressWarnings("unchecked") + @Override public ListIterator<T> listIterator(int index) { return (ListIterator<T>) Arrays.asList(toArray()).listIterator(index); } Modified: felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/SetDelegate.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/SetDelegate.java?rev=1816654&r1=1816653&r2=1816654&view=diff ============================================================================== --- felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/SetDelegate.java (original) +++ felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/SetDelegate.java Wed Nov 29 21:33:36 2017 @@ -33,12 +33,12 @@ class SetDelegate<T> implements Set<T> { private volatile boolean cloned; private final ConvertingImpl convertingImpl; - static <T> Set<T> forCollection(Collection<T> collection, + static <T> Set<T> forCollection(Collection<T> collection, ConvertingImpl converting) { if (collection instanceof Set) { - return new SetDelegate((Set<T>) collection, converting); + return new SetDelegate<T>((Set<T>) collection, converting); } - return new SetDelegate(new CollectionSetDelegate(collection), + return new SetDelegate<T>(new CollectionSetDelegate<>(collection), converting); }