• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

RC1 Fehlerthread

MiK

Geoguru
lahmer schrieb:
Nein, wieso sollte ich... die Entscheidung, ob es mein eigener Cache ist, kann doch nach Setzen des korrekten Usernamens in den Einstellungen auch lokal (ohne Internetanbindung) getroffen werden.
Caches werden eben nur manuell mit diesem Befehl aktualisiert. Es werden nicht alle Caches bei einer Einstellungsänderung neu überprüft. Ich sehe auch keinen Grund das zu ändern. Seinen Benutzernamen ändert man ja nicht so oft. Und selbst wenn, möchte man evtl. nicht, dass sich deswegen etwas am Status alter Caches ändert.
lahmer schrieb:
Wenn ich einen eigenen Cache über eine GPX-Datei importiere, zeigt er ganz normal den Hauptwegpunkt und alle zugehörigen Wegpunkte an. Wenn die GPX-Datei allerdings gepackt ist (zip-Datei), werden die zugehörigen Wegpunkte doppelt importiert: einmal ganz normal ohne gesetzte Finalkoordinaten und einmal mit gesetzten Finalkoordinaten.
Passiert das nur bei eigenen Wegpunkten? Wie unterscheiden sich diese GPX von den anderen?
 

Engywuck

Geowizard
maierkurt schrieb:
"
Als Wegpunktname habe ich dann "gcxy...." eingegeben. Verlasse ich das Panel wird der Wegpunktname nicht gespeichert, scheinbar liegt es an der Kleinschreibung. Ich habe mal DetailsPanel.java etwas verändert, jetzt kann man den Wegpunktnamen auch in Kleinbuchstaben eingeben.
Folgende Korrektur:
  • Wegpunktnamen werden direkt nach der Eingabe in Großbuchstaben umgewandelt.
  • Alle Stellen, die den eingegebenen Wegpunktnamen auslesen, wurden so angepasst, dass eine "nach-Groß-Konvertierung" durchgeführt wird.

Bei mir funktionierts alles. Wenn keine Proteste kommen, werd ich das bald mal commiten.

Grüße,
Engywuck
 

Anhänge

  • UppercaseWaypoints.zip
    734 Bytes · Aufrufe: 4

MiK

Geoguru
Gegen das generelle Umwandeln in Großschreibung ist nichts einzuwenden. Aber konnte jemand feststellen, wodurch der eigentliche Fehler verursacht wird?
 

Engywuck

Geowizard
Vermutlich hierdurch:
Code:
DetailsPanel.createWptName():

		if (!CacheType.isAddiWpt(transSelect(chcType.getInt())) && !(wpt.startsWith("GC") 
				|| wpt.startsWith("OC") || wpt.startsWith("CW")) ) {
			inpWaypoint.setText(Global.getProfile().getNewWayPointName());
		}
Wenn man Waypoints mit XY... anfangen lässt, hat man nämlich das gleiche Problem. Sollte man das auch noch korrigieren? Wie soll man mit solchen Waypoints umgehen?

E.
 

MiK

Geoguru
und wo ist hier das Problem, dass zu inkonsistenzen zwischen DetailsPanel und Liste führen kann?
 

Engywuck

Geowizard
Keine Ahnung. Wenn ich aber die Abfrage noch um
Code:
|| wpt.startsWith("XY")
ergänze, dann kann ich problemlos und konsistent Caches mit XY... anlegen.

E.
 

MiK

Geoguru
Engywuck schrieb:
Keine Ahnung. Wenn ich aber die Abfrage noch um
Code:
|| wpt.startsWith("XY")
ergänze, dann kann ich problemlos und konsistent Caches mit XY... anlegen.
Das sich solche Caches nicht anlegen lassen ist ja ok. Es wäre auch ok, wenn sich welche mit gc nicht anlegen ließen. Aber warum wird dann nicht einfach der erzeugte Name genommen, sondern irgendwo bleibt die fehlerhafte Eingabe stehen.
 

MiK

Geoguru
Das Problem ist, dass createWptName() nur aufgerufen wird, wenn zum DetailsPanel gewechselt wird oder wenn man den Typ ändert. Dabei wird der Name überprüft und gegebenenfalls geändert. Diese Methode wird aber nicht aufgerufen, wenn das DetailsPanel verlassen wird.

Gab es in dieser Situation nicht mal eine Fehlermeldung, wenn man einen ungültigen Waypointnamen angegeben hatte? Oder ist das nur bei Addis?

Vielleicht sollte man das direkt nach der Eingabe aufrufen, anstatt dem einfachen toUpperCase().
 

maierkurt

Geowizard
MiK schrieb:
und wo ist hier das Problem, dass zu inkonsistenzen zwischen DetailsPanel und Liste führen kann?
Es liegt an der Abfrage die Engywuck gepostet hat. In DetailsPanel.setDetails wird der Waypointname erst korrekt gesetzt, dann aber in Zeile 202 durch createWptName() wieder gelöscht, da CW meint, einen neuen anlegen zu müssen, wenn der aktuelle nicht mit GC, CW, OC anfängt (case sensitive). Empfinde ich etwas ungeschickt, da die Sache dann hardcodiert ist.

Gruß, maierkurt
 

MiK

Geoguru
Eigentlich finde ich es ja gut, dass keine Nicht-Addis mit anderem Präfix erstellt werden können. Aber dann müsste man das auch beim Verlassen des DetailsPanel überprüfen und eine Fehlermeldung bringen.

Vielleicht sollte man stattdessen aber einfach im SetDetails createWptName() nur aufrufen, wenn der Wegpunktname leer ist.
 

maierkurt

Geowizard
MiK schrieb:
Vielleicht sollte man stattdessen aber einfach im SetDetails createWptName() nur aufrufen, wenn der Wegpunktname leer ist.
Ja, war auch mein Gedanke, habe Zeile 202 geändert:
Code:
if (ch.wayPoint.length() == 0)	createWptName();

Die generelle Umwandlung in Großbuchstaben kann ja aus Kosmetikgründen erhalten bleiben.

Gruß, maierkurt
 

Engywuck

Geowizard
Vorsicht:
In createWptName() steckt auch das Anpassen des Wegpunktnamens an den Namen des Hauptcaches, wenn man einen Addi-Wegpunkttyp ausgewählt hat. Und dieses Feature muss (denke ich) erhalten bleiben.
Deshalb kann man den Aufruf vermutlich nicht auf leere Wegpunktnamen beschränken.

E.
 

MiK

Geoguru
Beim Wechseln des Typs wird es ja weiterhin aufgerufen. Und wenn ein neuer Wegpunkt angelegt wird, wird das DetailsPanel (immer?) mit leerem Wegpunktnamen aufgerufen.

Aber ich schließe nicht aus, dass ich ein Problemszenario übersehen habe.
 

maierkurt

Geowizard
Vorsicht:
In createWptName() steckt auch das Anpassen des Wegpunktnamens an den Namen des Hauptcaches, wenn man einen Addi-Wegpunkttyp ausgewählt hat. Und dieses Feature muss (denke ich) erhalten bleiben.
Deshalb kann man den Aufruf vermutlich nicht auf leere Wegpunktnamen beschränken.
Habe ich gerade bemerkt.
Ok, welche Prefixe wären denn noch wichtig? Navicache mit N0 (N null), sonst noch welche?

Gruß, maierkurt
 

MiK

Geoguru
Navi-was? Friedhöfe brauchen wir nicht unterstützen.

Eine Erweiterung dieser Liste bringt alleine nichts. Wenn wir wirklich dann nur diese Präfixe zulassen wollen, muss dies beim Verlassen des DetailsPanels überprüft werden. Und dann könnte man es nicht einfach korrigieren, sondern müsste eine Meldung bringen.

Deswegen ist es wohl erstmal einfacher diese Namen zuzulassen und nur beim Wechsel des Typs und beim Anlegen neuer Caches einen neuen Namen automatisch zu generieren.
 

Engywuck

Geowizard
Engywuck schrieb:
maierkurt schrieb:
"
Als Wegpunktname habe ich dann "gcxy...." eingegeben. Verlasse ich das Panel wird der Wegpunktname nicht gespeichert, scheinbar liegt es an der Kleinschreibung. Ich habe mal DetailsPanel.java etwas verändert, jetzt kann man den Wegpunktnamen auch in Kleinbuchstaben eingeben.
Folgende Korrektur:
  • Wegpunktnamen werden direkt nach der Eingabe in Großbuchstaben umgewandelt.
  • Alle Stellen, die den eingegebenen Wegpunktnamen auslesen, wurden so angepasst, dass eine "nach-Groß-Konvertierung" durchgeführt wird.

Bei mir funktionierts alles. Wenn keine Proteste kommen, werd ich das bald mal commiten.

Grüße,
Engywuck
Done.
 

MiK

Geoguru
Das löst die Inkonsistenz aber noch nicht bei falschem Prefix.
Wie gesagt, entweder müssen diese beim Verlassen des DetailsPanel verhindert werden oder wir lassen sie zu. Dann darf aber beim Öffnen createWptName() nur noch bei leerem Wegpunkt aufgerufen werden. Was haltet ihr für die bessere Variante? Ich wäre eher für zweiteres.
 

Engywuck

Geowizard
MiK schrieb:
Das löst die Inkonsistenz aber noch nicht bei falschem Prefix.
Da hast Du recht, hier handelt es sich um ein davon unabhängiges Problem. Ich halte das Beibehalten der Großschreibung aber trotzdem für wichtig, da jemand, der gc12345 schreibt vermutlich GC12345 meint.

MiK schrieb:
Wie gesagt, entweder müssen diese beim Verlassen des DetailsPanel verhindert werden oder wir lassen sie zu. Dann darf aber beim Öffnen createWptName() nur noch bei leerem Wegpunkt aufgerufen werden. Was haltet ihr für die bessere Variante? Ich wäre eher für zweiteres.
Ich eigentlich auch. Bei Addis muss dann aber nach wie vor der Wegpunktname vom Wolf gebildet werden, oder?

E.
 

MiK

Geoguru
Engywuck schrieb:
MiK schrieb:
Wie gesagt, entweder müssen diese beim Verlassen des DetailsPanel verhindert werden oder wir lassen sie zu. Dann darf aber beim Öffnen createWptName() nur noch bei leerem Wegpunkt aufgerufen werden. Was haltet ihr für die bessere Variante? Ich wäre eher für zweiteres.
Ich eigentlich auch. Bei Addis muss dann aber nach wie vor der Wegpunktname vom Wolf gebildet werden, oder?
Wird er ja. Die Funktion wird ja beim Umschalten des Typs weiterhin aufgerufen. Und wenn direkt ein neuer Addi erstellt wird, wird das DetailsPanel ja mit leerem Wegpunkt aufgerufen. Ich denke damit sollten wir dieses Problem abgedeckt haben. Es sei denn ich habe etwas übersehen.
 

MiK

Geoguru
Das hat natürlich zur Folge, dass solche Wegpunkte, die nicht in das Muster passen nur solange erhalten bleiben, bis man den Wegpunkttyp wechselt. Dann wird er wieder angepasst. Solche Wegpunkte muss man dann eben auf Custom lassen und darf das nicht ändern.

Edit:Zumindest darf man keinen anderen Haupttyp auswählen. Bei Addis bleibt der Name erhalten.
 
Oben