Re: How to implement a MultiFileLoader?

geertjan wielenga <[email protected]> Thu, 13 Jul 2017 12:57:08 +0200
Newsgroups gmane.comp.java.netbeans.modules.openide.devel
Organization Oracle Corporation
Message-ID <[email protected]>
Well, what I'm suggesting is that you first get it working manually, 
without annotations. After that, you can investigate about using 
annotations instead.

It's not a question of looking at tutorials, but a looking at the code 
in the Form module.

Gj


On 13-7-2017 12:53, Peter Nabbefeld wrote:
> Hm, would be nice if there'd be an option to create a lyer entry from 
> anotations - even more, as up-to-date tutorials usually use 
> annotations now ... I'll go looking for some old ones, to find out.
>
> Is there sth. like "@SuppressWarning" for layer files?  ;-)
>
> Kind regards
> Peter
>
>
> Am 13.07.2017 um 12:48 schrieb geertjan wielenga:
>>
>> Maybe you should, in this specific unique and complex case, not use 
>> annotations. Just use the layer file manually, yes, more work, but 
>> will give you more control in this case and the DefaultLoader you get 
>> via annotations won't be automatically used and you'll register your 
>> own loader manually instead. Annotations are useful in 80% or so of 
>> the cases and I believe you may be in the 20% where they're more a 
>> hindrance.
>>
>> Gj
>>
>>
>> On 13-7-2017 12:44, Peter Nabbefeld wrote:
>>> Hm, FormDataLoader and FormDataObject seem to handle things very 
>>> special (both extensions registered to one DataLoader), which isn't 
>>> appropriate for my case (some files aren't "brothers").
>>>
>>> I think my current implementation should work, but obviously I've 
>>> done sth. wrong with regeistration, as 
>>> "org.openide.loaders.DataLoaderPool$DefaultLoader" is used instead 
>>> of my own loader.
>>>
>>> I've put the code of my loader and my object into the readme file of 
>>> the following public repository:
>>> https://github.com/OldGrumble/nuclos-extensions/tree/master
>>>
>>> It looks rather strange, obviously some code obviously has been 
>>> interpreted as formatting, so please download it or use "raw" view 
>>> before reading.
>>>
>>> I'd guess, my problems are caused by annotations, so please, could 
>>> You tell me what I'm doing wrong?
>>>
>>> Kind regards
>>> Peter
>>>
>>>
>>> Am 07.07.2017 um 15:57 schrieb geertjan wielenga:
>>>>
>>>> I'd take a look in the NetBeans sources if I were you, to see how 
>>>> it's done for '.form' files.
>>>>
>>>> Gj
>>>>
>>>>
>>>> On 7-7-2017 15:55, Peter Nabbefeld wrote:
>>>>> Hello Geertjan,
>>>>>
>>>>> thank You for Your reply! I've not noticed before, my DataObject 
>>>>> is already a MultiDataObject, so it should have sufficient support.
>>>>>
>>>>> However, how can I make the "brothers" invisible? And also, how 
>>>>> can I make the subfolder invisible?
>>>>>
>>>>> When creating my file type, I got a MultiDataObject (without the 
>>>>> necessary methods for working with multiple files), but no 
>>>>> MultiFileLoader (so I guess some default implementation is used).
>>>>>
>>>>> Kind regards
>>>>> Peter
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Am 07.07.2017 um 15:02 schrieb geertjan wielenga:
>>>>>>
>>>>>> org.openide.filesystems.FileUtil.findBrother
>>>>>>
>>>>>> http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/FileUtil.html#findBrother-org.openide.filesystems.FileObject-java.lang.String- 
>>>>>>
>>>>>>
>>>>>> https://blogs.oracle.com/geertjan/orgopenidefilesystemsfileutilfindbrother 
>>>>>>
>>>>>>
>>>>>> Gj
>>>>>>
>>>>>> On 7-7-2017 14:57, Peter Nabbefeld wrote:
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I'm missing support for MultiDataObject - current file type 
>>>>>>> tutorials don't seem to cover this.
>>>>>>>
>>>>>>> I've got 2 XML files (extensions "layoutml" and "eoml") and an 
>>>>>>> additional XML file (with extension "eoml") in a folder (which 
>>>>>>> has a fixed name).
>>>>>>>
>>>>>>> I'd like to get all of these as one MultiDataObject (making 
>>>>>>> either the layoutml or the outer "eoml" file the primary file - 
>>>>>>> the eoml has some metadata, but there exist different eoml's for 
>>>>>>> different datatypes).
>>>>>>>
>>>>>>> I'd also like to only see the primary file, while the other 
>>>>>>> files and the extra folder should be invisible to the user.
>>>>>>>
>>>>>>> Kind regards
>>>>>>> Peter
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>