generateIdIfNeeded(context, factoryMetadata);
factoryMetadata.setScope(BeanMetadata.SCOPE_SINGLETON);
factoryMetadata.setRuntimeClass(CmProperties.class);
factoryMetadata.setInitMethod("init");
factoryMetadata.setDestroyMethod("destroy");
factoryMetadata.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
factoryMetadata.addProperty("configAdmin", createConfigurationAdminRef(context));
factoryMetadata.addProperty("managedObjectManager", createRef(context, MANAGED_OBJECT_MANAGER_NAME));
String persistentId = element.getAttribute(PERSISTENT_ID_ATTRIBUTE);
factoryMetadata.addProperty("persistentId", createValue(context, persistentId));
context.getComponentDefinitionRegistry().registerComponentDefinition(factoryMetadata);