Pergunta

Eu tenho os seguintes dados:

User   System    SubSystem
user1  System1   SubSystem1
user2  System1   SubSystem2
user3  N/A       N/A

e eu preciso ser capaz de determinar o sistema / subsistema de tupla do usuário. I deve ser capaz de adicionar usuários a qualquer momento sem reconstruir e reimplantar o sistema.

Eu sei que o banco de dados seria a melhor opção aqui, mas Eu não posso usar uma tabela de banco de dados.

Actualmente, eu tê-lo mapeada usando um mapa de hash, mas eu não quero que ele seja codificado. Eu estava pensando sobre como usar um arquivo de propriedades, mas não posso imaginar como eu iria implementá-lo. Alguém tem alguma sugestão?

Não que isso importe, mas eu estou usando JAVA, no WebLogic 10.3.

Foi útil?

Solução

Gostaria de ir para algo tão simples como:

user1 = userValue
user1.system = systemValue
user1.system.subsystem= subsystemValue
user2 = userValue
user2.system = systemValue
user2.system.subsystem= subsystemValue

user (id) é usado como chave de "primário" em suas propriedades, e uma concatenação muito simples de seus campos a guardar os seus valores da tabela. Eu uso isso com muita frequência: a confiança em mim, é muito mais poderosa do que pode parecer :)

Outras dicas

Você pode fazer isso usando um HashMap (como você faz agora) e armazená-lo usando XStream .

XStream permite serialise / deserialise objetos Java para / de XML legível / editável. Você pode então escrever isso para (digamos) um sistema de arquivos, eo resultado é editável com a mão.

A desvantagem é que é uma serialização em XML de um objeto Java, por isso, não imediatamente óbvio como um arquivo de propriedades para editar. No entanto, ainda é muito legível e facilmente compreendida por qualquer pessoa remotamente técnico. Se esta é uma solução adequada depende do público deste arquivo.

soa como algo que você poderia muito bem usar YAML para ..
SnakeYAML parece ser uma implementação Java viável.

Para este projeto eu tenho ido com a solução proposta por Olivier. Algum projeto contrainst (legado do projeto) impedir-me para ir com um provavelmente melhor solução de usar XStream.

Thx para os caras feed back

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top