Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

91
LINES

< > BotCompany Repo | #1021788 // Gazelle Feedback List Include [Dyn Module]

JavaX fragment (include)

1  
concept AppliedRule {
2  
  S globalID = aGlobalID();
3  
  S ruleID;
4  
  S modifiedRule;
5  
  S outText;
6  
  S judgement;
7  
  S comments;
8  
  S varMap;
9  
  S matchedRuleStruct;
10  
  S intention, context;
11  
}
12  
13  
abstract sclass DynAppliedRules extends DynCRUD<AppliedRule> {
14  
  start {
15  
    dbIndexing(AppliedRule, 'ruleID, AppliedRule, 'context, AppliedRule, 'globalID);
16  
    for (AppliedRule r : list()) fixEntry(r);
17  
    dm_registerAs('gazelleFeedbackCRUD);
18  
    addCountToName();
19  
  }
20  
  
21  
  enhanceFrame { internalFrameIcon(f, gazelle_frameIcon()); }
22  
  
23  
  void fixEntry(AppliedRule r) {
24  
    if (r.ruleID == null) {
25  
      S ruleID = "?";
26  
      pcall {
27  
        ruleID = gazelle_ruleIDFromMatchedRuleStruct(r.matchedRuleStruct);
28  
      }
29  
      cset(r, +ruleID);
30  
    }
31  
    
32  
    if (r.varMap == null) {
33  
      S varMap = "";
34  
      pcall {
35  
        varMap = sfu(gazelle_varMapFromMatchedRuleStruct(r.matchedRuleStruct);
36  
      }
37  
      cset(r, +varMap);
38  
    }
39  
    
40  
    if (r.outText == null) {
41  
      S outText = "";
42  
      pcall {
43  
        outText = gazelle_outTextFromMatchedRuleStruct(r.matchedRuleStruct);
44  
      }
45  
      cset(r, +outText);
46  
    }
47  
    
48  
    if (r.modifiedRule == null) {
49  
      S modifiedRule = "";
50  
      pcall {
51  
        modifiedRule = gazelle_modifiedRuleFromMatchedRuleStruct(r.matchedRuleStruct);
52  
      }
53  
      cset(r, +modifiedRule);
54  
    }
55  
  }
56  
  
57  
  // API
58  
  
59  
  AppliedRule getFeedback(S globalID) {
60  
    ret conceptWhere AppliedRule(+globalID);
61  
  }
62  
  
63  
  L<AppliedRule> feedbackForRule(S ruleID) {
64  
    ret asList(conceptsWhere AppliedRule(+ruleID));
65  
  }
66  
  
67  
  Map<S, Int> stats() {
68  
    ret multiSetToMap(collectMultiSet ruleID(concepts()));
69  
  }
70  
  
71  
  Map<S, Int> statsByJudgement() {
72  
    new MultiSet<S> ms;
73  
    for (AppliedRule r : concepts())
74  
      ms.add(r.ruleID + "/" + r.judgement);
75  
    ret multiSetToMap(ms);
76  
  }
77  
  
78  
  AppliedRule uniqConcept(O... params) {
79  
    AppliedRule r = super.uniqConcept(params);
80  
    fixEntry(r);
81  
    ret r;
82  
  }
83  
  
84  
  Cl<AppliedRule> applicationsForContext(S context) {
85  
    ret conceptsWhere(AppliedRule, +context);
86  
  }
87  
  
88  
  Cl<AppliedRule> allGoodFeedback() {
89  
    ret conceptsWhere(AppliedRule, judgement := 'good);
90  
  }
91  
}

Author comment

Began life as a copy of #1021413

download  show line numbers  debug dex  old transpilations   

Travelled to 8 computer(s): bhatertpkbcr, cfunsshuasjs, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, xrpafgyirdlv

No comments. add comment

Snippet ID: #1021788
Snippet name: Gazelle Feedback List Include [Dyn Module]
Eternal ID of this version: #1021788/10
Text MD5: 27c27d291ebd09cb93c049394b90b132
Author: stefan
Category: javax / a.i.
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2019-12-19 11:36:05
Source code size: 2213 bytes / 91 lines
Pitched / IR pitched: No / No
Views / Downloads: 302 / 603
Version history: 9 change(s)
Referenced in: [show references]