Refine search
/** * There's single instance of {@link BlueprintCamelStateService} that's used by all Blueprint Camel contexts * to inform about state of Camel contexts. If Karaf is available, this information will propagate to * <em>extended bundle info</em>. * See CAMEL-12980 * @param context */ private void registerBundleStateService(ParserContext context) { ComponentDefinitionRegistry componentDefinitionRegistry = context.getComponentDefinitionRegistry(); ComponentMetadata cm = componentDefinitionRegistry.getComponentDefinition(".camelBlueprint.bundleStateService"); if (cm == null) { MutableBeanMetadata ssm = context.createMetadata(MutableBeanMetadata.class); ssm.setId(".camelBlueprint.bundleStateService"); ssm.setRuntimeClass(BlueprintCamelStateService.class); ssm.addProperty("bundleContext", createRef(context, "blueprintBundleContext")); ssm.setInitMethod("init"); ssm.setDestroyMethod("destroy"); componentDefinitionRegistry.registerComponentDefinition(ssm); } }
private void parseElement(Element elt, ParserContext pc) { ComponentDefinitionRegistry cdr = pc.getComponentDefinitionRegistry(); if ("enable".equals(elt.getLocalName()) && !cdr.containsComponentDefinition(JpaComponentProcessor.class.getSimpleName())) { MutableBeanMetadata meta = pc.createMetadata(MutableBeanMetadata.class); meta.setId(JpaComponentProcessor.class.getSimpleName()); meta.setRuntimeClass(JpaComponentProcessor.class); meta.setProcessor(true); meta.addProperty("pc", passThrough(pc, pc)); cdr.registerComponentDefinition(meta); } }
private void registerRoutedRpcRegistrationConverter(ParserContext context) { ComponentDefinitionRegistry registry = context.getComponentDefinitionRegistry(); if(registry.getComponentDefinition(ROUTED_RPC_REG_CONVERTER_NAME) == null) { MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class); metadata.setId(ROUTED_RPC_REG_CONVERTER_NAME); metadata.setScope(BeanMetadata.SCOPE_SINGLETON); metadata.setActivation(ReferenceMetadata.ACTIVATION_LAZY); metadata.setRuntimeClass(RoutedRpcRegistrationConverter.class); registry.registerTypeConverter(metadata); } }
private void registerManagedObjectManager(ParserContext context, ComponentDefinitionRegistry registry) { if (registry.getComponentDefinition(MANAGED_OBJECT_MANAGER_NAME) == null) { MutableBeanMetadata beanMetadata = context.createMetadata(MutableBeanMetadata.class); beanMetadata.setScope(BeanMetadata.SCOPE_SINGLETON); beanMetadata.setId(MANAGED_OBJECT_MANAGER_NAME); beanMetadata.setRuntimeClass(ManagedObjectManager.class); registry.registerComponentDefinition(beanMetadata); } }
public ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context) { if(node.getLocalName().equals(ATTRIB_ONE)){ if(context.getComponentDefinitionRegistry().getInterceptors(component) == null || !context.getComponentDefinitionRegistry().getInterceptors(component).contains(tracker) ){ context.getComponentDefinitionRegistry().registerInterceptorWithComponent(component, tracker); } } return component; }
private static void registerRoutedRpcRegistrationConverter(final ParserContext context) { ComponentDefinitionRegistry registry = context.getComponentDefinitionRegistry(); if (registry.getComponentDefinition(ROUTED_RPC_REG_CONVERTER_NAME) == null) { MutableBeanMetadata metadata = createBeanMetadata(context, ROUTED_RPC_REG_CONVERTER_NAME, RoutedRpcRegistrationConverter.class, false, false); metadata.setActivation(ReferenceMetadata.ACTIVATION_LAZY); registry.registerTypeConverter(metadata); } }
public Metadata parse(Element element, ParserContext context) { MutableBeanMetadata cxfBean = context.createMetadata(MutableBeanMetadata.class); cxfBean.setRuntimeClass(cls); String fact = getFactorySuffix(); if (fact == null) { cxfBean.setId(getId(element, context)); } else { cxfBean.setId(getId(element, context) + fact); context.getComponentDefinitionRegistry().registerComponentDefinition(cxfBean); MutableBeanMetadata bean = context.createMetadata(MutableBeanMetadata.class); bean.setId(getId(element, context)); bean.setFactoryComponent(cxfBean);
private ComponentMetadata parseManagedServiceFactory(ParserContext context, Element element) { String id = getId(context, element); MutableBeanMetadata factoryMetadata = context.createMetadata(MutableBeanMetadata.class); generateIdIfNeeded(context, factoryMetadata); factoryMetadata.addProperty("id", createValue(context, factoryMetadata.getId())); factoryMetadata.setScope(BeanMetadata.SCOPE_SINGLETON); factoryMetadata.setRuntimeClass(CmManagedServiceFactory.class); factoryMetadata.setInitMethod("init"); factoryMetadata.addProperty("interfaces", createList(context, interfaces)); } else if (nodeNameEquals(e, SERVICE_PROPERTIES_ELEMENT)) { MapMetadata map = context.parseElement(MapMetadata.class, factoryMetadata, e); factoryMetadata.addProperty("serviceProperties", map); listeners.add(context.parseElement(RegistrationListener.class, factoryMetadata, e)); managedComponent.setDestroyMethod(null); context.getComponentDefinitionRegistry().registerComponentDefinition(managedComponent); factoryMetadata.addProperty("managedComponentName", createIdRef(context, managedComponent.getId())); factoryMetadata.addProperty("listeners", listenerCollection); context.getComponentDefinitionRegistry().registerComponentDefinition(factoryMetadata); MutableBeanMetadata mapMetadata = context.createMetadata(MutableBeanMetadata.class);
private ComponentMetadata parseCmProperties(ParserContext context, Element element) { String id = getId(context, element); MutableBeanMetadata factoryMetadata = context.createMetadata(MutableBeanMetadata.class); 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); MutableBeanMetadata propertiesMetadata = context.createMetadata(MutableBeanMetadata.class); propertiesMetadata.setId(id); propertiesMetadata.setScope(BeanMetadata.SCOPE_SINGLETON); propertiesMetadata.setRuntimeClass(Properties.class); propertiesMetadata.setFactoryComponent(createRef(context, factoryMetadata.getId())); propertiesMetadata.setFactoryComponent(factoryMetadata); propertiesMetadata.setFactoryMethod("getProperties"); // Work around ARIES-877 propertiesMetadata.setDependsOn(Arrays.asList(factoryMetadata.getId())); return propertiesMetadata; }
protected void registerBean(ParserContext context, String contextId, AbstractCamelFactoryBean<?> fact) { String id = fact.getId(); fact.setCamelContextId(contextId); MutablePassThroughMetadata eff = context.createMetadata(MutablePassThroughMetadata.class); eff.setId(".camelBlueprint.bean.passthrough." + id); eff.setObject(new PassThroughCallable<Object>(fact)); MutableBeanMetadata ef = context.createMetadata(MutableBeanMetadata.class); ef.setId(".camelBlueprint.bean.factory." + id); ef.setFactoryComponent(eff); ef.setFactoryMethod("call"); ef.addProperty("blueprintContainer", createRef(context, "blueprintContainer")); ef.setInitMethod("afterPropertiesSet"); ef.setDestroyMethod("destroy"); MutableBeanMetadata e = context.createMetadata(MutableBeanMetadata.class); e.setId(id); e.setRuntimeClass(fact.getObjectType()); e.setFactoryComponent(ef); e.setFactoryMethod("getObject"); e.addDependsOn(".camelBlueprint.processor.bean." + contextId); context.getComponentDefinitionRegistry().registerComponentDefinition(e); }
private static MutableBeanMetadata registerComponentProcessor(ParserContext context) { ComponentDefinitionRegistry registry = context.getComponentDefinitionRegistry(); MutableBeanMetadata metadata = (MutableBeanMetadata) registry.getComponentDefinition(COMPONENT_PROCESSOR_NAME); if(metadata == null) { metadata = context.createMetadata(MutableBeanMetadata.class); metadata.setProcessor(true); metadata.setId(COMPONENT_PROCESSOR_NAME); metadata.setActivation(BeanMetadata.ACTIVATION_EAGER); metadata.setScope(BeanMetadata.SCOPE_SINGLETON); metadata.setRuntimeClass(ComponentProcessor.class); metadata.setDestroyMethod("destroy"); metadata.addProperty("bundle", createRef(context, "blueprintBundle")); metadata.addProperty("blueprintContainerRestartService", createServiceRef(context, BlueprintContainerRestartService.class, null)); LOG.debug("Registering ComponentProcessor bean: {}", metadata); registry.registerComponentDefinition(metadata); } return metadata; }
private void addProcessor( Element element, ParserContext context, AbstractElementParser elementParser, String initMethodName ) { // Register processors MutablePassThroughMetadata beanProcessorFactory = context.createMetadata(MutablePassThroughMetadata.class); String id = elementParser.getId(context, element); String contextId = ".kie.processor."+ id; beanProcessorFactory.setId(contextId); KieObjectsInjector kieObjectsInjector = new KieObjectsInjector(id, context); beanProcessorFactory.setObject(new PassThroughCallable<Object>(kieObjectsInjector)); MutableBeanMetadata beanProcessor = context.createMetadata(MutableBeanMetadata.class); beanProcessor.setId(".droolsBlueprint.processor.bean." + id); beanProcessor.setRuntimeClass(KieObjectsInjector.class); beanProcessor.setFactoryComponent(beanProcessorFactory); beanProcessor.setFactoryMethod("call"); beanProcessor.setProcessor(true); beanProcessor.setInitMethod(initMethodName); beanProcessor.addProperty("blueprintContainer", AbstractElementParser.createRef(context, "blueprintContainer")); context.getComponentDefinitionRegistry().registerComponentDefinition(beanProcessor); }
protected void applySpringInterfacePatches(ParserContext context, Class<?> clazz, MutableBeanMetadata mcm) { if (ApplicationContextAware.class.isAssignableFrom(clazz)) { MutableRefMetadata mirm = context.createMetadata(MutableRefMetadata.class); mirm.setComponentId("blueprintContainer"); MutableBeanMetadata helper = context.createMetadata(MutableBeanMetadata.class); helper.setId(context.generateId()); helper.setScope(BeanMetadata.SCOPE_SINGLETON); helper.setRuntimeClass(BlueprintSpringInterfaceHelper.class); helper.addProperty("blueprintContainer", mirm); context.getComponentDefinitionRegistry().registerComponentDefinition(helper); // this does not work: // mcm.addProperty("applicationContext", simulatedSpringApplicationContext); // -- the "applicationContext" property could possibly be set before any of the other properties (as they // are filled in using a HashMap), which differs from the Spring logic. // workaround: helper.addProperty("client", mcm); helper.setInitMethod("init"); helper.setDestroyMethod("destroy"); mcm.addDependsOn(helper.getId()); return; // Lifecycle is handled by the Helper as well } if (Lifecycle.class.isAssignableFrom(clazz)) { mcm.setInitMethod("start"); mcm.setDestroyMethod("stop"); } }
private void createSubShell(ParserContext context, String scope, String subShellName) { if (context.getComponentDefinitionRegistry().containsComponentDefinition(subShellName)) { return; } MutableBeanMetadata subShellAction = context.createMetadata(MutableBeanMetadata.class); subShellAction.setRuntimeClass(SubShellAction.class); subShellAction.setActivation(MutableBeanMetadata.ACTIVATION_LAZY); subShellAction.setScope(MutableBeanMetadata.SCOPE_PROTOTYPE); subShellAction.setId(getName()); subShellAction.addProperty("subShell", createStringValue(context, scope)); context.getComponentDefinitionRegistry().registerComponentDefinition(subShellAction); // generate the sub-shell command MutableBeanMetadata subShellCommand = context.createMetadata(MutableBeanMetadata.class); subShellCommand.setId(getName()); subShellCommand.setRuntimeClass(BlueprintCommand.class); subShellCommand.addProperty(BLUEPRINT_CONTAINER, createRef(context, BLUEPRINT_CONTAINER)); subShellCommand.addProperty(BLUEPRINT_CONVERTER, createRef(context, BLUEPRINT_CONVERTER)); subShellCommand.addProperty(ACTION_ID, createIdRef(context, subShellAction.getId())); context.getComponentDefinitionRegistry().registerComponentDefinition(subShellCommand); // generate the sub-shell OSGi service MutableServiceMetadata subShellCommandService = context.createMetadata(MutableServiceMetadata.class); subShellCommandService.setActivation(MutableServiceMetadata.ACTIVATION_LAZY); subShellCommandService.setId(subShellName); subShellCommandService.setAutoExport(ServiceMetadata.AUTO_EXPORT_INTERFACES); subShellCommandService.setServiceComponent(subShellCommand); subShellCommandService.addServiceProperty(createStringValue(context, "osgi.command.scope"), createStringValue(context, "*")); subShellCommandService.addServiceProperty(createStringValue(context, "osgi.command.function"), createStringValue(context, scope)); context.getComponentDefinitionRegistry().registerComponentDefinition(subShellCommandService); }
public ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context) { if(node.getLocalName().equals(ATTRIB_ONE)){ if(component instanceof BeanMetadata){ if(context.getComponentDefinitionRegistry().getComponentDefinition(NSURI+"/BeanProcessor")==null){ BeanMetadata bm = context.createMetadata(BeanMetadata.class); MutableBeanMetadata mbm = (MutableBeanMetadata)bm; mbm.setProcessor(true); mbm.setRuntimeClass(BeanProcessorTest.class); mbm.setScope(BeanMetadata.SCOPE_SINGLETON); mbm.setId(NSURI+"/BeanProcessor"); context.getComponentDefinitionRegistry().registerComponentDefinition(mbm); } } } return component; }
@Override public Metadata parse(Element element, ParserContext parserContext) { if (parserContext.getComponentDefinitionRegistry().getComponentDefinition("." + MyConverter.class.getName()) == null) { MutableBeanMetadata converter = parserContext.createMetadata(MutableBeanMetadata.class); converter.setId("." + MyConverter.class.getName()); converter.setRuntimeClass(MyConverter.class); parserContext.getComponentDefinitionRegistry().registerTypeConverter(converter); } Metadata metadata = super.parse(element, parserContext); if (metadata instanceof MutableBeanMetadata) { MutableBeanMetadata bean = (MutableBeanMetadata) metadata; if (bean.getRuntimeClass() == ApacheDS.class) { bean.setInitMethod("startup"); bean.setDestroyMethod("shutdown"); } } return metadata; }
MutableBeanMetadata beanMetadata = (MutableBeanMetadata) context.createMetadata(BeanMetadata.class); beanMetadata.setClassName("org.kie.aries.blueprint.factorybeans.KieObjectsFactoryBean"); beanMetadata.setFactoryMethod("fetchKBase"); beanMetadata.setId(id); beanMetadata.addArgument(createValue(context, id),null,0); beanMetadata.setActivation(ComponentMetadata.ACTIVATION_LAZY); MutablePassThroughMetadata passThroughMetadata = context.createMetadata(MutablePassThroughMetadata.class); passThroughMetadata.setObject(kBaseOptionsAdaptor); beanMetadata.addArgument(passThroughMetadata, null, 2); ksessionElement.setAttribute(KieSessionElementParser.ID_ATTRIBUTE, ksessionElement.getAttribute("name")); ksessionElement.setAttribute(KieSessionElementParser.ATTRIBUTE_KBASE_REF, id); context.getComponentDefinitionRegistry().registerComponentDefinition(new KieSessionElementParser().parseElement(context, ksessionElement));
public static MutableCollectionMetadata parseConsoleLoggers(KieSessionElementParser kieLoggerElementParser, ParserContext context, Element element){ MutableCollectionMetadata collectionMetadata = context.createMetadata(MutableCollectionMetadata.class); collectionMetadata.setCollectionClass(ArrayList.class); String prefix = element.getPrefix(); for (int i=0; i < consoleLoggerList.getLength(); i++){ Node loggerNode = consoleLoggerList.item(i); MutableBeanMetadata componentMetadata = context.createMetadata(MutableBeanMetadata.class); componentMetadata.setId(kieLoggerElementParser.getId(context, loggerNode)); kieLoggerElementParser.generateIdIfNeeded(context, componentMetadata); componentMetadata.setClassName(KieLoggerAdaptor.class.getName()); context.getComponentDefinitionRegistry().registerComponentDefinition(componentMetadata); MutableRefMetadata refMetadata = context.createMetadata(MutableRefMetadata.class); refMetadata.setComponentId(componentMetadata.getId()); collectionMetadata.addValue(refMetadata); context.getComponentDefinitionRegistry().registerComponentDefinition(componentMetadata); componentMetadata.setClassName(KieLoggerAdaptor.class.getName());
private void parseCommand(Element element, ParserContext context) { MutableBeanMetadata command = context.createMetadata(MutableBeanMetadata.class); command.setRuntimeClass(BlueprintCommand.class); command.addProperty(BLUEPRINT_CONTAINER, createRef(context, BLUEPRINT_CONTAINER)); command.addProperty(BLUEPRINT_CONVERTER, createRef(context, BLUEPRINT_CONVERTER)); action = parseAction(context, command, childElement); action.setId(getName()); context.getComponentDefinitionRegistry().registerComponentDefinition(action); command.addProperty(ACTION_ID, createIdRef(context, action.getId())); } else if (nodeNameEquals(childElement, COMPLETERS)) { MutableServiceMetadata commandService = context.createMetadata(MutableServiceMetadata.class); commandService.setActivation(MutableServiceMetadata.ACTIVATION_LAZY); commandService.setId(getName()); createStringValue(context, function)); context.getComponentDefinitionRegistry().registerComponentDefinition(commandService); if (subShellName == null || !context.getComponentDefinitionRegistry().containsComponentDefinition(subShellName)) {
private void parseCommand(Element element, ParserContext context) { MutableBeanMetadata command = context.createMetadata(MutableBeanMetadata.class); command.setRuntimeClass(BlueprintCommand.class); command.addProperty(BLUEPRINT_CONTAINER, createRef(context, BLUEPRINT_CONTAINER)); command.addProperty(BLUEPRINT_CONVERTER, createRef(context, BLUEPRINT_CONVERTER)); MutableBeanMetadata action = parseAction(context, command, childElement); action.setId(getName()); context.getComponentDefinitionRegistry().registerComponentDefinition(action); command.addProperty(ACTION_ID, createIdRef(context, action.getId())); } else if (nodeNameEquals(childElement, COMPLETERS)) { MutableServiceMetadata commandService = context.createMetadata(MutableServiceMetadata.class); commandService.setActivation(MutableServiceMetadata.ACTIVATION_LAZY); commandService.setId(getName()); commandService.addServiceProperty(createStringValue(context, "osgi.command.function"), createStringValue(context, function)); context.getComponentDefinitionRegistry().registerComponentDefinition(commandService);