Hello all :) Apologies in advance for the newbie NBP questions. I have already been through the NBP API documentation and Netbeans sources, which is how I've got to where I am, but I'm a bit stumped now. Any pointers, no matter how small, gratefully received!
1) Modular approach for project customizers (and sharing settings between Modules) * I have a module suite with a Project module, and two modules for supported File Types, Nss and Tda * In the project module, I have a class that implements AuxillaryProperties and reads/writes a .properties file. This class is registered in the Project Lookup * In the File Type modules, I have registered customizer panels with @ProjectCustomizer.CompositeCategoryProvider.Registration Q1) ProjectUtils.getPreferences() returns null. Why? Looking at the NB source, it seems like the factory creates the backing store by first checking for an implementation of AuxillaryConfiguration in the ProjectLookup, then for AuxillaryProperties. I have an implementation of AuxillaryProperties, so I'm not sure why it doesn't work. I can get the properties by looking up AuxillaryProperties from in Project lookup injected into the customizer panels - but the Netbeans API documentation says not to directly use this interface... Q2) How to save changes for each panel? I think that each panel somehow needs to listen to the okOptionLister and implement its own save operation, but that Listener is up in the Project. 2) My Module Suite will no longer build unless I do a Clean & Build. Regular build fails with the following error: error: Refused to write invalid generated-layer.xml: org.xml.sax.SAXParseException; lineNumber: 174; columnNumber: 43; The element type "file" must be terminated by the matching end-tag "</file>". The only generated-layer.xml file is the one for the Nss module. The XML around line 174 is: <folder name="Preprocessor Directives"> <file name="DirectiveInclude.xml"> <!--org.peedeeboy.oens.nss--><![CDATA[<!DOCTYPE editor_palette_item PUBLIC '-//NetBeans//Editor Palette Item 1.1//EN' ' http://www.netbeans.org/dtds/editor-palette-item-1_1.dtd'> <editor_palette_item version="1.1"> <body> <![CDATA[#include "filename"]]]]><![CDATA[> </body> <icon16 urlvalue="org/peedeeboy/oens/nss/icons/edit-number.png" /> <icon32 urlvalue="org/peedeeboy/oens/nss/icons/edit-number.png" /> <inline-description><display-name>Include</display-name><tooltip> <![CDATA[ Include external .nss script]]]]><![CDATA[></tooltip></inline-description></editor_palette_item>]]></file> </folder> Q3) Why would this fail to be generated correctly on a Build, but not on a Clean and Build? 3) My NSS file type should always be opened/saved in CP-1252 encoding, with Windows line endings Q4) Where to implement this? To try and get some clues, I've been looking through the NB sources for how NB gets the encoding property for Java projects and uses it for reading/writes .java files, but I haven't found it... Thanks and apologies again! P