Java Getriebe

Java und NetBeans

Mein erstes Mal

Ich habe es getan. Zum ersten Mal. Ein bisschen aufgeregt war ich ja schon. Mein erster Patch zu einem größeren OpenSource Projekt. Aber ich habe die Änderungen zu den eigenen Icons im Updatecenter fertig gestellt und soeben den entsprechenden „Diff“ hochgeladen. Jetzt heißt es abwarten ob das Ganze auch in die NetBeans Plattform aufgenommen wird.

Im Ergebnis werden jetzt die Kategorien des Update Centers nicht mehr über ein starres enum definiert, sondern die entsprechenden Informationen werden aus dem XML Layer gelesen. Dort werden displayName und iconResource angegeben und schon kann man die eigene Kategorie verwenden:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
  <folder name="Services">
    <folder name="AutoupdateCategory">
      <file name="de-nigjo">
        <attr name="displayName" bundlevalue="de.nigjo.nbm.updates.Bundle#Services/AutoupdateCategory/de-nigjo"/>
        <attr name="iconResource" urlvalue="nbres:/de/nigjo/nbm/updates/favicon.png"/>
      </file>
    </folder>

    <folder name="AutoupdateType">
      <file name="de_nigjo_nbm_updates_update_center.instance">
        <attr name="displayName" bundlevalue="de.nigjo.nbm.updates.Bundle#Services/AutoupdateType/de_nigjo_nbm_updates_update_center.instance"/>
        <attr name="enabled" boolvalue="true"/>
        <attr name="category" stringvalue="de-nigjo"/>
        <attr name="instanceCreate" methodvalue="org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogFactory.createUpdateProvider"/>
        <attr name="instanceOf" stringvalue="org.netbeans.spi.autoupdate.UpdateProvider"/>
        <attr name="url" bundlevalue="de.nigjo.nbm.updates.Bundle#de_nigjo_nbm_updates_update_center"/>
      </file>

    </folder>
  </folder>
</filesystem>

Im <folder name="AutoupdateCategory"> werden dazu einfache <file> Einträge angelegt, mit den besagten Attributen. Der Name des Eintrags kann dann im Eintrag zum eigenen Updatecenter unter „AutoupdateType“ im Attribut category eingetragen werden.

Den Eintrag unter „AutoupdateType“ habe ich ganz normal über den Wizard von NetBeans für ein neues Center erstellt. Vielleicht könnte man in Zukunft irgendwann den Wizard entsprechen erweitern, damit man direkt dort eine Kategorie erstellen und/oder auswählen kann.