Deu boa pessoal!
O message.properties ficou na /src mesmo, o NullPointerException era referente a validação do endereço do proprietário:
// Endereço
that(!proprietario.getEndereco().getLogradouro().isEmpty(), "proprietario.logradouro",
"logradouroProprietario.obrigatorio");
that(proprietario.getEndereco().getNumero() != null, "proprietario.numeroLogradouro",
"numeroLogradouroProprietario.obrigatorio");
that(!proprietario.getEndereco().getBairro().isEmpty(), "proprietario.bairro",
"bairroProprietario.obrigatorio");
that(!proprietario.getEndereco().getCidade().isEmpty(), "proprietario.cidade",
"cidadeProprietario.obrigatorio");
that(!proprietario.getEndereco().getEstado().isEmpty(), "proprietario.estado",
"estadoProprietario.obrigatorio");
that(!proprietario.getEndereco().getCep().isEmpty(), "proprietario.cep",
"cepProprietario.obrigatorio");
Não sei o motivo de não aceitar da forma acima, então fiz igual a validação que tenho no método busca() que o Lucas me passou, usando a classe StringUtils:
// Endereço
Endereco endereco = proprietario.getEndereco();
that(!endereco.getLogradouro().isEmpty(), "proprietario.logradouro",
"logradouroProprietario.obrigatorio");
that(endereco.getNumero() != null, "proprietario.numeroLogradouro",
"numeroLogradouroProprietario.obrigatorio");
that(!endereco.getBairro().isEmpty(), "proprietario.bairro",
"bairroProprietario.obrigatorio");
that(!StringUtils.isBlank(endereco.getCidade()), "proprietario.cidade",
"cidadeProprietario.obrigatorio");
that(!StringUtils.isBlank(endereco.getEstado()), "proprietario.estado",
"estadoProprietario.obrigatorio");
that(!endereco.getCep().isEmpty(), "proprietario.cep",
"cepProprietario.obrigatorio");
Engraçado que é só em Estado e Cidade que dá esse problema, no restante não. Têm alguma restrição do validator em relação a dados vindos de combobox da JSP? Reparem que só usei StringUtils em Estado e Cidade, no Bairro não.
Os combos a que me refiro são estes:
<label for="estado">Estado</label>
<select id="estadoDropdown" name="imovel.endereco.estado">
<option value="">Selecione o Estado</option>
<option value="${imovel.endereco.estado }" selected="selected">${imovel.endereco.estado }</option>
<option value="AC">Acre</option>
<option value="AL">Alagoas</option>
<option value="AM">Amazonas</option>
<option value="AP">Amapá</option>
<option value="BA">Bahia</option>
<option value="CE">Ceará</option>
<option value="DF">Distrito Federal</option>
<option value="ES">Espirito Santo</option>
<option value="GO">Goiás</option>
<option value="MA">Maranhão</option>
<option value="MG">Minas Gerais</option>
<option value="MS">Mato Grosso do Sul</option>
<option value="MT">Mato Grosso</option>
<option value="PA">Pará</option>
<option value="PB">Paraíba</option>
<option value="PE">Pernambuco</option>
<option value="PI">Piauí</option>
<option value="PR">Paraná</option>
<option value="RJ">Rio de Janeiro</option>
<option value="RN">Rio Grande do Norte</option>
<option value="RO">Rondônia</option>
<option value="RR">Roraima</option>
<option value="RS">Rio Grande do Sul</option>
<option value="SC">Santa Catarina</option>
<option value="SE">Sergipe</option>
<option value="SP">São Paulo</option>
<option value="TO">Tocantins</option>
</select><br/><br />
<label>Cidade</label>
<select id="municipioDropdown" disabled="disabled" name="imovel.endereco.cidade"></select>
Esses aí que causam o NullPointerException no Controller.
Abraço!