Autor Thema: euro2004  (Gelesen 16662 mal)

Hernan Cortez

  • Gast
Re:euro2004
« Antwort #20 am: 31.05.04 - 19:00:49 »
sag bitte, wenn es funktioniert.

Hier ist erstmal vorläufiges ddl-Skript für das Erstellen der Tabellen in MySQL (wie gesagt läuft alles bisher über xml).

Datenbank euro2004 anlegen und das im MySQL Controll Center gibt es einen button SQL. Da öffnet sich ein Fenster und das geht alles ganz einfach.

Das gibt auch einen Überblick über die BusinessObjekte.

Hernan Cortez

  • Gast
Re:euro2004
« Antwort #21 am: 31.05.04 - 19:17:42 »
Als euro2004 night bird version Installierer bist du eine absolute Granate, Thomas.  ;D
Sowohl in Sachen Nerven als auch in Hinblick auf Kompetenz.
Jetzt müsstest du es aber sehen, oder.
Du kannst SpielTipps eingeben und dann den Speicher-Icon drücken. Die Ergebnisse sollten dann in den Tabellen rechts auftauchen.
Ich muss gleich noch Eisenbahn fahren und bin bis morgen früh nicht mehr im Netz.

Gruß Axel

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:euro2004
« Antwort #22 am: 31.05.04 - 19:23:47 »
wie gesagt, das Fenster öffnet sich. Und ich kann Ergebnisse tippen und an der Konfiguration rumstellen.

diese SQL-Anweisungen ließen sich auch ohne Probleme importieren.

wenn ich was tippe, dann schreibst du das noch nicht raus, oder?
MainTab.save() is noch leer...

was gibts denn noch zu tun? so entwicklungstechnisch.
vielleicht kann ich ja ein ganz klein wenig helfen...
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Hernan Cortez

  • Gast
Re:euro2004
« Antwort #23 am: 31.05.04 - 19:36:21 »
wenn du Ergebnisse eintippst und auf den speichern icon klickst, errechnen sich die Tabellen neu.
MatchScheduleTab.save() ist nicht leer.
Spiele entfernen sind noch nicht da.
Alles weitere ist eigentlich auch nicht da.
Sorry. Ich muß jetzt los. Weitere Erklärungen später.

Die Klasse MatchSchedule ist eine Art Facade (da ist aber noch ziemlich kraus).
MatchSchedule has Phases
Phases has Matches
Phases has GroupLogic
Phases has Groups (oder nicht bei ko)
Matches has MatchResult
Matches has MatchResultTip
Groups has Teams
MatchResult und MatchResultTip ist ziemlich krauss durcheinander.

Mehr später.

Gruß Axel
« Letzte Änderung: 31.05.04 - 19:37:05 von El Indio Mapuche »

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:euro2004
« Antwort #24 am: 31.05.04 - 20:40:35 »
ah ja. na sieht doch schon sehr gut aus.

hast du das ganze zufällig auch als Modell?
das würde das Verstehen etwas erleichtern
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:euro2004
« Antwort #25 am: 31.05.04 - 20:51:45 »
gui
« Letzte Änderung: 31.05.04 - 20:53:32 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:euro2004
« Antwort #26 am: 31.05.04 - 20:53:52 »
bo
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:euro2004
« Antwort #27 am: 31.05.04 - 20:54:13 »
db
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Hernan Cortez

  • Gast
Re:euro2004
« Antwort #28 am: 01.06.04 - 18:17:55 »
sieht gut aus. Womit hast du das gemacht?
Ich habe gestern Hibernate zum laufen gekriegt. Die folgenden Dateien können ersetzt werden:
1. hibernate.properties
Code
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/euro2004
hibernate.connection.username=root
hibernate.connection.password= 
hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=300
hibernate.c3p0.max_statements=50
hibernate.c3p0.idle_test_period=3000
2. User.hbm.xml
Code
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class
name="de.aja.em2004.bo.User"
table="USER">
<id name="id" column="ID">
<generator class="native"/>
</id>
<property name="name" column="NAME"/>
<property name="userNameProxy" column="USERNAMEPROXY"/>
<property name="userPwdProxy" column="USERPWDPROXY"/>
</class>
</hibernate-mapping>
3. Starter.java
Code
/*
 * Created on 09.05.2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package de.aja.em2004;

import de.aja.em2004.bo.*;
import de.aja.em2004.db.*;
import de.aja.em2004.gui.MainWindow;

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.sql.*;

/**
 * @author Axel Janssen
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class Starter {
   
   // hibernate session Factory 
   private SessionFactory hibSessionFactory;
   
   private static Starter starter = new Starter();
   
   
   private Starter() {
      initHibernateConfig();
   }
   
   public static Starter getInstance() {
      return starter;
   }
   
   private static void startupGui() {
      MatchSchedule gameSchedule = (MatchSchedule)PersistenceManager.getInstance().readObjectRootFromFile("MatchSchedule");
      
   }
   
   public SessionFactory getHibSessionFactory() {
      return hibSessionFactory;
   }
   
   public void initHibernateConfig(){
      try {
         //System.out.println(System.getProperty("java.class.path"));
         
         Configuration cfg = new Configuration();
         cfg.addClass(de.aja.em2004.bo.User.class); // sonst addFile
         //cfg.setProperties( System.getProperties() );
         hibSessionFactory = cfg.buildSessionFactory();
         
      } catch (MappingException e) {
         e.printStackTrace();
         
      } catch (HibernateException e) {
         e.printStackTrace();
      }
   }
   
   public static void main(String[] args) {
      
      
   }
}


4. User.java
Code
/*
 * Created on 27.05.2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package de.aja.em2004.bo;


import net.sf.hibernate.*;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import de.aja.em2004.Starter;
/**
 * @author Axel Janssen
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class User {

   
   private long id;
   private String name;
   private String userNameProxy;
   private String userPwdProxy;

   
   public User (String name, String proxy, String pwd) {
      this.setName(name);
      setUserNameProxy(proxy);
      userPwdProxy = pwd;
   }
   
   public User() {}
   
   
   
   
   
   public static long createInstance(String name, String userNameProxy, String userNamePwd) {
      User user = new User(name, userNameProxy, userNamePwd);
      return user.getId();
   }

   private void setId(long id) {
      this.id = id;
   }

   protected long getId() {
      return id;
   }

   protected void setName(String name) {
      this.name = name;
   }

   protected String getName() {
      return name;
   }

   protected void setUserNameProxy(String userNameProxy) {
      this.userNameProxy = userNameProxy;
   }

   protected String getUserNameProxy() {
      return userNameProxy;
   }

   protected void setUserPwdProxy(String userPwdProxy) {
      this.userPwdProxy = userPwdProxy;
   }

   protected String getUserPwdProxy() {
      return userPwdProxy;
   }
   
   
   public void save() {
      
      Session session;
      try {
         session = Starter.getInstance().getHibSessionFactory().openSession();
         
         
         Transaction tx = session.beginTransaction();
         session.save(this);
         tx.commit();
         session.close();
         System.out.println(this.toString());
      } catch (HibernateException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
   }
   
   public static void main (String[] args) {
      User looser = new User();
      looser.setName("axel");
      looser.save();
   }
   
   public String toString() {
      return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
   }
   
   
}

Sämtliche jars aus dem lib Verzeichnis von Hibernate in das Projekt importieren. Blick da zwischenzeitlich nicht mehr durch. Muss mir da irgendwann Klarheit verschaffen, was wirklich gebraucht wird. Ist aber erstmal ok.

User starten (hat main Methode für einen kleinen Test). Die Daten werden dann in die RDBMS geschrieben. Achtet auf den Wert von User.id nach dem save(). Hibernate ist Groß.

Was hier definitiv fehlt sind die usecases.
Ich denke auch, dass das statische Objektmodell soweit erstmal ok ist.
Aber was macht der Anwender mit den Objekten:
- Tipp zwiscchenspeichern
- endgültigen Tipp an das Forum absenden
- Ergebnisse eingeben (mit daran anschliessender Berechnung der Punktestände, etc.)
- vertipptes Ergebnis wieder wegnehmen.

- an das Forum gepostete xml Dateien einsammeln und verarbeiten (eigenes Icon in Menüleiste)

- Starte ein neues Spiel.

Costumbre del indio, um duh aus Java duh in eine duh relationale Datenbank zu schreiben:
así no más:
Code
session.save(this); 
Wobei ich zugeben muß, dass ich die Metadatenbeschreibung .hbm.xml noch von Hand schreibe. Man kann das aber auch mit xDoclet automatisch generieren (fehlen mir noch ein bischen die Nerven für).

Gruß Axel
« Letzte Änderung: 01.06.04 - 18:23:22 von El Indio Mapuche »

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:euro2004
« Antwort #29 am: 01.06.04 - 19:21:50 »
Zitat
sieht gut aus. Womit hast du das gemacht?

mit Together. das fütterst du mit dem Code und es spuckt die Diagramme aus.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Hernan Cortez

  • Gast
un indio en apuros
« Antwort #30 am: 04.06.04 - 18:05:39 »
 ::)
Hi,

die Hibernatisierung von allem führt zu hmm sagen wir gewissen Verzögerungen.
Ausserdem gibts hier auch eine Menge, Menge, Menge bei der Arbeit zu tun.

Strick jedenfalls alles um und weiss nicht, ob ich bis zur EM fertig werde. Sonst gibt es das eben zum olympischen Fußball, Handball oder Basketball Tunier.

Sobald ich jedenfalls etwas Aussagekräftiges habe, werde ich posten.

Gruß Axel

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:euro2004
« Antwort #31 am: 09.06.04 - 16:02:27 »
weiss nicht, ob es nicht schon bekannt ist. Hier gibt es ein Blog zur EM http://www.em-blog.de/
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Hernan Cortez

  • Gast
Re:euro2004
« Antwort #32 am: 09.06.04 - 16:34:18 »
weiss nicht, ob es nicht schon bekannt ist. Hier gibt es ein Blog zur EM http://www.em-blog.de/

Danke. Aber der hatte auch keinen Webservice für Ergebnisse. :-\

Es geht hier um die Definition und Implementierung endgültiger Regeln und best practices für verteilte Anwendungen.

Also quasi so was ähnliches wie Moses für Jura nur eben für die endgültige Klärung sämtlicher Fragen in der Entwicklung verteilter Anwendungen.


... was natürlich Unsinn ist.

Ich spiele hier mit Komponenten, die aus einem stark als solchen kenntlichen Objektlayer heraus mit extrem wenig Zeilen code
- xml parsed und generiert  
- Daten in einer RDBMS speichert und liest
- über das Web kommuniziert
- webservices verarbeitet, wenn ich denn einen finde
- als Webrobot agiert

... ich werde weitere Versionen posten.
Die nächste Version wird ein bischen klarer.  

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:euro2004
« Antwort #33 am: 18.06.04 - 15:31:50 »
Hut ab, die Ergebnisse hast Du ja ziemlich gut getippt...;)
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz