Issue 100376 - NetBeans plug-in 2.0.3: changing the Project's Properties modifies user settings in description.xml
Summary: NetBeans plug-in 2.0.3: changing the Project's Properties modifies user setti...
Status: ACCEPTED
Alias: None
Product: App Dev
Classification: Unclassified
Component: sdk (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: Unknown All
: P3 Trivial
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact: b.osi.ooo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-19 20:58 UTC by Ariel Constenla-Haile
Modified: 2013-02-24 20:54 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Ariel Constenla-Haile 2009-03-19 20:58:25 UTC
Changing the Project's Properties, via "File" - "Project Properties" or context
menu item "Properties", modifies user settings in description.xml, and may even
throw an exception.

For example, if I have the licenses separated in folders

[Project ROOT]/licenses/en-US/license.txt

and I wrote by hand the description.xml with the following

    <registration>
        <simple-license accept-by="user" default-license-id="en-US">
            <license-text lang="en-US" license-id="en-US"
xlink:href="licenses/en-US/license.txt"/>
        </simple-license>
    </registration>



when I change any (even unrelated) setting in Properties - OpenOffice.org -
Display, the NB plug-in modifies the registration tag in this way:


    <registration>
        <simple-license accept-by="user" default-license-id="en-US">
            <license-text lang="en-US" license-id="en-US"
xlink:href="licenses/license.txt"/>
        </simple-license>
    </registration>




And if I have different licenses separated in folders

[Project ROOT]/licenses/en-US/license.txt
[Project ROOT]/licenses/es-AS/license.txt

and I wrote by hand the description.xml with the following

    <registration>
        <simple-license accept-by="user" default-license-id="en-US">
            <license-text lang="en-US" license-id="en-US"
xlink:href="licenses/en-US/license.txt"/>
            <license-text lang="es-AR" license-id="es-AR"
xlink:href="licenses/es-AR/license.txt"/>
        </simple-license>
    </registration>


when selecting "Properties" - "OpenOffice.org" - "Display", there is an
exception, and there are no options displayed:


java.lang.NullPointerException
	at java.lang.String.replace(String.java:2208)
	at
org.openoffice.extensions.projecttemplates.actions.panel.VerifyData.buildErrorMessage(VerifyData.java:163)
	at
org.openoffice.extensions.projecttemplates.actions.panel.VerifyData.verifyLocalizedData(VerifyData.java:130)
	at
org.openoffice.extensions.projecttemplates.actions.panel.PropsPanel.loadData(PropsPanel.java:680)
	at
org.openoffice.extensions.projecttemplates.actions.panel.PropsPanel.jComboBoxCurrentLocaleActionPerformed(PropsPanel.java:545)
	at
org.openoffice.extensions.projecttemplates.actions.panel.PropsPanel.access$100(PropsPanel.java:84)
	at
org.openoffice.extensions.projecttemplates.actions.panel.PropsPanel$1.actionPerformed(PropsPanel.java:229)
	at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1240)
	at javax.swing.JComboBox.setSelectedItem(JComboBox.java:567)
	at
org.openoffice.extensions.projecttemplates.actions.panel.PropsPanel.initPanels(PropsPanel.java:153)
	at
org.openoffice.extensions.projecttemplates.actions.panel.PropsPanel.<init>(PropsPanel.java:111)
	at
org.openoffice.extensions.util.nodes.OOoCustomizerProvider.createComponent(OOoCustomizerProvider.java:94)
	at
org.netbeans.spi.project.ui.support.ProjectCustomizer$DelegateCategoryProvider.create(ProjectCustomizer.java:517)
	at
org.netbeans.modules.project.uiapi.CustomizerPane.setCategory(CustomizerPane.java:255)
	at
org.netbeans.modules.project.uiapi.CustomizerPane.access$100(CustomizerPane.java:69)
	at
org.netbeans.modules.project.uiapi.CustomizerPane$CategoryChangeListener.propertyChange(CustomizerPane.java:335)
	at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
	at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)
	at
org.netbeans.modules.project.uiapi.CategoryModel.firePropertyChange(CategoryModel.java:115)
	at
org.netbeans.modules.project.uiapi.CategoryModel.setCurrentCategory(CategoryModel.java:89)
	at
org.netbeans.modules.project.uiapi.CategoryView.propertyChange(CategoryView.java:178)
	at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
	at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)
	at org.openide.explorer.ExplorerManager$2.run(ExplorerManager.java:859)
	at org.openide.util.Mutex.doEvent(Mutex.java:1335)
	at org.openide.util.Mutex.readAccess(Mutex.java:345)
	at org.openide.explorer.ExplorerManager.fireInAWT(ExplorerManager.java:856)
	at
org.openide.explorer.ExplorerManager$1AtomicSetSelectedNodes.fire(ExplorerManager.java:278)
	at org.openide.explorer.ExplorerManager.setSelectedNodes(ExplorerManager.java:289)
	at
org.openide.explorer.ExplorerManager$1SetExploredContextAndSelection.run(ExplorerManager.java:377)
	at org.openide.util.Mutex.readAccess(Mutex.java:362)
	at org.openide.util.Mutex$1R.run(Mutex.java:1301)
	at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1318)
	at org.openide.util.Mutex.readAccess(Mutex.java:351)
	at
org.openide.explorer.ExplorerManager.setExploredContextAndSelection(ExplorerManager.java:404)
	at org.openide.explorer.view.BeanTreeView.selectionChanged(BeanTreeView.java:155)
	at org.openide.explorer.view.TreeView.callSelectionChanged(TreeView.java:781)
	at org.openide.explorer.view.TreeView$TreePropertyListener.run(TreeView.java:1371)
	at org.openide.util.Mutex$1Exec.run(Mutex.java:1239)
	at
org.openide.nodes.Children$ProjectManagerDeadlockDetector.execute(Children.java:1796)
	at org.openide.util.Mutex.postRequest(Mutex.java:1245)
	at org.openide.util.Mutex.postRequest(Mutex.java:1209)
	at org.openide.util.Mutex.postReadRequest(Mutex.java:565)
	at
org.openide.explorer.view.TreeView$TreePropertyListener.valueChanged(TreeView.java:1342)
	at
javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
	at
javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078)
	at
javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
	at
javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170)
	at javax.swing.JTree.setSelectionPath(JTree.java:1598)
	at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2316)
	at
javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3525)
	at
javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressedDND(BasicTreeUI.java:3502)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3461)
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
	at java.awt.Component.processMouseEvent(Component.java:6213)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
	at java.awt.Component.processEvent(Component.java:5981)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4583)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4413)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4217)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
	at java.awt.Container.dispatchEventImpl(Container.java:2085)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4413)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
	at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Comment 1 steffen.grund 2009-03-20 09:20:55 UTC
Accepted.
Comment 2 steffen.grund 2010-02-12 16:06:54 UTC
set target