ch.bouquet.jpa
Class JpaRunner

java.lang.Object
  extended by ch.bouquet.jpa.JpaRunner

public class JpaRunner
extends java.lang.Object

CAS Enterprise Application Development mit Java EE (EADJ) - 2007
Modul: Data-Tier (JPA)
User admininstration (examination question)
Description:
This class start process the use cases for the examination example.

Copyright (c) 2007 bouquet dot ch, 3032 Hinterkappelen. All rights reseved.

Version:
1.0 - 25.05.2007
Author:
Marc Bouquet ( marc at bouquet dot ch, Swiss )

Field Summary
private static org.apache.log4j.Logger LOG
          Constant for the logging
private static java.lang.String LOG_END
          Constant for end of log message
private static java.lang.String LOG_START
          Constant for start of log message
private static java.lang.String PERSISTENCE_NAME
          Constant for Persistence Name
private static long serialVersionUID
          Default serial version uid
 
Constructor Summary
JpaRunner()
          Default constructor
 
Method Summary
private  void clearDatabase()
          This method clear the database data.
private static java.lang.String getInformation(java.util.Date startDate)
          Return the project start information
private  java.lang.String getUseCaseLog(java.lang.String value, java.lang.String number)
          Return the usecase log message.
private static void initLogging()
          Initialize logging.
static void main(java.lang.String[] args)
          Start the test application for java persistence API
 boolean runParallelTester(int loops)
          This method started the tester parallel with threads
 boolean runSequentialTester(int loops)
          This method started the tester sequential
private  void usecase_1()
          Anwendungsfall 1:
In diesem Anwendungsfall werden alle aktiven Benutzer ausgelesen.
private  void usecase_2()
          Anwendungsfall 2:
In diesem Anwendungsfall werden von allen Benutzern der Primaerschluessel, der Login-Name sowie die zugewiesene Authentifizierungsrollen ausgelesen.
private  void usecase_3()
          Anwendungsfall 3:
In diesem Anwendungsfall werden von jedem registrierten Benutzer die Registrierungsdaten ausgelesen.
private  void usecase_4(boolean repeat)
          Anwendungsfall 4:
In diesem Anwendungsfall werden zuerst die Registrierungsdaten des Benutzers mit der Email-Adresse admin@bouquet.ch ausgelesen und danach wird die Adresse, Postleitzahl und der Ort des Benutzers mutiert.
private  void usecase_5()
          Anwendungsfall 5:
In diesem Anwendungsfall werden die von den Benutzern gespeicherten Suchen analysiert.
private  void usecase_6()
          Anwendungsfall 6:
In diesem Anwendungsfall wird dem Benutzer mit der Email-Adresse manager@bouquet.ch eine woechentliche Suche hinzugefuegt.
private  void usecase_7()
          Anwendungsfall 7:
In diesem Anwendungsfall werden die von den Benutzern gespeicherten Suchen analysiert.
private  void usecase_8()
          Anwendungsfall 8:
In diesem Anwendungsfall soll der Benutzer mit der Email-Adresse user@bouquet.ch geloescht werden.
private  void usecase_9_1(boolean repeat)
          Anwendungsfall 9.1:
In diesem Anwendungsfall werden zwei Benutzer versuchen, denselben Datensatz, gleichzeitig zu mutieren.
private  void usecase_9_2(boolean repeat)
          Anwendungsfall 9.2:
In diesem Anwendungsfall werden zwei Benutzer versuchen, denselben Datensatz, gleichzeitig zu mutieren.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Default serial version uid

See Also:
Constant Field Values

LOG

private static org.apache.log4j.Logger LOG
Constant for the logging


LOG_START

private static final java.lang.String LOG_START
Constant for start of log message

See Also:
Constant Field Values

LOG_END

private static final java.lang.String LOG_END
Constant for end of log message

See Also:
Constant Field Values

PERSISTENCE_NAME

private static java.lang.String PERSISTENCE_NAME
Constant for Persistence Name

Constructor Detail

JpaRunner

public JpaRunner()
Default constructor

Method Detail

runSequentialTester

public boolean runSequentialTester(int loops)
                            throws java.lang.Exception
This method started the tester sequential

Parameters:
loops - int number of runs
Returns:
boolean
Throws:
java.lang.Exception

runParallelTester

public boolean runParallelTester(int loops)
                          throws java.lang.Exception
This method started the tester parallel with threads

Parameters:
loops - int number of runs
Returns:
boolean
Throws:
java.lang.Exception

usecase_1

private void usecase_1()
Anwendungsfall 1:
In diesem Anwendungsfall werden alle aktiven Benutzer ausgelesen. Ein Benutzer ist aktiv, wenn in der AuthUser-Tabelle das Attribut state auf 1 gesetzt ist.


usecase_2

private void usecase_2()
Anwendungsfall 2:
In diesem Anwendungsfall werden von allen Benutzern der Primaerschluessel, der Login-Name sowie die zugewiesene Authentifizierungsrollen ausgelesen.


usecase_3

private void usecase_3()
Anwendungsfall 3:
In diesem Anwendungsfall werden von jedem registrierten Benutzer die Registrierungsdaten ausgelesen.


usecase_4

private void usecase_4(boolean repeat)
Anwendungsfall 4:
In diesem Anwendungsfall werden zuerst die Registrierungsdaten des Benutzers mit der Email-Adresse admin@bouquet.ch ausgelesen und danach wird die Adresse, Postleitzahl und der Ort des Benutzers mutiert.

Parameters:
repeat - boolean

usecase_5

private void usecase_5()
Anwendungsfall 5:
In diesem Anwendungsfall werden die von den Benutzern gespeicherten Suchen analysiert. Es werden von der Search-Tabelle alle Suchabfragen mit der Frequenz taeglich ausgelesen und als Zusammenfassung ausgegeben.


usecase_6

private void usecase_6()
Anwendungsfall 6:
In diesem Anwendungsfall wird dem Benutzer mit der Email-Adresse manager@bouquet.ch eine woechentliche Suche hinzugefuegt.


usecase_7

private void usecase_7()
Anwendungsfall 7:
In diesem Anwendungsfall werden die von den Benutzern gespeicherten Suchen analysiert. Es werden von der Search-Tabelle alle Suchabfragen mit der Frequenz woechentlich ausgelesen und als Zusammenfassung ausgegeben.


usecase_8

private void usecase_8()
Anwendungsfall 8:
In diesem Anwendungsfall soll der Benutzer mit der Email-Adresse user@bouquet.ch geloescht werden.


usecase_9_1

private void usecase_9_1(boolean repeat)
Anwendungsfall 9.1:
In diesem Anwendungsfall werden zwei Benutzer versuchen, denselben Datensatz, gleichzeitig zu mutieren.
Der Thread [1] liest den Benutzer mit der Email-Adresse admin@bouquet.ch aus und mutiert dessen Adressangaben wie folgt:

Parameters:
repeat - boolean

usecase_9_2

private void usecase_9_2(boolean repeat)
Anwendungsfall 9.2:
In diesem Anwendungsfall werden zwei Benutzer versuchen, denselben Datensatz, gleichzeitig zu mutieren.
Der Thread [2] liest ebenfalls den Benutzer mit der Email-Adresse admin@bouquet.ch aus und mutiert dessen Adressangaben wie folgt:

Parameters:
repeat - boolean

clearDatabase

private void clearDatabase()
This method clear the database data.


initLogging

private static void initLogging()
Initialize logging.


getUseCaseLog

private java.lang.String getUseCaseLog(java.lang.String value,
                                       java.lang.String number)
Return the usecase log message.

Parameters:
value - String start or end
number - String number of the usecase
Returns:
String formatted usecase log message

getInformation

private static java.lang.String getInformation(java.util.Date startDate)
Return the project start information

Parameters:
startDate - date of the start
Returns:
information

main

public static void main(java.lang.String[] args)
Start the test application for java persistence API

Parameters:
args - no arguments required


Copyright © 2007 - bouquet dot ch, 3032 Hinterkappelen. All Rights Reserved.