private void handleReconfiguration(TransformationRuleEvent event, boolean
takeOld, boolean isRemove)
throws AdminEventListenerException {
try {
ConfigBean bean = getTRBean(event, takeOld);
if ( bean instanceof TransformationRule ) {
TransformationRule tr = (TransformationRule) bean;
String appId = getApplicationId(tr);
WebServiceConfigImpl wsc = new WebServiceConfigImpl (
(WebServiceEndpoint) tr.parent());
TransformHandler trh = new TransformHandler( wsc , appId);
Filter f = trh.getFilter(appId, wsc);
TransformFilter tf = null;
if ( f != null) {
tf = (TransformFilter) f;
}
ConfigBean newBean = getTRBean(event, false);
WebServiceConfigImpl nwsc = null;
if ( newBean == null) {
if ( ! isRemove) {
// only remove operation can not have
// new element in the new config context
throw new AdminEventListenerException();
} else {
nwsc = wsc;
}
} else {
nwsc = new WebServiceConfigImpl(
(WebServiceEndpoint) newBean.parent());
}
if ( tf == null) {
// create new filter to handle transformation
tf = (TransformFilter) trh.registerFilter(wsc);
} else {