Baum-Schnittstelle

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Baum-Schnittstelle

von bodo » 06 Apr 2008, 18:40

Ja.

von A.J. » 06 Apr 2008, 18:16

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 -----

von bodo » 06 Apr 2008, 15:57

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?

von Bananeweizen » 06 Apr 2008, 15:28

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.

von bodo » 06 Apr 2008, 15:01

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?

von Bananeweizen » 06 Apr 2008, 14:54

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.

von bodo » 06 Apr 2008, 14:47

Aber wenn ich das nicht auf true stelle, wird der Wirschauen-Rootnode in meinem Baum nicht angezeigt ?!

von Bananeweizen » 06 Apr 2008, 14:29

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.

Nach oben