Änderung der Groß/Kleinschreibung eines Nodes auf Windows mit Problemen

Alles zu NetBeans als RCP-Platform

Moderator: wegus

WeserLinux
Beiträge: 85
Registriert: 16.03.2012, 10:46
Wohnort: Niedersachsen

Änderung der Groß/Kleinschreibung eines Nodes auf Windows mit Problemen

Beitragvon WeserLinux » 04.05.2017, 11:03

Hallo Zusammen

Ich habe eine NB8.2 Applikation, die im Projects View einen Tree darstellt, der mit AbstractNode und entsprechenden ChildFactory aufgebaut ist. Die Childfactory besitzen PropertyChangeListener, um den Tree über refresh(true) erneut aufzubauen.

Praktisch gesehen, besteht der Tree auf der Platte nur aus verschiedenen Verzeichnissen diverser Level, Dateien liegen ganz unten, werden aber nicht angezeigt.

Ich biete dem Nutzer ein Rename Feature an, um das Verzeichnis direkt über den Dateien namentlich zu ändern. Nach Ausführung des Rename, starte ich ein

Code: Alles auswählen

firePropertyChange(REFRESH, null, folder);

welches über createKeys() und createNodeForKey() die Nodes neu aufbaut.

Alles funktioniert eigentlich prima, auf Linux und Windows. Auf Windows allerdings hat das ganze Probleme, wenn ich mit dem Rename nur die Groß- oder Kleinschreibung ändern möchte, zum Beispiel "MyName" -> "MyNamE". Dann wird im Hintergrund (createKeys()) das FileObject für das Verzeichnis richtig geändert, aber der sichtbare Node im Tree ändert sich nicht und "MyName" bleibt "MyName".

Hat jemand da eine Idee? Es hat wahrscheinlich mit der Groß- und Kleinschreibungsrelevanz von Windows zu tun, oder?


Danke Euch

Olaf

Benutzeravatar
nigjo
Beiträge: 572
Registriert: 08.09.2009, 09:43
Wohnort: Aachen
Kontaktdaten:

Re: Änderung der Groß/Kleinschreibung eines Nodes auf Windows mit Problemen

Beitragvon nigjo » 05.05.2017, 07:53

Hi Olaf

WeserLinux hat geschrieben:Es hat wahrscheinlich mit der Groß- und Kleinschreibungsrelevanz von Windows zu tun, oder?

Jepp, und du wirst vermutlich wenig daran ändern können. Aus Sicht des Dateisystems (NTFS oder FATx) hat sich die Datei bzw der Dateieintrag nicht geändert. Solche lustigen Effekte hast du auch, wenn du mit Versionsverwaltung arbeitest.

Andererseits hat NetBeans (und dessen RCP) immer auch schon selber Probleme gehabt, wenn es um das Dateisystem geht. Nicht alle Änderungen werden unter allen Umständen erkannt. Wir kämpfen da auch schon 'ne ganze Weile mit ohne einen wirklichen Fortschritt erzielt zu haben.

Ein möglicher Workaround wäre. wenn du den Verzeichnissen beim Umbenennen ein Attribut "displayName" mit gibst und dieses zusätzlich zum Namen änderst. Dann könnte(!) es sein, dass die FileObjects von NetBeans doch eine Änderung mitbekommen. Du müsstest dann in den Nodes nur dieses Attribut abfragen.

Gespeichert werden diese Attribute im Userdir vom Anwender. Du kannst einfach die setAttribute und getAttribute Methoden von FileObject benutzen.

Gruß
Jens
Man sollte seine Werkzeuge kennen. Ansonsten haut man sich mit dem Hammer nur auf die Finger.

--
NetBeans Certified Engineer - Java Getriebe


Zurück zu „NetBeans - Platform / RCP“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast