Ignore:
Timestamp:
10/20/15 10:11:04 (9 years ago)
Author:
pharms
Message:
  • finalized smell detection for phd thesis
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/TextInputStatisticsRule.java

    r1918 r2042  
    107107            int noOfUsagesOfTextField1 = statistics.getUsageCount(entry.textField1); 
    108108            int noOfUsagesOfTextField2 = statistics.getUsageCount(entry.textField2); 
    109             int noOfUsagesOfTextField1WithSameTextInTextField2 = entry.enteredTexts.size(); 
    110              
    111             int ratioTextField1 =  
    112                 1000 * noOfUsagesOfTextField1WithSameTextInTextField2 / noOfUsagesOfTextField1; 
    113              
    114             int ratioTextField2 = 
    115                 1000 * noOfUsagesOfTextField1WithSameTextInTextField2 / noOfUsagesOfTextField2; 
    116  
    117             createTextFieldEntryRepetitionSmell(ratioTextField1, entry.textField1, 
    118                                                  entry.textField2, results); 
    119              
    120             createTextFieldEntryRepetitionSmell(ratioTextField2, entry.textField2, 
    121                                                  entry.textField1, results); 
    122              
    123         } 
    124     } 
    125  
    126     /** 
    127      * 
    128      */ 
    129     private void createTextFieldEntryRepetitionSmell(int                       ratioOfEqualEntries, 
    130                                                       ITextField                textField1, 
    131                                                       ITextField                textField2, 
    132                                                       UsabilityEvaluationResult results) 
    133     { 
     109            int numberOfEqualEntries = entry.enteredTexts.size(); 
     110             
     111            createTextFieldEntryRepetitionSmell(noOfUsagesOfTextField1, numberOfEqualEntries, 
     112                                                entry.textField1, entry.textField2, results); 
     113             
     114            createTextFieldEntryRepetitionSmell(noOfUsagesOfTextField2, numberOfEqualEntries, 
     115                                                entry.textField2, entry.textField1, results); 
     116             
     117        } 
     118    } 
     119 
     120    /** 
     121     * 
     122     */ 
     123    private void createTextFieldEntryRepetitionSmell(int                       allEntries, 
     124                                                     int                       numberOfEqualEntries, 
     125                                                     ITextField                textField1, 
     126                                                     ITextField                textField2, 
     127                                                     UsabilityEvaluationResult results) 
     128    { 
     129        int ratio = 1000 * numberOfEqualEntries / allEntries; 
     130         
    134131        UsabilitySmellIntensity severity = 
    135             UsabilitySmellIntensity.getIntensity(ratioOfEqualEntries); 
     132            UsabilitySmellIntensity.getIntensity(ratio, allEntries, -1); 
    136133         
    137134        if (severity != null) { 
    138135            Map<String, Object> parameters = new HashMap<String, Object>(); 
    139             parameters.put("textRepetitionRatio", (ratioOfEqualEntries / 10)); 
     136            parameters.put("numberOfEqualEntries", numberOfEqualEntries); 
     137            parameters.put("numberOfAllEntries", allEntries); 
     138            parameters.put("textRepetitionRatio", (ratio / 10)); 
    140139            parameters.put("textField1", textField1); 
    141140            parameters.put("textField2", textField2); 
     
    169168            int ratio = 1000 * noLetterOrDigitCount / allCharactersCount; 
    170169 
    171             UsabilitySmellIntensity severity = UsabilitySmellIntensity.getIntensity(ratio); 
     170            UsabilitySmellIntensity severity = UsabilitySmellIntensity.getIntensity 
     171                (ratio, statistics.getAllInputsInto(textField).size(), -1); 
    172172 
    173173            if (severity != null) { 
Note: See TracChangeset for help on using the changeset viewer.