Cette page décrit les étapes pour ajouter un nouvelle donnée-types, par exemple, Aiguillage, à JMRI.
Elle utilise comme exemple l'ajout du type Rapport en Juillet 2004. Rapport est un nouveau type de NamededBean utilisé pour apporter des informations complexes en retour du réseau ferré .
Nous listons les fichiers qui sont modifiés et créés dans l' ordre dans lequel ils ont été fait dans ce cas, des ordres différents peuvent aussi travailler, et vous ne pourriez pas avoir besoin de faire tout cela.
Dans ce cas particulier, notre première mise en oeuvre est un seul système matériel (LocoNet). Cela influe sur la façon dont nous avons ordonné cela, et réduit la nécessité d'avoir des tests unitaires en place au début. En travaillant à travers la première implémentation de LocoNet , nous pourrions avoir une meilleure idée de savoir si l'interface Reporter proposée a fait ce qui était nécessaire. Si vous créez un nouveau type que plusieurs système auront besoin dans un premier temps, vous devez également créer des tests unitaires au début du processus pour encoder ce que vous pensez être le comportement commun.
. En général, les nouvelles classes et interfaces définies ci-dessous peuvent plus facilement être faites en copiant un modèle existant. Dans ce cas, on copie le fichier "* Turnout*" pour correspondre à un fichier "*Reporter*".
Cette interface définit les propriétés nécessaires. Il doit hériter de NamedBean, vous pouvez ajouter des accessoires nouveaux comme vous le souhaitez.
Cette interface fournit des méthodes pour obtenir un objet Rapport soit seulement à partir du nom du système (de préférence) ou avec des paramètres supplémentaires
A ce stade, assurez-vous que vous pouvez compiler.
mise à jour de la discussion de la dénomination pour inclure la lettre-type dans votre nouveau type. Pendant que vous y êtes mettez à jour les pages de dénomination spécifiques au système en fonction des besoins. .
Il s'agit d'une application de base.
Application de base; choses qui est utile à toutes les applications spécifiques au système
A ce stade, assurez-vous que vous pouvez compiler.
Ces traitements ayant plus d'un système fournissant des objets Rapport. Il prend soit aucune ou plusieurs réalisation ReporterManager, et et achemine les demandes d'accès au bon Rapport .
Il existe plusieurs façons historiques d'installer des choses dans l'InstanceManager. La procédure actuelle est d'utiliser des "proxies" pour permettre l'utilisation de multiples systèmes de réseaux ferrés, donc s'il vous plaît copier l'Aiguillage en tant que modèle.
A ce stade, assurez-vous que vous pouvez compiler.
Cette classe écoute l'activité indiquant un nouveau Rapport spécifique-LocoNet , et appelle à en créer un si nécessaire. Autrement, elle fournit la bonne lettre spécifique au système ('L' par exemple), ce n'est juste qu'une une copie directe.
Convertit les message spécifiques dans le Rapport actions et en rapport. Tout le reste de la substance est juste pour mettre cela en place.
A ce stade, assurez - vous que vous pouvez compiler. Rien ne se passera lorsque vous exécutez jusqu'à la prochaine étape.
ici (ou peut-être ailleurs dans un autre système), vous créer une instance de la classe ReporterManager correcte au démarrage du système et l'installer dans l' InstanceManager.
Ajouter une nouvelle variable pour donner un accès facile au nouveau gestionnaire.
Mise à jour de celle-ci pour se référer à la nouvelle variable Jython (Il peut y avoir d'autres pages web aussi!)
A ce stade, vous devriez être en mesure de compiler et d'exécuter tester le nouveau code de la ligne de commande jython
Créez un nouveau "tableau" pour regarder celui-ci en action.
Dans ce cas particulier, le code a dû être un peu modifié (au lieu d'être simplement copié) parce qu'un Rapport n'a pas vraiment eu moyen de supporter les "clic pour changer"
Ajouter des chaînes pour les propriétés nouvelles que vous avez définies à l'étape précédente. Vous pouvez également traduire celles-ci dans les autres propriétés des fichiers lorsque cela est possible.
Ajoutez la nouvelle classe ReporterTableAction au menu.
Ajouter des chaînes pour la nouvelle propriété que vous avez défini à l'étape précédente. Vous pouvez également traduire celle dans les autres propriétés des fichiers lorsque cela est possible.
A ce stade, vous devriez être en mesure de compiler et d'exécuter le test du nouveau tableau.
Charger et enregistrer la date de configuration des applications ReporterManager
Charger et stocker l'info spécifique-système Gestionnaire Rapport LocoNet
Ajouter de nouveaux éléments et attributs XML à la DTD
discussion
discussion
discussion
Créer des Javadocs, et résoudre les éventuels nouveaux problèmes (ou anciens).