]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/runtime/org.argeo.server.core/src/main/java/org/argeo/server/dao/AbstractMemoryDaoSupport.java
Working backups
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.core / src / main / java / org / argeo / server / dao / AbstractMemoryDaoSupport.java
index 9e0881bf0243e4a8479172f7dc6f134576f74cf2..27eb6f7a66e8ec7ed68aa200ee97c0cdda3d51cb 100644 (file)
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with 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.
+ */
 package org.argeo.server.dao;
 
 import java.beans.PropertyEditor;
@@ -12,12 +27,11 @@ import java.util.TreeMap;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.argeo.server.ArgeoServerException;
+import org.argeo.ArgeoException;
 import org.springframework.beans.BeanWrapper;
 import org.springframework.beans.BeanWrapperImpl;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.generic.GenericBeanFactoryAccessor;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 import org.springframework.core.io.Resource;
@@ -64,7 +78,7 @@ public abstract class AbstractMemoryDaoSupport implements LightDaoSupport,
                                in = res.getInputStream();
                                load(in, references);
                        } catch (Exception e) {
-                               throw new ArgeoServerException("Cannot load stream", e);
+                               throw new ArgeoException("Cannot load stream", e);
                        } finally {
                                IOUtils.closeQuietly(in);
                        }
@@ -114,6 +128,8 @@ public abstract class AbstractMemoryDaoSupport implements LightDaoSupport,
 
        @SuppressWarnings("unchecked")
        public <T> T getByKey(Class<T> clss, Object key) {
+               if (key == null)
+                       throw new ArgeoException("Key is null for " + clss);
                return (T) model.get(findClass(clss)).get(key);
        }
 
@@ -134,7 +150,7 @@ public abstract class AbstractMemoryDaoSupport implements LightDaoSupport,
                return res;
        }
 
-       @SuppressWarnings("unchecked")
+       @SuppressWarnings({ "unchecked", "rawtypes" })
        public <T> List<T> list(Class<T> clss, Object filter) {
                List<T> res = new ArrayList<T>();
 
@@ -143,13 +159,12 @@ public abstract class AbstractMemoryDaoSupport implements LightDaoSupport,
                        res.addAll((Collection<T>) model.get(classToUse).values());
 
                if (applicationContext != null)
-                       res.addAll(new GenericBeanFactoryAccessor(applicationContext)
-                                       .getBeansOfType(clss).values());
+                       res.addAll(applicationContext.getBeansOfType(clss).values());
 
                return res;
        }
 
-       @SuppressWarnings("unchecked")
+       @SuppressWarnings({ "unchecked", "rawtypes" })
        protected Class findClass(Class parent) {
                if (model.containsKey(parent))
                        return parent;