Domänenklassen und Persistenzfunktionalität der Betoffice Anwendung.
Der Zugriff erfolgt über Spring. Dazu ist ein ClassPathXmlApplicationContext Objekt anzulegen. Die Default-Konfiguration sieht so aus:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "betoffice.xml" } );
Object databaseMaintenanceService = context
.getBean("databaseMaintenanceService");
In diesem Fall werden die Dateien src/main/resources/betoffice-persistence.xml, src/main/resources/betoffice-datasource.xml, src/main/resources/betoffice.properties herangezogen. Die Property Definitionen in der betoffice.properties Datei ersetzen die Platzhalter in den restlichen Spring-Konfigurationsdateien.
Um die Konfiguration an die entsprechende Umgebung anzupassen, empfiehlt sich eher der folgende Aufruf:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] {
"classpath:betoffice-datasource.xml",
"classpath:betoffice-persistence.xml",
"classpath:my_connection_properties.xml", });
Object databaseMaintenanceService = context
.getBean("databaseMaintenanceService");
betoffice-datasource.xml definiert eine DataSource. Für den Einsatz in einem Web-Container würde man hier von den Default-Einstellungen weg gehen und eher die Datasource über JNDI beziehen und dies in einer eigenen Spring-Datasource Konfiguration verdrahten. Die Datei betoffice-persistence.xml kann in der Regel so übernommen werden, außer man möchte die Transaktionssteuerung ändern. Die Datei my_connection_properties.xml könnte dabei folgenden Aufbau haben:
<bean id="myProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:betoffice.properties</value>
</property>
</bean>
Es wird also eine Property Datei herangezogen, die die entsprechenden Platzhalter in den anderen Konfigurationen ersetzt.
Nach erfolgreicher Konfigurationsauswahl stehen dann die folgenden Service Klassen, die sich im Paket de.winkler.betoffice.service wiederfinden, zur Verfügung:
Verwaltung der Stammdaten der Anwendung, wie Teilnehmer, Mannschaften, Gruppentypen.
Verwaltung der Daten einer Meisterschaft, wie Teilnehmer und Mannschaftszuordnung.
Service zur Abgabe von Spieltipps.
Wartungs-Service. Über diesen Service können direkt HSQL oder SQL Befehle an die Datenbank abgesetzt werden.