Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0000287MagellanAllgemeinöffentlich2008-08-27 01:03
ReporterFiete Bearbeitung durchtrickert  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarimmer
Status erledigtLösungerledigt 
RechnertypPCBetriebssystemWin XP SP2BS-VersionBeta
Zusammenfassung0000287: Console Merger findet rules nicht
BeschreibungWir der consolemerger in "seinem" verzeichnis gestartet, werden die rules gefunden, geladen und alles ist schön.

Ist das Arbeitsverzeichnis ein anderes funktioniert genau das nicht und ohne Rules scheitert das Laden der Reporte.
Zusätzliche Informationenmonopol@dasmonopol:~/eressea/report/test$ java -jar ~/eressea/scripts/Magellan2/consolemerger.jar ~/eressea/scripts/Magellan2/ ~/eressea/report/test/582-atnf.zip ~/eressea/report/test/583-atnf.zip ~/eressea/report/test/583-result.cr
ConsoleMerger V.1.0
Author: Thoralf Rickert <thoralf@m84.de>

(II) 23.08.2008 21:45:30.580: PropertiesHelper: directory used for ini files: /home/monopol/eressea/scripts/Magellan2
(II) 23.08.2008 21:45:30.620: Initializing resources for prefix...''
(II) 23.08.2008 21:45:30.620: Searching resources in /home/monopol/eressea/scripts/Magellan2/etc
(II) 23.08.2008 21:45:30.622: Load resource 'resources.properties' as default
(II) 23.08.2008 21:45:30.658: Load resource 'resources_de.properties' as de
Load Base Report: /home/monopol/eressea/report/test/582-atnf.zip
(WW) 23.08.2008 21:45:30.812: The default ruleset couldn't be found! Operating with an empty ruleset.
java.io.IOException: URL 'etc/rules/eressea.cr' not readable.
        at magellan.library.io.file.InputStreamSourceFileType.createInputStream(InputStreamSourceFileType.java:39)
        at magellan.library.io.file.FileType.checkConnection(FileType.java:104)
        at magellan.library.io.file.FileTypeFactory.createInputStreamSourceFileType(FileTypeFactory.java:49)
        at magellan.library.io.RulesReader.loadRules(RulesReader.java:77)
        at magellan.library.io.RulesReader.readRules(RulesReader.java:49)
TagsKeine Tags zugeordnet.
ProjectConsoleMerger

Notizen / Dateien

trickert

2008-08-25 08:49

Manager   ~0000687

okay, bei mir funzt es. Dem Log nach, konnte er im angegebenen Verzeichnis nichts finden und ging auf "etc/rules" zurück. Das ist eine Fallback Lösung im RulesReader.

Ich hab an der Stelle mal eine log.error Meldung dazugepackt. Kannst Du das noch mal ausprobieren mit nem neuen "Kompilat"? Vielleicht wird da irgendwie das PropertiesHelper.getSetttingsDir nicht gesetzt (was ich mir nicht vorstellen kann).

Fiete

2008-08-25 23:04

Manager   ~0000688

Es liegt an der Groß/Kleinschreibung...
Aufruf jeweils (working dir zu erkennen, ist ungleich dem Dir, in welchem die jar liegt.)
monopol@dasmonopol:~/eressea/test$ java -jar ~/eressea/scripts/Magellan2/consolemerger.jar ~/eressea/scripts/Magellan2/ ~/eressea/report/test/582-atnf.zip ~/eressea/report/test/583-atnf.zip ~/eressea/report/test/result.cr


Mich machte zuerst stutzig:
Load Base Report: /home/monopol/eressea/report/test/582-atnf.zip
(EE) 25.08.2008 22:53:52.484: Rule file '/home/monopol/eressea/scripts/Magellan2/etc/rules/Eressea.cr' could not be found. Switching to local.
(EE) 25.08.2008 22:53:52.484: Cannot find rule files in '/home/monopol/eressea/test/etc/rules/Eressea.cr'...that might be a problem...


Eressea.cr! Die Datei heisst natürlich eressea.cr. Also habe ich beide angelegt: Eressea.cr UND eressea.cr. Ging immer noch nicht:

(WW) 25.08.2008 22:55:31.544: The default ruleset couldn't be found! Operating with an empty ruleset.
java.io.IOException: URL '/home/monopol/eressea/scripts/magellan2/etc/rules/eressea.cr' not readable.

Und da liegt der Hund begraben...magellan2 ist klein geschrieben. da gibtes irgendwo ein .lowerCase. Bei meinem test hatte Magellan2 (großes M) benutzt. Und als ich das Verzeichnis umbennant habe, funktionierte es:

(II) 25.08.2008 22:56:34.102: Searching resources in /home/monopol/eressea/scripts/magellan2/etc
(II) 25.08.2008 22:56:34.104: Load resource 'resources.properties' as default
(II) 25.08.2008 22:56:34.135: Load resource 'resources_de.properties' as de
Load Base Report: /home/monopol/eressea/report/test/582-atnf.zip
(II) 25.08.2008 22:56:34.500: Loading report /home/monopol/eressea/report/test/582-atnf.zip
(II) 25.08.2008 22:56:35.405: setOwner of Report to: Kleine Mannen (atnf)

Soweit der Testbericht.
Gruß
Fiete

trickert

2008-08-26 07:33

Manager   ~0000689

ach, schei.... das erklärt natürlich, warum es bei mir funktioniert....Ich teste unter Windows.

Das erste Problem lässt sich einfach lösen: Die Regeldateien müssen immer kleingeschrieben werden und der "GameName" wird mit toLowerCase() erstellt. Das ist auch ok, weil an diversen Stellen im Code der GameName.toLowerCase() aufgerufen wird. Ich hab das jetzt geändert....

Das zweite Problem ist tricky. Ich hab keine Ahnung, wo das passiert. Aber: Ich hab mal alle toLowerCase gesucht und eine Stelle in InputStreamSourceFileType gefunden. Die erzeugte Fehlermeldung dort, stimmt auch mit der Log-Meldung überein. Ich hab das dort jetzt mit einer Fallback Lösung ausgestattet (wenn es den toLower Namen nicht gibt, probiere den ohne toLower und schmeiße erst dann eine Exception.

Ich bin mir sicher, das waren die zwei Fehler an dieser Stelle.

Fiete

2008-08-27 01:03

Manager   ~0000692

Bestätige: gefixed. Danke.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2008-08-23 21:46 Fiete Neuer Eintrag
2008-08-23 21:46 Fiete Status neu => zugewiesen
2008-08-23 21:46 Fiete Bearbeitung durch => trickert
2008-08-25 08:49 trickert Status zugewiesen => bestätigt
2008-08-26 07:33 trickert Status bestätigt => erledigt
2008-08-26 07:33 trickert Lösung offen => erledigt