J'utilise Eclipse avec le plugin Drools pour créer des règles. Je veux créer des règles métier et l'objectif principal est d'essayer de fournir à l'utilisateur un ensemble d'options qu'il peut utiliser pour créer des règles. Par exemple: Si un Apple ne peut avoir que 3 couleurs: Je veux fournir une option comme une liste déroulante afin que l'utilisateur puisse savoir d'avance quelles sont les options qu'il peut utiliser dans ses règles. Est-ce possible? Je crée un fichier dsl mais je ne peux pas encore fournir la fonctionnalité ci-dessus pour une règle métier. J'ai une erreur d'implémentation d'un basic dsl aussi. Le code pour ajouter le dsl est la suivante dans ma classe de RuleRunner()Problème de création de règles DSL et de règles métier dans Drools
InputStream ruleSource = RuleRunner.class.getClassLoader() getResourceAsStream ("/ Rule1.dslr").
InputStream dslSource = RuleRunner.class.getClassLoader(). GetResourceAsStream ("/ sample-dsl.dsl");
// Charger les règles, utilisant DSL
addRulesToThisPackage.addPackageFromDrl ( nouvelle InputStreamReader (ruleSource), nouvelle InputStreamReader (dslSource));
J'ai les exemples .dlsl et Rule1.dslr dans mon répertoire de travail.
Une erreur s'ajoutant à l'dsl au paquet (dernière ligne)
pile d'erreur:
Exception dans le thread "principal" java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at com.org.RuleRunner.loadRuleFile(RuleRunner.java:96)
at com.org.RuleRunner.loadRules(RuleRunner.java:48)
at com.org.RuleRunner.runStatelessRules(RuleRunner.java:109)
at com.org.RulesTest.main(RulesTest.java:41)
mon fichier dsl a cartographie de base selon les documentations en ligne.
La règle dsl j'ai créé est:
extension échantillon dsl.dsl
règle "Un statut change de statut B"
when
There is an A
- has an address
There is a B
- has name
then
- print updated A and Aaddress
Fin
J'ai créé DSL éclipse.
Est-ce que le code que j'ai ajouté pour qu'il soit chargé dans mon paquet correct ?? Ou est-ce que je manque quelque chose ???
Il semble que mon programme ne trouve pas le fichier dsl?
Aidez-nous s'il vous plaît. Pouvez-vous me diriger vers la bonne direction pour créer une règle d'affaires conviviale?
Merci.
J
merci :) était très utile! – JJunior