// Copyright 2012 Citrix Systems, Inc. Licensed under the // Apache License, Version 2.0 (the "License"); you may not use this // file except in compliance with the License. Citrix Systems, Inc. // reserves all rights not expressly granted by the License. // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.utils.db; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; import junit.framework.TestCase; import org.apache.log4j.Logger; public class ElementCollectionTest extends TestCase { static final Logger s_logger = Logger.getLogger(ElementCollectionTest.class); ArrayList<String> ar = null; List<String> lst = null; Collection<String> coll = null; String[] array = null; public void testArrayList() throws Exception { Field[] fields = this.getClass().getDeclaredFields(); for (Field field : fields) { if (Modifier.isStatic(field.getModifiers())) { continue; } Class<?> type1 = field.getType(); Object collection = null; if (!type1.isArray()) { ParameterizedType type = (ParameterizedType)field.getGenericType(); Type rawType = type.getRawType(); Class<?> rawClazz = (Class<?>)rawType; if (!Modifier.isAbstract(rawClazz.getModifiers()) && !rawClazz.isInterface() && rawClazz.getConstructors().length != 0 && rawClazz.getConstructor() != null) { collection = rawClazz.newInstance(); } if (collection == null) { if (Collection.class.isAssignableFrom(rawClazz)) { collection = new ArrayList(); } else if (Set.class.isAssignableFrom(rawClazz)) { collection = new HashSet(); } } } else { collection = Array.newInstance(String.class, 1); } field.set(this, collection); assert (field.get(this) != null); } } }