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);
        }
 


Reply via email to