org.android.activityminer.logic.evaluation
Class EvaluationThread

Package class diagram package EvaluationThread
java.lang.Object
  extended by java.lang.Thread
      extended by de.unikassel.android.sdcframework.util.AbstractWorkerThread
          extended by org.android.activityminer.app.util.ObservableWorkerThreadWithProgressNotification
              extended by org.android.activityminer.logic.evaluation.EvaluationThread
All Implemented Interfaces:
EventObserver<ObservableProgressData>, ObservableEventSource<TaskFinishedEvent>, ObserverRegistration<TaskFinishedEvent>, WorkerThread, Runnable

public class EvaluationThread
extends ObservableWorkerThreadWithProgressNotification
implements EventObserver<ObservableProgressData>

The evaluation extraction thread.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
private  Context context
          The context.
private  double elapsedTime
          The time needed for the evaluation run.
private  int EVALUATION_NOTIFICATION
          the evaluation notification identifier
private  EvaluationHelper helper
          The evaluation helper to delegate to
private  long startTime
          The start time of the actual evaluation run.
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
EvaluationThread(Context context, DBManager dbManager, Set<Set<FeatureTypes>> featureSetsToTest, Configuration config, boolean bestResultsOnly, Class<? extends Activity> intentReceiver)
          Constructor
 
Method Summary
static EvaluationThread createAndRun(Context context, DBManager dbManager, Set<Set<FeatureTypes>> featureSetsToTest, Configuration config, boolean bestResultsOnly, EventObserver<TaskFinishedEvent> finishedObserver, Class<? extends Activity> intentReceiver)
          Does create and execute an evaluation thread for the given configuration and feature sets.
protected  void doWork()
           
 String getErrorNotificationMsg()
          Getter for the error notification message
protected  String getEvaluationStorageLocation()
          Getter for the save file name and path
 int getNotificationId()
          Getter for the notification identifier
private  String getResultLimitationMessage()
          Getter for the result limitation message.
 String getResultNotificationMsg()
          Getter for the result notification message
 boolean hasSucceeded()
          Test method for success in case of termination
 void onEvent(ObservableEventSource<? extends ObservableProgressData> eventSource, ObservableProgressData observedEvent)
           
 
Methods inherited from class org.android.activityminer.app.util.ObservableWorkerThreadWithProgressNotification
broadcastProgress, doCleanUp, getApplicationContext, getFinalResult, getMaxProgress, getNotification, getTaskTitle, hasObservers, incrementAndNotifyProgress, incrementAndNotifyProgress, notify, notifyProgress, notifyProgress, registerEventObserver, removeAllObservers, setMaxProgress, unregisterEventObserver
 
Methods inherited from class de.unikassel.android.sdcframework.util.AbstractWorkerThread
doTerminate, hasTerminated, isLogging, isWorking, logMessage, run, setLogging, start, startWork, stopWork
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EVALUATION_NOTIFICATION

private int EVALUATION_NOTIFICATION
the evaluation notification identifier


helper

private final EvaluationHelper helper
The evaluation helper to delegate to


startTime

private long startTime
The start time of the actual evaluation run.


elapsedTime

private double elapsedTime
The time needed for the evaluation run.


context

private final Context context
The context.

Constructor Detail

EvaluationThread

public EvaluationThread(Context context,
                        DBManager dbManager,
                        Set<Set<FeatureTypes>> featureSetsToTest,
                        Configuration config,
                        boolean bestResultsOnly,
                        Class<? extends Activity> intentReceiver)
Constructor

Parameters:
context - the application context
dbManager - a reference to the database manager
featureSetsToTest - the set with the feature sets to test
config - the current configuration
bestResultsOnly - flag to limit the result list to the best results (ranked by overall prediction accuracy)
intentReceiver - the intent receiver class
Method Detail

doWork

protected void doWork()
Specified by:
doWork in class AbstractWorkerThread

getEvaluationStorageLocation

protected final String getEvaluationStorageLocation()
Getter for the save file name and path

Returns:
the save file name and path

getResultNotificationMsg

public String getResultNotificationMsg()
Description copied from class: ObservableWorkerThreadWithProgressNotification
Getter for the result notification message

Specified by:
getResultNotificationMsg in class ObservableWorkerThreadWithProgressNotification
Returns:
the result notification message

getResultLimitationMessage

private String getResultLimitationMessage()
Getter for the result limitation message.

Returns:
the result limitation message

getErrorNotificationMsg

public String getErrorNotificationMsg()
Description copied from class: ObservableWorkerThreadWithProgressNotification
Getter for the error notification message

Specified by:
getErrorNotificationMsg in class ObservableWorkerThreadWithProgressNotification
Returns:
the error notification message

hasSucceeded

public boolean hasSucceeded()
Description copied from class: ObservableWorkerThreadWithProgressNotification
Test method for success in case of termination

Specified by:
hasSucceeded in class ObservableWorkerThreadWithProgressNotification
Returns:
true if thread has successfully finished it's task, false in case of errors

getNotificationId

public int getNotificationId()
Description copied from class: ObservableWorkerThreadWithProgressNotification
Getter for the notification identifier

Specified by:
getNotificationId in class ObservableWorkerThreadWithProgressNotification
Returns:
the notification identifier

createAndRun

public static final EvaluationThread createAndRun(Context context,
                                                  DBManager dbManager,
                                                  Set<Set<FeatureTypes>> featureSetsToTest,
                                                  Configuration config,
                                                  boolean bestResultsOnly,
                                                  EventObserver<TaskFinishedEvent> finishedObserver,
                                                  Class<? extends Activity> intentReceiver)
Does create and execute an evaluation thread for the given configuration and feature sets.

Parameters:
context - the context of the caller
dbManager - the database manager to use
config - the configuration to use
featureSetsToTest - the feature sets to evaluate
bestResultsOnly - flag to limit the result list to the best results (ranked by overall prediction accuracy)
finishedObserver - the finished event observer
intentReceiver - the intent receiver class
Returns:
the created evaluation thread

onEvent

public void onEvent(ObservableEventSource<? extends ObservableProgressData> eventSource,
                    ObservableProgressData observedEvent)
Specified by:
onEvent in interface EventObserver<ObservableProgressData>