private void mapTLSClientParameters(ParserContext ctx, MutableBeanMetadata bean, Element el) { MutableBeanMetadata paramsbean = ctx.createMetadata(MutableBeanMetadata.class); paramsbean.setRuntimeClass(TLSClientParametersConfig.TLSClientParametersTypeInternal.class); NamedNodeMap as = el.getAttributes(); for (int i = 0; i < as.getLength(); i++) { Attr a = (Attr) as.item(i); || "secureSocketProtocol".equals(aname) || "sslCacheTimeout".equals(aname)) { paramsbean.addProperty(aname, createValue(ctx, a.getValue())); Node n = el.getFirstChild(); while (n != null) { if (Node.ELEMENT_NODE != n.getNodeType() String ref = ((Element)n).getAttribute("ref"); paramsbean.addProperty("keyManagersRef", createRef(ctx, ref)); } else { mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename, MutableBeanMetadata jaxbbean = ctx.createMetadata(MutableBeanMetadata.class); jaxbbean.setRuntimeClass(TLSClientParametersConfig.class); jaxbbean.setFactoryMethod("createTLSClientParametersFromType");
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); } }
public Metadata parse(Element element, ParserContext context) { MutableBeanMetadata cxfBean = context.createMetadata(MutableBeanMetadata.class); cxfBean.setId(getIdOrName(element)); } else { cxfBean.setId("cxf.endpoint." + UUID.randomUUID().toString()); cxfBean.setRuntimeClass(EP_CLASS); NamedNodeMap atts = element.getAttributes(); String name = elem.getLocalName(); if ("properties".equals(name)) { Metadata map = parseMapData(context, cxfBean, elem); cxfBean.addProperty(name, list); } else if ("implementor".equals(name)) { impl = context.parseElement(Metadata.class, cxfBean, elem); } else { setFirstChildAsProperty(elem, context, cxfBean, name);
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 registerConverters(ParserContext context) { String converterName = "." + NumberToStringConverter.class.getName(); if (!context.getComponentDefinitionRegistry().containsComponentDefinition(converterName)) { MutablePassThroughMetadata cnv = context.createMetadata(MutablePassThroughMetadata.class); cnv.setId(converterName); cnv.setObject(new NumberToStringConverter()); context.getComponentDefinitionRegistry().registerTypeConverter(cnv); } }
private Metadata parseDefaultProperties(ParserContext context, MutableBeanMetadata enclosingComponent, Element element) { MutableMapMetadata props = context.createMetadata(MutableMapMetadata.class); NodeList nl = element.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i); if (node instanceof Element) { Element e = (Element) node; if (XBEAN_CM_NAMESPACE.equals(e.getNamespaceURI())) { if (nodeNameEquals(e, PROPERTY_ELEMENT)) { BeanProperty prop = context.parseElement(BeanProperty.class, enclosingComponent, e); props.addEntry(createValue(context, prop.getName(), String.class.getName()), prop.getValue()); } } } } return props; }
String id = getId(context, element); String releaseIdRef = element.getAttribute("releaseId"); 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); NodeList ksessionNodeList = element.getElementsByTagName(prefix+":ksession"); if (ksessionNodeList != null) { for (int i=0; i < ksessionNodeList.getLength(); i++){ Node ksessionNode = ksessionNodeList.item(i); if (ksessionNode instanceof Element) { Element ksessionElement = (Element) ksessionNode; ksessionElement.setAttribute(KieSessionElementParser.ID_ATTRIBUTE, ksessionElement.getAttribute("name")); ksessionElement.setAttribute(KieSessionElementParser.ATTRIBUTE_KBASE_REF, id); context.getComponentDefinitionRegistry().registerComponentDefinition(new KieSessionElementParser().parseElement(context, ksessionElement));
private MutableBeanMetadata parseAction(ParserContext context, ComponentMetadata enclosingComponent, Element element) { MutableBeanMetadata action = context.createMetadata(MutableBeanMetadata.class); action.setActivation(MutableBeanMetadata.ACTIVATION_LAZY); action.setScope(MutableBeanMetadata.SCOPE_PROTOTYPE); action.setClassName(element.getAttribute("class")); NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child instanceof Element) { Element childElement = (Element) child; if (nodeNameEquals(childElement, "argument")) { action.addArgument(context.parseElement(BeanArgument.class, enclosingComponent, childElement)); } else if (nodeNameEquals(childElement, "property")) { action.addProperty(context.parseElement(BeanProperty.class, enclosingComponent, childElement)); } } } return action; }
protected void checkAndSetReference(ParserContext context, Element envElement, MutableMapMetadata envParamMetadata, String elementTag, String propName, String refAttribute) { String prefix = envElement.getPrefix(); NodeList nodeList = envElement.getElementsByTagName(prefix+":"+elementTag); if ( nodeList != null && nodeList.getLength() > 0){ Node childNode = nodeList.item(0); if ( childNode instanceof Element) { Element childElement = (Element)childNode; String ref = childElement.getAttribute(refAttribute); if (!StringUtils.isEmpty(ref)){ // envParamMetadata. MutableRefMetadata refData = context.createMetadata(MutableRefMetadata.class); refData.setComponentId(ref); // createRef(context, ref); // ((RefMetadataImpl)refData).setComponentId(propName); envParamMetadata.addEntry(createValue(context, propName), refData); } } } } }
private Metadata parseCompleters(ParserContext context, ComponentMetadata enclosingComponent, Element element) { MutableCollectionMetadata collection = context.createMetadata(MutableCollectionMetadata.class); collection.setCollectionClass(List.class); NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child instanceof Element) { Metadata metadata; if (nodeNameEquals(child, REF)) { metadata = context.parseElement(RefMetadata.class, context.getEnclosingComponent(), (Element) child); } else if (nodeNameEquals(child, NULL)) { metadata = context.parseElement(NullMetadata.class, context.getEnclosingComponent(), (Element) child); } else if (nodeNameEquals(child, BEAN)) { metadata = context.parseElement(BeanMetadata.class, enclosingComponent, (Element) child); } else { throw new IllegalStateException("Unexpected element " + child.getNodeName()); } collection.addValue(metadata); } } return collection; }
protected static MutableBeanMetadata getBeanMetadata(ParserContext context, Element element) { NodeList nodeList = element.getChildNodes(); MutableCollectionMetadata collectionMetadata = context.createMetadata(MutableCollectionMetadata.class); collectionMetadata.setCollectionClass(ArrayList.class); for (int i=0; i < nodeList.getLength(); i++){ Node node = nodeList.item(i); String localName = node.getLocalName(); if ( localName == null) { continue; MutableBeanMetadata beanMetadata = context.createMetadata(MutableBeanMetadata.class); beanMetadata.setClassName(KieListenerAdaptor.class.getName()); beanMetadata.setActivation(ComponentMetadata.ACTIVATION_LAZY); beanMetadata.addArgument(createValue(context, type), null, 0); beanMetadata.addArgument(createRef(context, refValue.getTextContent()), null, 1); collectionMetadata.addValue(beanMetadata); MutableBeanMetadata componentMetadata = context.createMetadata(MutableBeanMetadata.class); componentMetadata.setClassName("java.util.ArrayList"); componentMetadata.addArgument(collectionMetadata, null, 0);
protected Metadata checkForChildListeners(ParserContext context, Element element){ NodeList nodeList = element.getChildNodes(); for (int i=0; i < nodeList.getLength(); i++){ Node node = nodeList.item(i); String localName = node.getLocalName(); if ( localName == null) { continue; } if ("ruleRuntimeEventListener".equalsIgnoreCase(localName) || "processEventListener".equalsIgnoreCase(localName) || "agendaEventListener".equalsIgnoreCase(localName)){ // run the loop only if we have atleast one child // the KieEventListenersElementParser.getBeanMetadata method will loop and pick up all the listeners MutableBeanMetadata beanMetadata = KieEventListenersElementParser.getBeanMetadata(context, element); return beanMetadata; } } MutableCollectionMetadata collectionMetadata = context.createMetadata(MutableCollectionMetadata.class); collectionMetadata.setCollectionClass(ArrayList.class); return collectionMetadata; }
public static MutableCollectionMetadata parseConsoleLoggers(KieSessionElementParser kieLoggerElementParser, ParserContext context, Element element){ MutableCollectionMetadata collectionMetadata = context.createMetadata(MutableCollectionMetadata.class); collectionMetadata.setCollectionClass(ArrayList.class); String prefix = element.getPrefix(); NodeList consoleLoggerList = element.getElementsByTagName(prefix+":consoleLogger"); if ( consoleLoggerList != null && consoleLoggerList.getLength() > 0){ 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); MutableBeanMetadata componentMetadata = context.createMetadata(MutableBeanMetadata.class); String id = kieLoggerElementParser.getId(context, loggerNode); if ( id != null) { context.getComponentDefinitionRegistry().registerComponentDefinition(componentMetadata); MutableRefMetadata refMetadata = context.createMetadata(MutableRefMetadata.class); refMetadata.setComponentId(componentMetadata.getId()); collectionMetadata.addValue(refMetadata);
@Override public ComponentMetadata parseElement( ParserContext context, Element element ) { String name = element.getAttribute("name"); MutableBeanMetadata beanMetadata = (MutableBeanMetadata) context.createMetadata( BeanMetadata.class ); beanMetadata.setClassName("org.kie.aries.blueprint.factorybeans.KieObjectsFactoryBean"); beanMetadata.setFactoryMethod(getFactoryMethodName()); beanMetadata.setId(name); beanMetadata.addArgument(createValue(context, name),null,0); addBundleContextProperty(beanMetadata, context); beanMetadata.setActivation(ComponentMetadata.ACTIVATION_LAZY); return beanMetadata; }
private void parseElement(Element elt, ParserContext pc) { LOGGER.debug("parser asked to parse element {} ", elt.getNodeName()); ComponentDefinitionRegistry cdr = pc.getComponentDefinitionRegistry(); if ("enable".equals(elt.getLocalName())) { Node n = elt.getChildNodes().item(0); if ((n == null || Boolean.parseBoolean(n.getNodeValue())) && !cdr.containsComponentDefinition(ANNOTATION_PARSER_BEAN_NAME)) { LOGGER.debug("Enabling annotation based transactions"); MutableBeanMetadata meta = createAnnotationParserBean(pc, cdr); cdr.registerComponentDefinition(meta); } } }
public Metadata parse(Element element, ParserContext context) { String bname = element.hasAttribute("bus") ? element.getAttribute("bus") : "cxf"; String id = element.hasAttribute("id") ? element.getAttribute("id") : null; MutableBeanMetadata cxfBean = getBus(context, bname); parseAttributes(element, context, cxfBean); parseChildElements(element, context, cxfBean); context.getComponentDefinitionRegistry().removeComponentDefinition(bname); if (!StringUtils.isEmpty(id)) { cxfBean.addProperty("id", createValue(context, id)); } return cxfBean; } protected void processBusAttribute(Element element, ParserContext ctx,
private Metadata parseNotificationListener(Element element, ParserContext context) { registerNotificationServiceRefBean(context); MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class); metadata.setId(context.generateId()); metadata.setScope(BeanMetadata.SCOPE_SINGLETON); metadata.setActivation(ReferenceMetadata.ACTIVATION_EAGER); metadata.setRuntimeClass(NotificationListenerBean.class); metadata.setInitMethod("init"); metadata.setDestroyMethod("destroy"); metadata.addProperty("bundle", createRef(context, "blueprintBundle")); metadata.addProperty("notificationService", createRef(context, NOTIFICATION_SERVICE_NAME)); metadata.addProperty("notificationListener", createRef(context, element.getAttribute(REF_ATTR))); LOG.debug("parseNotificationListener returning {}", metadata); return metadata; }
private static Metadata parseRpcImplementation(final Element element, final ParserContext context) { registerBindingRpcProviderServiceRefBean(context); MutableBeanMetadata metadata = createBeanMetadata(context, context.generateId(), RpcImplementationBean.class, true, true); addBlueprintBundleRefProperty(context, metadata); metadata.addProperty("rpcProvider", createRef(context, BINDING_RPC_PROVIDER_SERVICE_NAME)); metadata.addProperty("implementation", createRef(context, element.getAttribute(REF_ATTR))); if (element.hasAttribute(INTERFACE)) { metadata.addProperty("interfaceName", createValue(context, element.getAttribute(INTERFACE))); } LOG.debug("parseRpcImplementation returning {}", metadata); return metadata; }
private static String getId(final ParserContext context, final Element element) { if (element.hasAttribute(ID_ATTR)) { return element.getAttribute(ID_ATTR); } else { return context.generateId(); } }
private ComponentMetadata parseNullProxy(Element element, ParserContext context) { MutableBeanMetadata mb = context.createMetadata(MutableBeanMetadata.class); mb.setRuntimeClass(NullProxy.class); mb.addArgument(createRef(context, "blueprintContainer"), null, -1); mb.setId(element.hasAttribute(ID_ATTRIBUTE) ? element.getAttribute(ID_ATTRIBUTE) : "null-proxy"); return mb; }