| 158 | } |
| 159 | |
| 160 | @SuppressWarnings("unchecked") |
| 161 | public static <T> GenericDAO<T> get(final Class<? extends T> clazz) { |
| 162 | GenericDAO<T> ret = (GenericDAO<T>) INSTANSE.genericDAOMap.get(clazz); |
| 163 | if (ret == null) { |
| 164 | try { |
| 165 | ret = new GenericDAO<T>() { |
| 166 | |
| 167 | @Override |
| 168 | protected Class<?> getType() { |
| 169 | // TODO Auto-generated method stub |
| 170 | return clazz; |
| 171 | } |
| 172 | }; |
| 173 | INSTANSE.genericDAOMap.put(clazz, ret); |
| 174 | } catch (Exception e) { |
| 175 | for (int i = 0; i < 10; i++) |
| 176 | logger.l1("!!! FATAL !!! Exception while creation DAO for " |
| 177 | + clazz.getCanonicalName()); |
| 178 | logger.l1("jNode have to shutdow during critical error", e); |
| 179 | System.exit(0); |
| 180 | } |
| 181 | } |
| 182 | return ret; |
| 183 | } |
| 184 | |
| 185 | public static ConnectionSource getSource() throws Exception { |
| 186 | if (INSTANSE.source != null) { |