org.android.activityminer.logic.classification
Class ModelCreationThread

Package class diagram package ModelCreationThread
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.classification.ModelCreationThread
All Implemented Interfaces:
EventObserver<ObservableProgressData>, ObservableEventSource<TaskFinishedEvent>, ObserverRegistration<TaskFinishedEvent>, WorkerThread, Runnable

public class ModelCreationThread
extends ObservableWorkerThreadWithProgressNotification
implements EventObserver<ObservableProgressData>

The model creation 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.
private  ModelCreationHelper helper
          The helper to delegate to
private  int MODEL_CREATION_NOTIFICATION
          the notification identifier
private  long startTime
          The start time.
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ModelCreationThread(Context context, DBManager dbManager, Configuration config, String modelName, Class<? extends Activity> intentReceiver)
          Constructor
 
Method Summary
static ModelCreationThread createAndRun(Context context, DBManager dbManager, Configuration config, EventObserver<TaskFinishedEvent> finishedObserver, String modelName, Class<? extends Activity> intentReceiver)
          Does create and execute a model creation thread for the given configuration.
protected  void doWork()
           
 String getErrorNotificationMsg()
          Getter for the error notification message
 int getNotificationId()
          Getter for the notification identifier
 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

MODEL_CREATION_NOTIFICATION

private int MODEL_CREATION_NOTIFICATION
the notification identifier


helper

private final ModelCreationHelper helper
The helper to delegate to


startTime

private long startTime
The start time.


elapsedTime

private double elapsedTime
The time needed.


context

private Context context
The context.

Constructor Detail

ModelCreationThread

public ModelCreationThread(Context context,
                           DBManager dbManager,
                           Configuration config,
                           String modelName,
                           Class<? extends Activity> intentReceiver)
Constructor

Parameters:
context - the application context
dbManager - a reference to the database manager
config - the configuration to use
modelName - the model name
intentReceiver - the intent receiver class
Method Detail

doWork

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

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

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 ModelCreationThread createAndRun(Context context,
                                                     DBManager dbManager,
                                                     Configuration config,
                                                     EventObserver<TaskFinishedEvent> finishedObserver,
                                                     String modelName,
                                                     Class<? extends Activity> intentReceiver)
Does create and execute a model creation thread for the given configuration.

Parameters:
context - the context of the caller
dbManager - the database manager to use
config - the configuration to use
finishedObserver - the finished event observer
modelName - the model name
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>