Pregunta

Tengo los siguientes datos:

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

y necesito poder determinar la tupla de sistema / subsistema del usuario. Debo poder agregar usuarios en cualquier momento sin reconstruir y redistribuir el sistema.

Sé que la base de datos sería la mejor opción aquí, pero no puedo usar una tabla de base de datos.

Actualmente lo tengo mapeado usando un mapa hash pero no quiero que esté codificado. Estaba pensando en usar un archivo de propiedades pero no puedo visualizar cómo lo implementaría. ¿Alguien más tiene alguna sugerencia?

No es que importe, pero estoy usando JAVA, en weblogic 10.3.

¿Fue útil?

Solución

Iría por algo tan simple como:

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

usuario (id) se utiliza como " primario " introduzca sus propiedades y una concatenación muy simple de sus campos para almacenar los valores de su tabla. Uso esto muy a menudo: confía en mí, es mucho más poderoso de lo que parece :)

Otros consejos

Puede hacer esto usando un HashMap (como lo hace ahora) y almacenarlo usando XStream .

XStream le permite serializar / deserializar objetos Java a / desde XML legible / editable. Luego puede escribir esto en (digamos) un sistema de archivos, y el resultado es editable a mano.

El inconveniente es que es una serialización en XML de un objeto Java, por lo que no es tan obvio como un archivo de propiedades para editar. Sin embargo, todavía es muy legible, y es fácil de entender por cualquier persona, de manera remota, técnica. Si esta es una solución adecuada depende de la audiencia de este archivo.

Suena como algo que podría usar muy bien YAML para ...
SnakeYAML parece ser una implementación de Java viable.

Para este proyecto he ido con la solución propuesta por Olivier. Algunos proyectos contrainst (legado del proyecto) me impiden utilizar una solución probablemente mejor para usar XStream.

Thx para los chicos de retroalimentación

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top