Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0000087MagellanCR-Supportöffentlich2007-12-09 10:19
ReporterAnonymous Bearbeitung durchstm  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion1_2_4_Beta7 
Zusammenfassung0000087: Unvollständige Zauberberichterstattung
BeschreibungHabe diese Woche mehrere gleiche Zauber mit einem Magier gesprochen, angezeigt wird aber nur einer.
Zusätzliche InformationenCR-Ausschnitt:

"Wachposten (abcd) erschafft 1 Ring der flinken Finger.";rendered
1415835;mage
"Ring der flinken Finger";item
1;number
MESSAGE 163550408
1406933665;type
"Wachposten (abcd) erschafft 1 Ring der flinken Finger.";rendered
1415835;mage
"Ring der flinken Finger";item
1;number
MESSAGE 163614456
1406933665;type
"Wachposten (abcd) erschafft 1 Ring der flinken Finger.";rendered
1415835;mage
"Ring der flinken Finger";item
1;number
MESSAGE 259632008
1406933665;type
TagsKeine Tags zugeordnet.
ProjectMagellan 1

Notizen / Dateien

darcduck

2007-12-06 10:16

Entwickler   ~0000224

Zuletzt bearbeitet: 2007-12-06 10:30

Ich denke ich habe das Problem gefunden:
Klasse: MagellanMessageImpl

    private boolean isComplexEquals(MagellanMessageImpl o) {
        // this means: this.ID == o.ID ( != ambiguousID ) || (<IDs are not equal> this.text == o.text && this.messageType == o.messageType)
        return !this.getID().equals(ambiguousID) &&
               (this.getID().equals(o.getID()) ||
               (equalObjects(this.getText(), o.getText()) &&
               equalObjects(this.getMessageType(), o.getMessageType())));
    }

Interessant ist der Teil a.ID=b.ID oder a.Text=b.Text

Da der Text hier tatsächlich immer gleich ist, wird dann irgendwo anders das "Duplikat" entfernt ...

Wie sollte das nun aussehen?

isComplexEquals wird ja nur für Meldungen mit ID aufgerufen. Da sollte meiner Meinung nach auch nur die ID verglichen werden fertig. Den Typ kann man zur Sicherheit prüfen, den Text darf man nicht mit Oder verketten. Ich würde ihn ganz rauslassen, da er sowieso sprachabhängig ist, und somit beim Vergleich zweier Msg mit unterschiedlichem Locale sonst fehlschlagen würde.

Tatsächlich heisst aber unterschiedliche ID nicht das es sich unbedingt um unterschiedliche Meldungen handeln muss. Im gleichen Kampf habe ich für die gleichen Abschnitte des Kampfreports teils gleiche und teils unterschiedliche msgIDs in zwei Reporten. Da die Msg aber zu einer Partei zugeordnet werden, sollte das auch kein Problem sein.

darcduck

2007-12-06 12:18

Entwickler   ~0000223

Zuletzt bearbeitet: 2007-12-06 15:04

fixed in magellan2

stm

2007-12-09 10:19

Administrator   ~0000219

Fixed in Magellan2, "will not change" in Mag1, da nicht kritisch.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2007-09-24 10:54 Anonymous Neuer Eintrag
2007-12-09 10:19 stm Bearbeitung durch => stm
2007-12-09 10:19 stm Lösung offen => erledigt
2007-12-09 10:19 stm Status neu => erledigt