All these questions are hard to answer theoretically -- i.e., if you have
something on GitHub that reproduces these problems, someone can look at
them and help, i.e., create a simple NetBeans Platform application that
contains these problematic areas and then someone can advise.

Gj

On Sat, Sep 29, 2018 at 2:25 PM Pete Whelpton <peedee...@gmail.com> wrote:

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

Reply via email to