@Override public List<TemplateAttribute> getTemplateAttributes(Template t) { ArrayList<TemplateAttribute> result = new ArrayList<TemplateAttribute>(); final StoreDB.Api api = store.getApi(); try { final List<TemplateAttribute> fromCache = cache.getTemplateAttributes(t); if (fromCache != null) { return fromCache; } return cache.putTemplateAttributes( t, toClientTemplateAttributes(api.getTemplateAttributes(t.getId()))); } catch (SQLException ex) { log.log(Level.SEVERE, ex.getLocalizedMessage(), ex); } finally { api.close(); } return result; }