Picked up a copy.  Between your book and Gail's book, I've figured out now
how to add a ProxyLookup to my DataObject containing my custom
FileEncodingQueryImplementation class.

Everything seems to work ok :)

Thanks for your time


P


On Sun, Sep 30, 2018 at 9:45 AM Geertjan Wielenga
<geertjan.wiele...@googlemail.com.invalid> wrote:

> In general, advisable to use Lookup instead of Cookies, please get
> leanpub.com/nbp4beginners.
>
> Gj
>
> On Sun, Sep 30, 2018 at 10:28 AM Pete Whelpton <peedee...@gmail.com>
> wrote:
>
>> Thanks Geertjan :)
>>
>> I've made the repo public for the moment, in case anyone wants to take a
>> look:
>> https://bitbucket.org/peedeeboy/odyssey-engine-netbeans-solution/src/development/
>> I can try and knock together a simple application for Q1) if anyone is
>> interested in helping.  It seems like I'm missing something obvious in the
>> way NBP is designed.
>>
>> Re: Q4, always opening a file in a specific encoding, I think I've
>> figured that part out:
>>
>> * Extend FileEncodingQueryImplementation and override the getEncoding()
>> method to return the Charset of choice (windows-1252)
>> * Register this in the DataObject's lookup.  I'm using this in the DO
>> constructor:
>> CookieSet cookies = getCookieSet();
>>         cookies.assign(FileEncodingQueryImplementation.class,
>>                 new NssFileEncodingQueryImplementation());
>>
>> Not sure about forcing windows line endings yet, but I'll keep trying...
>>
>>
>>
>> P
>>
>>
>>
>> On Sun, Sep 30, 2018 at 9:00 AM Geertjan Wielenga
>> <geertjan.wiele...@googlemail.com.invalid> wrote:
>>
>>> 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