1414import java .util .Iterator ;
1515import java .util .List ;
1616
17+ import org .apache .commons .configuration .Configuration ;
18+ import org .apache .commons .lang3 .StringUtils ;
19+ import org .roda .core .RodaCoreFactory ;
20+ import org .slf4j .Logger ;
21+ import org .slf4j .LoggerFactory ;
22+
1723import jakarta .servlet .Filter ;
1824import jakarta .servlet .FilterChain ;
1925import jakarta .servlet .FilterConfig ;
2228import jakarta .servlet .ServletRequest ;
2329import jakarta .servlet .ServletResponse ;
2430
25- import org .apache .commons .configuration .Configuration ;
26- import org .apache .commons .lang3 .StringUtils ;
27- import org .roda .core .RodaCoreFactory ;
28- import org .slf4j .Logger ;
29- import org .slf4j .LoggerFactory ;
30-
3131/**
3232 * A filter that can be turned on/off using RODA configuration file.
3333 */
@@ -116,13 +116,14 @@ private boolean isConfigAvailable() {
116116 */
117117 private void initInnerFilter () throws ServletException {
118118 final Configuration rodaConfig = RodaCoreFactory .getRodaConfiguration ();
119- if (rodaConfig == null ) {
119+ final String innerFilterClass = this .webXmlFilterConfig .getInitParameter (PARAM_INNER_FILTER_CLASS );
120+ final String configPrefix = this .webXmlFilterConfig .getInitParameter (PARAM_CONFIG_PREFIX );
121+ final String configKey = configPrefix + ".enabled" ;
122+ if (rodaConfig == null || !rodaConfig .containsKey (configKey )) {
120123 LOGGER .info ("RODA configuration not available yet. Delaying init of {}." ,
121124 this .webXmlFilterConfig .getInitParameter (PARAM_INNER_FILTER_CLASS ));
122125 } else {
123- final String innerFilterClass = this .webXmlFilterConfig .getInitParameter (PARAM_INNER_FILTER_CLASS );
124- final String configPrefix = this .webXmlFilterConfig .getInitParameter (PARAM_CONFIG_PREFIX );
125- if (rodaConfig .getBoolean (configPrefix + ".enabled" , false )) {
126+ if (rodaConfig .getBoolean (configKey , false )) {
126127 try {
127128 this .innerFilter = (Filter ) Class .forName (innerFilterClass ).newInstance ();
128129 this .innerFilter .init (getFilterConfig ());
@@ -134,8 +135,8 @@ private void initInnerFilter() throws ServletException {
134135 } else {
135136 this .isOn = false ;
136137 }
138+ LOGGER .info ("{} is {}" , getFilterConfig ().getFilterName (), (this .isOn ? "ON" : "OFF" ));
137139 }
138- LOGGER .info ("{} is {}" , getFilterConfig ().getFilterName (), (this .isOn ? "ON" : "OFF" ));
139140 }
140141
141142 /**
0 commit comments