@Override public Map<TipoProducto, ArrayList<LinkedHashMap<Marca, Long>>> getTiposProductoAndMarcasAndProductoCount() { List<Object[]> resultList = tipoProductoDao.getTiposProductoAndMarcasAndProductoCount(); Map<TipoProducto, ArrayList<LinkedHashMap<Marca, Long>>> resultMap = new LinkedHashMap<TipoProducto, ArrayList<LinkedHashMap<Marca, Long>>>(); for (Object[] resultObject : resultList) { TipoProducto tipoProducto = (TipoProducto) resultObject[0]; Marca marca = (Marca) resultObject[1]; Long productoCount = (Long) resultObject[2]; ArrayList<LinkedHashMap<Marca, Long>> arrayList; if (!resultMap.containsKey(tipoProducto)) { arrayList = new ArrayList<LinkedHashMap<Marca, Long>>(); } else { arrayList = resultMap.get(tipoProducto); } LinkedHashMap<Marca, Long> hashMap = new LinkedHashMap<Marca, Long>(); hashMap.put(marca, productoCount); arrayList.add(hashMap); if (!resultMap.containsKey(tipoProducto)) { resultMap.put(tipoProducto, arrayList); } } return resultMap; }
@Override public void updateTipoProducto(Integer tipoProductoId, String nombre, boolean presentable) { Assert.notNull(tipoProductoId, "tipoProductoId cannot be null"); Assert.notNull(nombre, "Nombre cannot be null"); TipoProducto tipoProducto = getTipoProductoById(tipoProductoId); if (!StringUtils.equals(nombre, tipoProducto.getNombre())) { tipoProducto.setNombre(nombre); } tipoProducto.setPresentable(presentable); tipoProductoDao.edit(tipoProducto); }
@Override public List<TipoProducto> getRootsTipoProducto() { return tipoProductoDao.query("Childless"); }
@Override public List<TipoProducto> getAllTipoProducto() { return tipoProductoDao.findAll(); }
@Override public TipoProducto getTipoProductoByNombre(String nombre) throws NoResultException { return tipoProductoDao.findBy("Nombre", "nombre", nombre); }
@Override public TipoProducto getTipoProductoById(Integer tipoProductoId) { return tipoProductoDao.find(tipoProductoId); }
@Override public void deleteTipoProducto(Integer tipoProductoId) { TipoProducto tipoProducto = getTipoProductoById(tipoProductoId); tipoProductoDao.destroy(tipoProducto); }
@Override public void createNewTipoProducto(String nombre, boolean presentable) { Assert.notNull(nombre, "Nombre cannot be null"); TipoProducto tipoProducto = new TipoProducto(nombre, presentable); tipoProductoDao.create(tipoProducto); }