- private Metadata parseRpcImplementation(Element element, ParserContext context) {
- registerRpcRegistryServiceRefBean(context);
+ private static Metadata parseActionProvider(final Element element, final ParserContext context) {
+ registerDomRpcProviderServiceRefBean(context);
+ registerBindingRpcProviderServiceRefBean(context);
+ registerSchemaServiceRefBean(context);
+
+ MutableBeanMetadata metadata = createBeanMetadata(context, context.generateId(), ActionProviderBean.class,
+ true, true);
+ addBlueprintBundleRefProperty(context, metadata);
+ metadata.addProperty("domRpcProvider", createRef(context, DOM_RPC_PROVIDER_SERVICE_NAME));
+ metadata.addProperty("bindingRpcProvider", createRef(context, BINDING_RPC_PROVIDER_SERVICE_NAME));
+ metadata.addProperty("schemaService", createRef(context, SCHEMA_SERVICE_NAME));
+ metadata.addProperty("interfaceName", createValue(context, element.getAttribute(INTERFACE)));
+
+ if (element.hasAttribute(REF_ATTR)) {
+ metadata.addProperty("implementation", createRef(context, element.getAttribute(REF_ATTR)));
+ }