Seite 1 von 1

Verfasst: 06 Apr 2008, 14:29
von Bananeweizen
bodo hat geschrieben:ich behebe den morgen mit einem Work-Around.
Bodo, ich weiß ja nicht, was du da treibst, aber für mich sieht es aus, als ob du konsequent gegen die Plugin-Schnittstelle verstößt. Wenn man "canUseProgramTree" implementiert, muss man auch "getRootNode" implementieren. Schließlich kann nichts angezeigt werden, solange du nicht sagst was.
Und wenn einfach nur alle von einem Plugin markierten Sendungen im Baum angezeigt werden sollen (wie beim Perlen-Plugin), dann braucht man auch "canUseProgramTree" nicht implementieren.

Von daher finde ich den aktuellen Stand nicht wirklich schlüssig und hatte genau deshalb gestern das "canUseProgramTree" rausgenommen.

Verfasst: 06 Apr 2008, 14:47
von bodo
Aber wenn ich das nicht auf true stelle, wird der Wirschauen-Rootnode in meinem Baum nicht angezeigt ?!

Verfasst: 06 Apr 2008, 14:54
von Bananeweizen
Ja, warum denn auch? Wenn du keine Sendungen zum Anzeigen hast (d.h. keine markierten und auch keine, die sonst irgendwie sortiert in den Baum sollen), braucht es doch auch keinen Baum. Und die Schnittstelle _verlangt_ nunmal, dass du auch einen bauen musst, wenn du das auf "true" stellst. Die Variante mit dem Laden aus dem Stream funktioniert nämlich auch nicht, weil es da nix zu laden gibt.

Verfasst: 06 Apr 2008, 15:01
von bodo
Also die Sache ist die: wenn ich kein True angebe, wird nie ein Baum angezeigt. Niemals. Auch wenn ich Einträge in den Baum packe.

in canUseProgramTree steht auch nicht, das ich getRootNode überschreiben müsse im JavaDoc. Würde ja auch die Arbeit erschweren. Die Default-Implementation von getRootNode reicht doch vollkommen aus. Wieso muss ich dann also getRootNode überschreiben, wenn es das schon gibt?

Verfasst: 06 Apr 2008, 15:28
von Bananeweizen
Ok, du hast Recht. Ich habe die Stelle übersehen, an der du die Sendungsknoten einfügst.

Was mich daran irritiert, ist die Tatsache, dass ich vorhin aus der Ecke nochmal eine Exception bekommen habe (ich denke, beim Laden des Streams), obwohl ich die Stelle mit der Nullpointer-Prüfung beim Speichern des Baumes schon nachgeladen hatte. Ich habe leider nicht weiter drauf geschaut und jetzt klappt natürlich plötzlich alles.

Verfasst: 06 Apr 2008, 15:57
von bodo
1. Sorry, hab den Thread nochmal verschoben, im englischen Bereich war der Falsch ;)

2. Kannst du versuchen, diese Nullpointer nochmal zu provozieren indem du alle Einstellungen des Plugins löscht?

Verfasst: 06 Apr 2008, 18:16
von A.J.
Ist das die Exception um die es geht?

Code: Alles auswählen

Datei 'E:\Dokumente und Einstellungen\Andreas Jung\TV-Browser\2.6.3\java.wirschauenplugin.WirSchauenPlugin.node' konnte nicht geschrieben werden.

----- Start of stacktrace -----
java.io.EOFException
  at java.io.DataInputStream.readInt(Unknown Source)
  at java.io.ObjectInputStream$BlockDataInputStream.readInt(Unknown Source)
  at java.io.ObjectInputStream.readInt(Unknown Source)
  at devplugin.PluginTreeNode.load(PluginTreeNode.java:669)
  at devplugin.Plugin.getRootNode(Plugin.java:870)
  at tvbrowser.core.plugin.JavaPluginProxy.getRootNode(JavaPluginProxy.java:474)
  at tvbrowser.ui.pluginview.PluginTreeModel.addPluginTree(PluginTreeModel.java:112)
  at tvbrowser.ui.pluginview.PluginView.insertPluginRootNodes(PluginView.java:120)
  at tvbrowser.ui.pluginview.PluginView.<init>(PluginView.java:77)
  at tvbrowser.ui.mainframe.MainFrame.setShowPluginOverview(MainFrame.java:1796)
  at tvbrowser.ui.mainframe.MainFrame.setShowPluginOverview(MainFrame.java:1781)
  at tvbrowser.ui.mainframe.toolbar.DefaultToolBarModel.actionPerformed(DefaultToolBarModel.java:570)
  at tvbrowser.ui.mainframe.toolbar.DefaultToolBarModel$8.actionPerformed(DefaultToolBarModel.java:545)
  at tvbrowser.ui.mainframe.toolbar.ToolBar$6.actionPerformed(ToolBar.java:459)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:37)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
----- End of stacktrace -----

Verfasst: 06 Apr 2008, 18:40
von bodo
Ja.