Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/rules/metrics/TextInputRatioMetric.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/rules/metrics/TextInputRatioMetric.java	(revision 1152)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/rules/metrics/TextInputRatioMetric.java	(revision 1217)
@@ -15,5 +15,5 @@
 package de.ugoe.cs.autoquest.usability.rules.metrics;
 
-import static de.ugoe.cs.autoquest.usability.tasktree.filters.EventTypeFilter.TEXT_INPUT;
+import static de.ugoe.cs.autoquest.usability.taskmodel.filter.types.EventTypeFilter.TEXT_INPUT;
 
 import java.util.List;
@@ -27,15 +27,15 @@
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
 import de.ugoe.cs.autoquest.usability.EvaluationMethodCaller;
-import de.ugoe.cs.autoquest.usability.result.DefectDescriptionResolver;
-import de.ugoe.cs.autoquest.usability.result.UsabilityDefect;
+import de.ugoe.cs.autoquest.usability.result.UsabilityProblemDescriptionResolver;
+import de.ugoe.cs.autoquest.usability.result.UsabilityProblemDescription;
 import de.ugoe.cs.autoquest.usability.rules.UsabilityMetric;
 import de.ugoe.cs.autoquest.usability.rules.UsabilityRule;
-import de.ugoe.cs.autoquest.usability.tasktree.FilterResult;
-import de.ugoe.cs.autoquest.usability.tasktree.IterativeDFSFilterStrategy;
-import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskModelFilter;
+import de.ugoe.cs.autoquest.usability.taskmodel.filter.FilterResult;
+import de.ugoe.cs.autoquest.usability.taskmodel.filter.IterativeDFSFilterStrategy;
+import de.ugoe.cs.autoquest.usability.taskmodel.filter.types.TaskModelFilter;
 
 /**
  * <p>
- * TODO comment
+ * Metric, which measures the ratio between the text input and the non text input events.
  * </p>
  * 
@@ -46,7 +46,7 @@
     /**
      * <p>
-     * TODO: comment
+     * Constructor. Creates a new {@code TextInputRatioMetric} for a given task model.
      * </p>
-     *
+     * 
      * @param taskTree
      */
@@ -54,23 +54,51 @@
         super(taskModel);
         this.name = "TextInputRatio";
-        this.defect = new DefectDescriptionResolver().descriptionFor(this.getClass().getSimpleName());
+        this.defect =
+            new UsabilityProblemDescriptionResolver().descriptionFor(this.getClass()
+                .getSimpleName());
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     * 
      * @see de.ugoe.cs.autoquest.usability.rules.UsabilityRule#check()
      */
     @Override
-    public Optional<UsabilityDefect> calculate() {
+    public Optional<UsabilityProblemDescription> calculate() {
         FilterResult textInputEvents = extractNodesFromTaskTree();
-        float evaluationMetric = calculateEvaluationMetric(textInputEvents.tasksMatchedFilter(), textInputEvents.tasksNotMatchedFilter());
+        float evaluationMetric =
+            calculateEvaluationMetric(textInputEvents.tasksMatchedFilter(),
+                                      textInputEvents.tasksNotMatchedFilter());
         return this.defect.isPresent(evaluationMetric);
     }
-    
+
+    /**
+     * 
+     * <p>
+     * Filters all text input events from task model.
+     * </p>
+     * 
+     * @return {@code FilterResult}
+     */
     private FilterResult extractNodesFromTaskTree() {
         return new TaskModelFilter(new IterativeDFSFilterStrategy()).filterByEventType(TEXT_INPUT)
             .from(this.taskModel);
     }
-    
-    private float calculateEvaluationMetric(List<ITask> textInputEvents, List<ITask> nonTextInputEvents) {
+
+    /**
+     * 
+     * <p>
+     * Calculates the metric.
+     * </p>
+     * 
+     * @param textInputEvents
+     *            all text input events
+     * @param nonTextInputEvents
+     *            all non text input events
+     * @return ratio between text input and non text input events
+     */
+    private float calculateEvaluationMetric(List<ITask> textInputEvents,
+                                            List<ITask> nonTextInputEvents)
+    {
         float numberOfTextInputEvents = textInputEvents.size();
         float numberOfNonTextInputEvents = nrOfEventTasksNotMatchedFilter(nonTextInputEvents);
@@ -78,20 +106,33 @@
     }
 
+    /**
+     * 
+     * <p>
+     * Filters all {@link IEventTask}s from non text input event.
+     * </p>
+     * 
+     * @param nonTextInputEvents
+     *            all non text input events
+     * @return number of {@link IEventTask}s
+     */
     private int nrOfEventTasksNotMatchedFilter(List<ITask> nonTextInputEvents) {
-        return Iterables.size(Iterables.filter(nonTextInputEvents,
-                                               new Predicate<ITask>() {
+        return Iterables.size(Iterables.filter(nonTextInputEvents, new Predicate<ITask>() {
 
-                                                   @Override
-                                                   public boolean apply(ITask task) {
-                                                       return task instanceof IEventTask;
-                                                   }
-                                               }));
+            @Override
+            public boolean apply(ITask task) {
+                return task instanceof IEventTask;
+            }
+        }));
     }
 
-    /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.usability.rules.UsabilityRule#callEvaluationMetho(de.ugoe.cs.autoquest.usability.EvaluationMethodCaller)
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * de.ugoe.cs.autoquest.usability.rules.UsabilityRule#callEvaluationMetho(de.ugoe.cs.autoquest
+     * .usability.EvaluationMethodCaller)
      */
     @Override
-    public Optional<UsabilityDefect> callEvaluationMethod(EvaluationMethodCaller evaluationMethodCaller)
+    public Optional<UsabilityProblemDescription> callEvaluationMethod(EvaluationMethodCaller evaluationMethodCaller)
     {
         return evaluationMethodCaller.check(this);
