Comments (22)
Cuando hablé sobre una pila no me hagan caso, la pila es implícita, es el
recorrido "recursivo" a través de los métodos de guardado/cargado de los
diferentes objetos. Y al principio de cada llamado habría que agregar el
objeto al Map, para que no lo guarde/cargue de vuelta.
Original comment by [email protected]
on 10 Jun 2011 at 10:36
from fiuba-algo3-tp2.
Vos planteas que hallan archivos xml para cada objeto? o que seria en ese caso
el 123.xml?
Original comment by [email protected]
on 11 Jun 2011 at 3:33
from fiuba-algo3-tp2.
Sí, eso es lo que planteo. 123.xml es el archivo que contiene lo que dice
después de "En 123.xml:" en el mensaje que escribí.
A cada objeto que tenga los métodos para guardar/cargar, podemos meterlo en un
archivo separado y que quede guardado ahí. Después, al momento de cargar el
objeto de tal id, abrimos el archivo [id].xml y lo cargamos; entonces van a
haber tantos archivos abierto como profundidad hayamos alcanzado en el grafo
que estamos recorriendo (todo lo demás va a estar o ya cerrado y cargado o por
cargar si no se llegó).
La otra era meter varios objetos en un mismo archivo, pero se complica cómo lo
organizamos y cómo encontramos el objeto que queremos cargar (y ni hablar de
que no manejamos el archivo manualmente como para poder saltar con libertad de
un lado a otro conociendo las posiciones de cada objeto en el archivo, o al
menos no sé cómo hacerlo con el manejador que vamos a usar).
Original comment by [email protected]
on 11 Jun 2011 at 4:04
from fiuba-algo3-tp2.
Para mi es bastante feo hacer muchos archivos. Con uno solo se podria manejar
bien. Espero poder tener algo andando para mañana para poder mostrar que si
anda
Original comment by [email protected]
on 11 Jun 2011 at 5:00
- Added labels: Priority-Medium
- Removed labels: Priority-High
from fiuba-algo3-tp2.
Si yo también creo que es bastante feo hacer muchos archivos, de hecho,
estariamos desperdiciando lo que nos permite xml que es poder armar todo en
forma de arbol. Yo también pienso que en un solo archivo tiene que entrar
todo. A lo sumo, poner un xml para misiones (o sea misiones por defecto con su
configuración inicial para partidas nuevas) y otro para el guardado de
partidas ya iniciadas en donde necesitamos especificar a quien pertenece cada
partida.
Original comment by [email protected]
on 11 Jun 2011 at 12:38
from fiuba-algo3-tp2.
Para la persistencia de misiones, se puede hacer en un único archivo.
Pero la otra persistencia, si encuentran alguna solución que funcione bien
está ok.
Original comment by [email protected]
on 11 Jun 2011 at 4:14
from fiuba-algo3-tp2.
No quiero ser agua fiestas, pero la prueba de persistencia no anda =S, explota
apenas inicia porque no encuentra los archivos... Pego acá el error para que
vean:
java.io.FileNotFoundException: c:\pablo_java.xml (El sistema no puede hallar el
archivo especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at tp2.persistencia.ReconstructorDeGrafo.ReconstruirDesde(ReconstructorDeGrafo.java:19)
at tp2.Programa.main(Programa.java:17)
Exception in thread "main" java.lang.NullPointerException
at tp2.modelo.Partida.nuevaDesde(Partida.java:112)
at tp2.Programa.main(Programa.java:19)
Original comment by [email protected]
on 12 Jun 2011 at 2:23
from fiuba-algo3-tp2.
Yo puse como nombre de archivo "pablo_java.xml" (sin el d:\\) y me anduvo.
Original comment by [email protected]
on 12 Jun 2011 at 4:26
from fiuba-algo3-tp2.
Probé eso pero sigue sin andarme, tira el mismo error...
Original comment by [email protected]
on 12 Jun 2011 at 4:38
from fiuba-algo3-tp2.
En windows 7 el C esta protegido, tenes que tirarlo en una carpeta cualquiera
sino no lo toma
Original comment by [email protected]
on 12 Jun 2011 at 4:56
from fiuba-algo3-tp2.
Descomentastes cuando crea el archivo no?
Original comment by [email protected]
on 12 Jun 2011 at 4:58
from fiuba-algo3-tp2.
Igual yo uso XP, mi maquina no se vanga el seven jajaja Hay que descomentar lo
que esta comentado en el main?
Original comment by [email protected]
on 12 Jun 2011 at 4:59
from fiuba-algo3-tp2.
Listo, ya andubo, descomente las dos lineas que estaban comentadas.
Original comment by [email protected]
on 12 Jun 2011 at 5:01
from fiuba-algo3-tp2.
Eso fue culpa mia que me olvide de descomentarlos antes de comprimir, lo
comente para poder manipular el xml y ver si se modificaba el otro que se creaba
Original comment by [email protected]
on 12 Jun 2011 at 5:42
from fiuba-algo3-tp2.
Tengo varias cosas para criticar (no se ofendan).
- Hay métodos "guardar", y no veo ninguno que se llame "cargar".
- Hay mezcla de idiomas.
- Realmente tuve que mirar al 100% el código para poder entender más o menos
qué hace cada cosa.
- ¿Hace falta que cada objeto tenga un ID como atributo? Para mí de eso
tendría que encargarse una clase de persistencia, y no tiene nada que ver con
el objeto.
- ¿No sería mejor excluir a la palabra "grafo" de nuestras mentes al guardar
o cargar?
- ¿Qué pasa si hay dependencias circulares? No encontré (aunque puede que
sí esté) ninguna colección que vaya almacenando los datos que van siendo
guardados o cargados, como para que sea posible resolver ese tema de
dependencias circulares.
Finalmente, después de resolver todo esto, lo que estaría bueno es, como
estuve diciendo ayer, salirnos del ámbito del TP, y que para probar la
persistencia usemos dos clases, tal que creemos dos objetos que se contengan
mutuamente en sus atributos.
Original comment by [email protected]
on 12 Jun 2011 at 6:06
from fiuba-algo3-tp2.
Ah, ya vi el HashMap en un método nuevaDesde. La cosa es que ese Map lo pueda
consultar cualquier objeto al cargarse, y no que sólo sea visible en ese caso
desde partida. Después al guardar es la misma historia, los objetos tienen que
guardarse una sola vez, por lo tanto hay que tener también ahí un Map.
Original comment by [email protected]
on 12 Jun 2011 at 6:15
from fiuba-algo3-tp2.
- Hay métodos "guardar", y no veo ninguno que se llame "cargar".
>>> Tienen metodos static para recrear la clase, no se puede "generalizar" en
una interfaz u otro lado
- Hay mezcla de idiomas.
>>> Si es por lo de dummy se aceptan sugerencias de como ponerlo en español
- Realmente tuve que mirar al 100% el código para poder entender más o menos
qué hace cada cosa.
>>> Era una prueba, no tienen comentarios, es logico que pase esto.
- ¿Hace falta que cada objeto tenga un ID como atributo? Para mí de eso
tendría que encargarse una clase de persistencia, y no tiene nada que ver con
el objeto.
>>> Es lo mismo que si implementaran serializable que se les asigna un ID, sino
es dificil mantener el recorrido sobre el grafo
- ¿No sería mejor excluir a la palabra "grafo" de nuestras mentes al guardar
o cargar?
>>> La idea es que lo que se genere con las clases de persistencia sea un
grafo, y que como la guarden/levanten sea independiente de eso, pero la
estructura sea un grafo.
- ¿Qué pasa si hay dependencias circulares? No encontré (aunque puede que
sí esté)
ninguna colección que vaya almacenando los datos que van siendo guardados o
cargados, como para que sea posible resolver ese tema de dependencias
circulares.
>>> Ya con lo de jugador creo que queda ya resuelto lo de circularidad.
Original comment by [email protected]
on 12 Jun 2011 at 6:24
from fiuba-algo3-tp2.
Ah, ya vi el HashMap en un método nuevaDesde. La cosa es que ese Map lo pueda
consultar cualquier objeto al cargarse, y no que sólo sea visible en ese caso
desde partida. Después al guardar es la misma historia, los objetos tienen que
guardarse una sola vez, por lo tanto hay que tener también ahí un Map.
>>> A todos los objetos se les pasa el hash salvo a la partida porque la
partida es unica, y hacerlo desde fuera no tiene sentido
Original comment by [email protected]
on 12 Jun 2011 at 6:25
from fiuba-algo3-tp2.
By Hige
Original comment by [email protected]
on 13 Jun 2011 at 1:22
Attachments:
from fiuba-algo3-tp2.
Subo
Original comment by [email protected]
on 13 Jun 2011 at 1:34
Attachments:
from fiuba-algo3-tp2.
Se va a implementar el resultado de todos.
Fin de la discusión.
Original comment by [email protected]
on 13 Jun 2011 at 2:08
- Changed state: Done
from fiuba-algo3-tp2.
Ah recorde, alguien que se cope y pase en limpio la charla cortita que para el
informe garpa mucho =P
Yo no lo digo, lo dice el apunte de continuiusbdasñadhb integration XD
Original comment by [email protected]
on 13 Jun 2011 at 2:17
from fiuba-algo3-tp2.
Related Issues (14)
- Pruebas con nomenclatura erronea HOT 3
- Assert poco claros HOT 6
- Clase Point HOT 4
- ObjetoVolador HOT 2
- Falta traducciones para VueloEnCirculosTest HOT 2
- Falta traducciones para VueloDireccionableTest HOT 2
- Duda acerca de traduccion / coherencia del codigo HOT 2
- Do not run on X64 HOT 5
- Ant no compila correctamente. HOT 3
- Tamaño de las imágenes HOT 8
- Problemas de acoplamiento HOT 3
- SVN HOT 1
- El modelo no pasa las pruebas HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fiuba-algo3-tp2.