package gcom.cadastro.atualizacaocadastral.validador; import gcom.cadastro.atualizacaocadastral.command.AtualizacaoCadastralImovel; import gcom.cadastro.atualizacaocadastral.command.TipoEconomia; import java.util.Map; import org.apache.commons.lang.StringUtils; public class ValidadorEconomiasCommand extends ValidadorCommand { public ValidadorEconomiasCommand(AtualizacaoCadastralImovel cadastroImovel, Map<String, String> linha) { super(cadastroImovel, linha); } @Override public void execute() throws Exception { boolean existeEconomia = false; for (String key : linha.keySet()) { if (key.contains("subcategoria")) { String valor = linha.get(key).trim(); if (StringUtils.isNotEmpty(valor) && !StringUtils.containsOnly(valor.trim(), new char[] { '0' })) { existeEconomia = true; char codigo = key.replace("subcategoria", "").charAt(0); TipoEconomia tipo = TipoEconomia.getByCodigo(codigo); if (!cadastroImovel.getDadosImovel().contemTipoEconomia(tipo)) { cadastroImovel.getDadosImovel().addTipoEconomia(tipo); } } } } if (!existeEconomia) { cadastroImovel.addMensagemErro("Im�vel deve possuir ao menos uma economia"); } } }