Inställningsfiler i classpath
Samma funktionalitet som om filerna låg under web-inf fast med skillnaden att ni nu placerar dem i katalogen capitex/componentmodel/ i classpath.
I filen capitex/componentmodel/capitex_customer_config.xml i classpath lägger ni egna inställningar. De inställningar ni lägger i denna går före de inställningar som återfinns i filen web-inf/capitex_config.xml. Det går också ha olika konfigurationer beroende på grupp av användare (vilken grupps inställningar man vill köra styrs med inparameter/metadata CX.GROUP). Inställningar specifika för en viss grupp läggs i filen capitex/componentmodel/gruppnamn/capitex_customer_config.xml (där gruppnamn byts ut mot det gruppnamn som skickas in i CX.GROUP). Grupp-inställningarna går före inställningar i filen capitex/componentmodel/capitex_customer_config.xml. Saknas inställningen i grupp-inställningen så hämtas den från capitex/componentmodel/capitex_customer_config.xml, saknas inställningen där så läses inställningar från katalogen web-inf inne i webbapplikationen enligt föregående avsnitt.
(Istället för att styra vilken konfiguration som används med hjälp av CX.GROUP, så kan man styra detta med användarens rollnamn, se separat stycke om detta.)
Filnamnen i classpath skulle kunna se ut så här tex:
Exempel Sun Application Server
\Sun\AppServer\domains\d1\config\capitex\componentmodel\capitex_customer_config.xml
\Sun\AppServer\domains\d1\config\capitex\componentmodel\public\capitex_customer_config.xml
Exempel Tomcat
\Program\Apache\Tomcat 6.0\lib\capitex\componentmodel\capitex_customer_config.xml
\Program\Apache\Tomcat 6.0\lib\capitex\componentmodel\public\capitex_customer_config.xml
Exempel WebLogic
\bea\user_projects\domains\bkdomain\capitex\componentmodel\capitex_customer_config.xml
\bea\user_projects\domains\bkdomain\capitex\componentmodel\public\capitex_customer_config.xml
Den inledande feta texten i filnamnet beror på hur JVM’en är konfigurerad samt vilken applikationsserver som används.
Konfigurationsfiler i egen JAR-fil
Ovanstående exempel på sökvägar är när konfigurationsfilen placeras direkt i filsystemet. Boendekalkylen har också stöd för att konfigurationsfilerna placeras i egen jar-fil. Det kan tex vara en jar-fil som även innehåller plugin-klasser för spara/hämta. Var denna jar-fil placeras beror på applikationsservern och hur den konfigureras.
Exempel på var jar-filen kan placeras för Sun Application Server är:
\Program\Java\Sun\AppServer\domains\domain1\lib\ext
Exempel på var jar-filen kan placeras för Tomcat är:
\Program\Apache\Tomcat 6.0\lib\
Exempel på en sådan jar-fils interna mapp-struktur:
[capitex]
[componentmodel]
capitex_customer_config.xml
[grupp1]
capitex_customer_config.xml
[grupp2]
capitex_customer_config.xml
[mycompany]
[capitexplugin]
SparaImpl.class
Exempel 1 (hur inläsningen går till med en inställningsfil)
Ett utdrag från web-inf/capitex_config.xml:
<?
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
<
konfiguration
>
<
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
capitex.boendekalkyl.datalager.testimpl.ListaEnHandlaeggaresKalkyler
</
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
...
</
konfiguration
>
Egna inställningar i capitex/componentmodel/capitex_customer_config.xml i classpath
<?
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
<
konfiguration
>
<
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
Test.ListaEnHandlaeggaresKalkyler
</
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
...
</
konfiguration
>
När boendekalkylen nu ber om inställningen Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler så kommer svaret att bli
Test.ListaEnHandlaeggaresKalkyler
Exempel 2 (hur inläsningen går till med flera inställningsfiler)
Ett utdrag från web-inf/capitex_config.xml:
<?
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
<
konfiguration
>
<
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
capitex.boendekalkyl.datalager.testimpl.ListaEnHandlaeggaresKalkyler
</
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
...
</
konfiguration
>
Egna inställningar i capitex/componentmodel/capitex_customer_config.xml
<?
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
<
konfiguration
>
<
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
Test.ListaEnHandlaeggaresKalkyler
</
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
...
</
konfiguration
>
Egna inställningar i capitex/componentmodel/public/capitex_customer_config.xml
<?
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
<
konfiguration
>
<
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
Test.implementation2.ListaEnHandlaeggaresKalkyler
</
Impcapitex_integration_dataadaptrar_IListaEnHandlaeggaresKalkyler
>
...
</
konfiguration
>
Om vi nu kör boendekalkylen med CX.GROUP=users så kommer svaret att bli
Test.ListaEnHandlaeggaresKalkyler
Eftersom inställningsgruppen users saknas
Om vi nu kör boendekalkylen med CX.GROUP=public så kommer svaret att bli
Test.implementation2.ListaEnHandlaeggaresKalkyler