Changeset 1040 for trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacade.java
- Timestamp:
- 01/16/13 17:51:51 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacade.java
r1033 r1040 1 // Copyright 2012 Georg-August-Universität Göttingen, Germany 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 1 15 package de.ugoe.cs.autoquest.usability; 2 16 3 17 import java.util.EnumSet; 4 18 import java.util.List; 5 6 import lombok.AccessLevel;7 import lombok.AllArgsConstructor;8 import lombok.NoArgsConstructor;9 19 10 20 import com.google.common.base.Optional; … … 17 27 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRuleset; 18 28 19 @NoArgsConstructor(access = AccessLevel.PRIVATE) 29 /** 30 * <p> 31 * TODO comment 32 * </p> 33 * 34 * @author Alexander Deicke 35 */ 20 36 public class UsabilityEvaluationFacade { 21 37 22 public static ExecuteUsabilityEvaluationStep applyUsabilityRuleset(UsabilityRuleset usabilityRuleset) { 23 Preconditions.checkNotNull(usabilityRuleset); 38 private UsabilityEvaluationFacade() { 39 // no instantiation allowed 40 } 41 42 public static ExecuteUsabilityEvaluationStep applyUsabilityRuleset(UsabilityRuleset usabilityRuleset) 43 { 44 Preconditions.checkNotNull(usabilityRuleset); 24 45 return new ExecuteUsabilityEvaluationStep(usabilityRuleset); 25 46 } 26 47 27 @AllArgsConstructor28 48 protected static class ExecuteUsabilityEvaluationStep { 29 30 private final UsabilityRuleset usabilityRuleset;31 49 32 public UsabilityEvaluationReport evaluateUsabilityOf(ITaskTree taskTree) { 33 Preconditions.checkNotNull(taskTree); 34 EnumSet<? extends UsabilityRule> evaluationRules = usabilityRuleset.evaluationRules(); 35 List<UsabilityDefect> evaluationResults = 36 Lists.newArrayListWithCapacity(evaluationRules.size()); 37 for(UsabilityRule usabilityRule : evaluationRules) { 38 Optional<UsabilityDefect> ruleEvaluationResult = usabilityRule.evaluate(taskTree); 39 if(ruleEvaluationResult.isPresent()) { 40 evaluationResults.add(ruleEvaluationResult.get()); 41 } 42 } 43 return UsabilityEvaluationReport.from(evaluationResults); 44 } 45 50 protected ExecuteUsabilityEvaluationStep(UsabilityRuleset usabilityRuleset) { 51 super(); 52 this.usabilityRuleset = usabilityRuleset; 53 } 54 55 private final UsabilityRuleset usabilityRuleset; 56 57 public UsabilityEvaluationReport evaluateUsabilityOf(ITaskTree taskTree) { 58 Preconditions.checkNotNull(taskTree); 59 EnumSet<? extends UsabilityRule> evaluationRules = usabilityRuleset.evaluationRules(); 60 List<UsabilityDefect> evaluationResults = 61 Lists.newArrayListWithCapacity(evaluationRules.size()); 62 for (UsabilityRule usabilityRule : evaluationRules) { 63 Optional<UsabilityDefect> ruleEvaluationResult = usabilityRule.evaluate(taskTree); 64 if (ruleEvaluationResult.isPresent()) { 65 evaluationResults.add(ruleEvaluationResult.get()); 66 } 67 } 68 return UsabilityEvaluationReport.from(evaluationResults); 69 } 70 46 71 } 47 72
Note: See TracChangeset
for help on using the changeset viewer.