I don't seem to be able to 'fire' the advice
Here's a part of my setup
Code:
<bean id="breakInjector" class="ks.rah.avik2.web.form.support.AddHtmlBreakInterceptor"/>
<bean id="breakInjectorTarget" class="ks.rah.avik2.domain.Event"/>
<!-- Interceptor to inject <br>-tags into output -->
<bean id="breakInjectorPointcut" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice"><ref local="breakInjector"/></property>
<property name="patterns">
<list>
<value>^ks.rah.avik2.domain.Event.getEventDescr.*</value>
<value>^ks.rah.avik2.domain.Event.getWhyComment.*</value>
<value>^ks.rah.avik2.domain.Event.getConseqComment.*</value>
<value>^ks.rah.avik2.domain.Event.getPreventComment.*</value>
<value>^ks.rah.avik2.domain.Event.getAuxComment.*</value>
<value>^ks.rah.avik2.domain.support.TextEntry.getText.*</value>
</list>
</property>
</bean>
<bean id="breakInjectorProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target"><ref local="breakInjectorTarget"/></property>
<property name="interceptorNames">
<list>
<value>breakInjector</value>
</list>
</property>
</bean>
The interceptor:
Code:
public class AddHtmlBreakInterceptor implements MethodInterceptor {
public static Logger log = Logger.getLogger(AddHtmlBreakInterceptor.class.getName());
public Object invoke(MethodInvocation invocation) throws Throwable{
log.debug("AddHtmlBreakInterceptor invoked");
String out = (String) invocation.proceed();
log.debug("Instring = " + out);
String returnthis = replaceWithBrakes( out );
log.debug("Instring massaged = " + returnthis);
return returnthis;
}
public String replaceWithBrakes(String instr){
if( instr == null || instr.length() < 1 ){
return "";
}
StringBuffer sb = new StringBuffer(instr);
int cursor = 0;
for(int i = 0; i < sb.length() && cursor != -1;i = cursor){
cursor = sb.indexOf("\n", cursor);
sb.insert(cursor, "<br/>");
}
return sb.toString();
}
}
I don't know what I'm doing wrong here...
Thanks!