01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */package org.apache.cxf.bus.spring;
19:
20: import java.util.List;
21:
22: import org.w3c.dom.Element;
23:
24: import org.apache.cxf.Bus;
25: import org.apache.cxf.bus.CXFBusImpl;
26: import org.apache.cxf.common.util.StringUtils;
27: import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
28: import org.springframework.beans.factory.support.BeanDefinitionBuilder;
29: import org.springframework.beans.factory.xml.ParserContext;
30:
31: public class BusDefinitionParser extends AbstractBeanDefinitionParser {
32:
33: public BusDefinitionParser() {
34: super ();
35: setBeanClass(CXFBusImpl.class);
36: }
37:
38: @Override
39: protected void mapElement(ParserContext ctx,
40: BeanDefinitionBuilder bean, Element e, String name) {
41: if ("inInterceptors".equals(name)
42: || "inFaultInterceptors".equals(name)
43: || "outInterceptors".equals(name)
44: || "outFaultInterceptors".equals(name)
45: || "features".equals(name)) {
46: List list = ctx.getDelegate().parseListElement(e,
47: bean.getBeanDefinition());
48: bean.addPropertyValue(name, list);
49: }
50: }
51:
52: protected String getIdOrName(Element elem) {
53: String id = super.getIdOrName(elem);
54: if (StringUtils.isEmpty(id)) {
55: id = Bus.DEFAULT_BUS_ID;
56: }
57: return id;
58: }
59: }
|