- MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class);
- metadata.setId(context.generateId());
- metadata.setScope(BeanMetadata.SCOPE_SINGLETON);
- metadata.setActivation(ReferenceMetadata.ACTIVATION_EAGER);
- metadata.setRuntimeClass(RpcImplementationBean.class);
- metadata.setInitMethod("init");
- metadata.setDestroyMethod("destroy");
- metadata.addProperty("bundle", createRef(context, "blueprintBundle"));
+ MutableBeanMetadata metadata = createBeanMetadata(context, context.generateId(), ActionProviderBean.class,
+ true, true);
+ addBlueprintBundleRefProperty(context, metadata);
+ metadata.addProperty("rpcProviderService", createRef(context, RPC_PROVIDER_SERVICE_NAME));
+ metadata.addProperty("rpcRegistry", createRef(context, RPC_REGISTRY_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)));
+ }
+
+ LOG.debug("parseActionProvider returning {}", metadata);
+ return metadata;
+ }
+
+
+ private static Metadata parseRpcImplementation(final Element element, final ParserContext context) {
+ registerRpcRegistryServiceRefBean(context);
+
+ MutableBeanMetadata metadata = createBeanMetadata(context, context.generateId(), RpcImplementationBean.class,
+ true, true);
+ addBlueprintBundleRefProperty(context, metadata);