This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 16583 - XMLSettingsSupport: Exception not going through error manager
Summary: XMLSettingsSupport: Exception not going through error manager
Status: CLOSED INVALID
Alias: None
Product: platform
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 3.x
Hardware: Sun SunOS
: P3 blocker (vote)
Assignee: Jan Pokorsky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-15 22:05 UTC by Torbjorn Norbye
Modified: 2008-12-22 17:41 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Torbjorn Norbye 2001-10-15 22:05:07 UTC
I'm trying to use a fresh build from CVS sources with my module.
But something fails.  I haven't found out exactly what the problem is
in my source code yet, but at the console the following exception
is printed.

I believe this needs to go through the error manager such that
the -original- exception can be printed. As it is, a new exception
is thrown which does not point to the actual problem spot although
the text description might help point to it.

By the way, it sounds like it's actually trying to get the .dtd
for the xml file - do we validate the XML files now??

*********** Exception occurred ************
Mon Oct 15 13:56:44 PDT 2001: org.xml.sax.SAXParseException:
Windows/Components/DbxWindow.settings
Nested annotation: Relative URI "sessionsettings-1_0.dtd"; can not be resolved
without a base URI.
java.io.IOException: Windows/Components/DbxWindow.settings
	at
org.openide.loaders.XMLSettingsSupport$SettingsRecognizer.parse(XMLSettingsSupport.java:545)
	at
org.openide.loaders.InstanceDataObject$SettingsInstance.getSettings(InstanceDataObject.java:1012)
[catch] at
org.openide.loaders.InstanceDataObject$SettingsInstance.isModuleEnabled(InstanceDataObject.java:1170)
	at
org.openide.loaders.InstanceDataObject$SettingsInstance.instanceCreate(InstanceDataObject.java:1032)
	at
org.netbeans.core.windows.PersistenceManager.lookupTCInstance(PersistenceManager.java:389)
	at
org.netbeans.core.windows.WindowManagerImpl.lookupTCInstance(WindowManagerImpl.java:870)
	at org.netbeans.core.windows.layers.TCRefImpl.getTopComponent(TCRefImpl.java:260)
	at org.netbeans.core.windows.layers.TCRefImpl.updateMode(TCRefImpl.java:158)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.addComponents(ModeData.java:543)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateComponents(ModeData.java:431)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.loadDataSection(ModeData.java:833)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateProperties(ModeData.java:316)
	at org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateAll(ModeData.java:296)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.loadDataSection(ModeData.java:818)
	at org.netbeans.core.windows.ModeImpl.ensureSectionLoaded(ModeImpl.java:1744)
	at org.netbeans.core.windows.ModeImpl.getConstraints(ModeImpl.java:1355)
	at
org.netbeans.core.windows.util.WindowUtils.findConstrainedMode(WindowUtils.java:140)
	at
org.netbeans.core.windows.util.WindowUtils.findConstrainedMode(WindowUtils.java:118)
	at
org.netbeans.core.windows.util.WindowUtils.changeModeConstraints(WindowUtils.java:157)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.setProps2Mode(ModeData.java:385)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateProperties(ModeData.java:312)
	at org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateAll(ModeData.java:296)
	at
org.netbeans.core.windows.layers.ModeData$CookiesImpl.loadDataSection(ModeData.java:818)
	at org.netbeans.core.windows.ModeImpl.ensureSectionLoaded(ModeImpl.java:1744)
	at org.netbeans.core.windows.ModeImpl.getFrameType(ModeImpl.java:1307)
	at
org.netbeans.core.windows.WorkspaceVisibilityManager.divideModes(WorkspaceVisibilityManager.java:278)
	at
org.netbeans.core.windows.WorkspaceVisibilityManager.processModes(WorkspaceVisibilityManager.java:253)
	at
org.netbeans.core.windows.WorkspaceVisibilityManager.doSetVisible(WorkspaceVisibilityManager.java:169)
	at
org.netbeans.core.windows.WorkspaceVisibilityManager.setVisible(WorkspaceVisibilityManager.java:88)
	at org.netbeans.core.windows.WorkspaceImpl.setVisible(WorkspaceImpl.java:606)
	at
org.netbeans.core.windows.WindowManagerImpl.setCurrentWorkspace(WindowManagerImpl.java:435)
	at org.netbeans.core.windows.WorkspaceImpl.activate(WorkspaceImpl.java:410)
	at
org.netbeans.modules.debugger.support.DebuggerModule.changeWorkspace(DebuggerModule.java:304)
	at
com.sun.forte.developer.ipe.debugger.actions.LoadProgramAction.performAction(LoadProgramAction.java:192)
	at org.openide.util.actions.NodeAction.actionPerformed(NodeAction.java:85)
	at
com.sun.forte.developer.ipe.debugger.actions.DebugStartAction$MainItemListener.actionPerformed(DebugStartAction.java:236)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
	at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:279)
	at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:886)
	at java.awt.Component.processMouseEvent(Component.java:3715)
	at java.awt.Component.processEvent(Component.java:3544)
	at java.awt.Container.processEvent(Container.java:1164)
	at java.awt.Component.dispatchEventImpl(Component.java:2593)
	at java.awt.Container.dispatchEventImpl(Container.java:1213)
	at java.awt.Component.dispatchEvent(Component.java:2497)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
	at java.awt.Container.dispatchEventImpl(Container.java:1200)
	at java.awt.Window.dispatchEventImpl(Window.java:926)
	at java.awt.Component.dispatchEvent(Component.java:2497)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
Comment 1 Torbjorn Norbye 2001-10-15 22:31:13 UTC
By the way, I realize what the problem was in my code (I needed
to insert a full URL to the .dtd - just like the description
said, although I'm puzzled by this - does NetBeans actually go to
http://www.netbeans.org/dtds/sessionsettings-1_0.dtd during
startup to validate the XML in my .settings file?).

The bug that this issue tracks is the fact that the exception
was thrown and no error manager appeared showing the exception,
or letting me get to the original exception (and there was no
justification for the discard-throw-new exception in the code,
as also suggested on nbdev.)
Comment 2 Jan Pokorsky 2001-11-08 19:32:40 UTC
Reason for using discard-throw-new exception is passing the result to 
InstnceCookie which cannot throw parser's exceptions. But the origin 
exception is not lost certainly at least its stacktrace. Calling 
ErrorManager.annotate(new_ex, old_ex) copies old stacktrace so when 
you chatch new exception and notify it through ErrorManager both 
stacktraces are shown. How is user notified it depends on severity and 
 ErrorManager implementation.

In regards to looking for DTD. System first search an entity catalog 
for public id and if none is found out then the url is used. See 
resources/mf-dtds.xml in core.
Comment 3 Quality Engineering 2003-07-01 15:48:16 UTC
Resolved for 3.4.x or earlier, no new info since then -> verified
Comment 4 Quality Engineering 2003-07-01 16:08:29 UTC
Resolved for 3.4.x or earlier, no new info since then -> closing.