Dummy-Objekte für Webgui erzeugen

alrik

Mitglied
Hallo erstmal!

Für ein Projekt in der Uni entwickeln wir eine Webanwendung auf Grundlage von Tapestry 5. Dabei kommen wir bisher ganz gut voran, das Datenmodell und der Programmablauf stehen.
Nun haben wir leider das Problem, dass wir zwar bereits eine Datenbankanbindung unserer Anwendung haben, die Datenbank aber erst in 2-3 Monaten mit Daten befüllt wird.

Nun haben wir uns überlegt, dass wir ja auch statt Datenbank-Objekte auch einfach selbst erstellte Objekte verwenden können.

Meine Frage hierzu wäre nun, ob es eine Java-Lib gibt, die es ermöglicht, beliebige Datenobjekte automatisch mit Zufallswerten zu erstellen (vielleicht über Reflections oder so Kram)?
Dann müsste man sich nicht selbst um die Erstellung kümmern.

Vielen Dank euch!

Alrik
 
Kümmere dich selbst um die Erstellung, sonst weisst du ja gar cniht was du da hast, und eine unbekannte Fixture ist schlechter als gar keine 😉
 
Naja, die Überlegung ist halt, dass ich momentan ~50 verschiedene Datentypen habe, die leider nichts miteinander zu tun haben.
Ich müsste also für die verschiedenen Webseiten jeweils immer eine Möglichkeit schaffen, mir einen der 50 Datentypen zu generieren, was dann auf 50 Methoden zur Generierung von Objekten hinaus läuft.

Da der Inhalt der Objekte aber oft nur aus Strings oder primitiven Datentypen besteht, wäre es natürlich cool, wenn sowas etwas einfacher gehen würde...
 
Wenn Ihr Euch auf gemeinsame Schnittstellen (was die Objekte und deren Persistierung betrifft) einigen könnt, ist Dir auch schon viel geholfen. Du kannst jetzt eine beliebige Persistierung vornehmen und später einfach die fertigen Sachen nutzen.
Andernfalls mach einfach diese Schnittstellen selbst und setz sie dann den Serverjungs vor. Schnittstelle muß natürlich gut sein 😉
 
Zuletzt bearbeitet:
Naja, die Persistenzschicht ist schon quasi fertig, es fehlen nur die Datenbankeinträge.

Deswegen haben wir uns ja überlegt, einfach irgendwie zum Testen der Oberflächen Dummys zu kreieren und wollten uns da etwas die Arbeit erleichtern indem wir diese automatisch erstellen 😉
 
Wäre es nicht einfacher irgendwelche Dummyeinträge in der DB anzulegen? Abhängig von der verwendeten DB sollte das ja schnell gemacht sein.
 
Ja, wäre auch eine Möglichkeit.
Ein weiterer Vorteil von der temporären Abkopplung der Datenbank wäre aber halt auch, dass ich als Entwickler nicht immer eine Verbindung zu dieser brauche um das Projekt lokal laufen zu lassen.
 
Ist halt die Frage, wie gut die Persistenzschicht durchdacht wurde. Wenn Du gute Schnittstellen hast, kannst Du Dir Dummies anlegen, und die z.B. in Maps halten (das wäre dann Deine eigene Art der Persistierung). Auf jeden Fall würde ich darauf achten, daß der Änderungsaufwand, wenn die Datenbank denn einmal fertig wird, minimal ist.
Da meistens noch nix fertig ist, programmiere ich erstmal Dummy-Persistierer (die die DB-Schnittstelle implementieren), die vordefinierte DTO ind Maps halten, geht schnell und wenn man einmal ein Muster hat, ist es meistens nur Copy&Paste. Wenns schlecht kommt muessen noch Dummy-DTO's her, ist aber bei Nutzung von Schnittstellen dafür auch kein Problem. So kannst Du die DB Sachen vollständig umschiffen.
Sind später Tabellen und Zugriffsmethoden implementiert worden, tausche ich einfach an einer Stelle eine Objekterzeugung aus.
Aber wie gesagt, es kommt auch die Schnittstellen an. Echten Spaß hast Du, wenn es wenige oder gar keine gibt 🙁
 
Zuletzt bearbeitet:
Nun ja, wir haben halt in der Webseite einen Service als Interface, der die Datenbankzugriffe regelt. Dieser wird momentan einmal als DAO implementiert und einmal als DummyDAO.
Die Änderungen halten sich also in Grenzen. Die Datenhaltung im Dummy läuft in einer Map. Nur möchte diese halt auch befüllt werden 😉
 
Du kannst dir ja statische hilfsmethoden in eine extra Klasse schreiben (TestUtil, AnounymousTestData, etc), welche Objekte mit Testdaten erzeugen.
Würde aber keine Zufallswerte nehmen, ein Namenfeld sollte schon einen Wert wie zB. "Vorname-1" (die 1 ist der Counter) oder so enthalten, anstatt "!"§$%&/(".
 
Hallo alrik,

Ich habe vor einiger Zeit auch einen ähnlichen Anspruch und mich dafür entschieden, ein kleines Tool dafür zu entwickeln.
Rausgekommen ist ein DummyCreator.

Den Download findest du hier:
dummycreator - Project Hosting on Google Code

Mit der Lib kann man beliebige Objekte generieren lassen, wobei die jeweiligen Werte per Zufallsgenerator erzeugt werden. Die Idee von Maki gefällt mir aber auch sehr gut, vielleicht lasse ich die demnächst mal noch einfließen.

Vielleicht hilft es dir ja!
 

Zurück
Oben