Pregunta

Actualmente estoy haciendo buen uso de GWT ClientBundles en mi aplicación. Se trabaja muy bien, pero tengo una gran cantidad de recursos y se vuelve tedioso para crear manualmente interfaces Java para cada archivo:

@ClientBundle.Source("world_war_ii.txt")
public ExternalTextResource worldWarII();

@ClientBundle.Source("spain.txt")
public ExternalTextResource spain();

@ClientBundle.Source("france.txt")
public ExternalTextResource france();

Me gustaría ser capaz de (tal vez en tiempo de compilación) una lista dinámicamente todos los archivos * .txt en un determinado directorio, y luego tener acceso en tiempo de ejecución a ellos, tal vez como un ExternalTextResource[] matriz, en lugar de tener que explícitamente enumerarlos en mi código. Puede haber cientos de estos recursos, y enumerando de forma manual como código sería muy doloroso y imposible de mantener.

La documentación ClientBundle dice explícitamente que "para proporcionar una abstracción del sistema de archivos" es un no-objetivo, por lo que lamentablemente esto parece no permitir lo que estoy tratando de hacer.

¿Cuál es la mejor manera de hacer frente a un gran número de recursos externos que debe estar disponible en tiempo de ejecución? ¿Un generador de ayuda?

¿Fue útil?

Solución 2

Terminé siguiente este consejo : realizar las operaciones de archivo en el servidor, y luego devolver una lista de los datos del archivo (meta) a través de una llamada RPC.

Esto resulta ser bastante simple, y también me permite volver referencias ligero (nombres de archivo) en la lista, que utilizo para rellenar un lado del cliente Tree; cuando el usuario hace clic en un TreeItem los contenidos de texto reales se descargan.

Otros consejos

Hay un generador automático de CssResource - tal vez usted podría vistazo a su código y modificarlo para sus necesidades?

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