private void mapTLSClientParameters(ParserContext ctx, MutableBeanMetadata bean, Element el) { MutableBeanMetadata paramsbean = ctx.createMetadata(MutableBeanMetadata.class); paramsbean.setRuntimeClass(TLSClientParametersConfig.TLSClientParametersTypeInternal.class); || "secureSocketProtocol".equals(aname) || "sslCacheTimeout".equals(aname)) { paramsbean.addProperty(aname, createValue(ctx, a.getValue())); String ref = ((Element)n).getAttribute("ref"); paramsbean.addProperty("keyManagersRef", createRef(ctx, ref)); } else { mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename, paramsbean.addProperty("trustManagersRef", createRef(ctx, ref)); } else { mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename, CertificateConstraintsType.class); } else if ("certAlias".equals(ename)) { paramsbean.addProperty(ename, createValue(ctx, n.getTextContent())); MutableBeanMetadata jaxbbean = ctx.createMetadata(MutableBeanMetadata.class); jaxbbean.setRuntimeClass(TLSClientParametersConfig.class); jaxbbean.setFactoryMethod("createTLSClientParametersFromType"); jaxbbean.addArgument(paramsbean, TLSClientParametersType.class.getName(), 0); bean.addProperty("tlsClientParameters", jaxbbean);
cxfBean.setId(getIdOrName(element)); } else { cxfBean.setId("cxf.endpoint." + UUID.randomUUID().toString()); cxfBean.setRuntimeClass(EP_CLASS); String name = node.getLocalName(); if ("createdFromAPI".equals(name) || "abstract".equals(name)) { cxfBean.setScope(BeanMetadata.SCOPE_PROTOTYPE); isAbstract = true; } else if ("publish".equals(name)) { if ("endpointName".equals(name) || "serviceName".equals(name)) { QName q = parseQName(element, val); cxfBean.addProperty(name, createValue(context, q)); } else if ("depends-on".equals(name)) { cxfBean.addDependsOn(val); } else if ("implementor".equals(name)) { if (val.startsWith("#")) { cxfBean.addProperty(name, createValue(context, val)); String name = elem.getLocalName(); if ("properties".equals(name)) { Metadata map = parseMapData(context, cxfBean, elem); cxfBean.addProperty(name, map); } else if ("binding".equals(name)) { setFirstChildAsProperty(elem, context, cxfBean, "bindingConfig");
public Metadata parse(Element element, ParserContext context) { MutableBeanMetadata bean = context.createMetadata(MutableBeanMetadata.class); bean.setRuntimeClass(HTTPConduit.class); parseAttributes(element, context, bean); parseChildElements(element, context, bean); bean.setScope(BeanMetadata.SCOPE_PROTOTYPE); return bean; }
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)); String location = element.getAttribute(NAME); location = location.replace('/', ':'); String scope; 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, ACTION)) { 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)) { command.addProperty(COMPLETERS, parseCompleters(context, command, childElement)); } else { throw new ComponentDefinitionException("Bad xml syntax: unknown element '" + childElement.getNodeName() + "'"); MutableServiceMetadata commandService = context.createMetadata(MutableServiceMetadata.class); commandService.setActivation(MutableServiceMetadata.ACTIVATION_LAZY); commandService.setId(getName());
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); if (!StringUtils.isEmpty(releaseIdRef)) { beanMetadata.addArgument(createRef(context, releaseIdRef),null,1); } else { beanMetadata.addArgument(createNullMetadata(),null,1); kBaseOptionsAdaptor.setPackages(element.getAttribute(ATTRIBUTE_PACKAGES)); kBaseOptionsAdaptor.setIncludes(element.getAttribute(ATTRIBUTE_INCLUDES)); kBaseOptionsAdaptor.setEventProcessingMode(element.getAttribute(ATTRIBUTE_EVENT_MODE)); kBaseOptionsAdaptor.setEqualsBehavior(element.getAttribute(ATTRIBUTE_EQUALS)); kBaseOptionsAdaptor.setDef(element.getAttribute(ATTRIBUTE_DEFAULT)); beanMetadata.setActivation(ComponentMetadata.ACTIVATION_LAZY); MutablePassThroughMetadata passThroughMetadata = context.createMetadata(MutablePassThroughMetadata.class); passThroughMetadata.setObject(kBaseOptionsAdaptor); beanMetadata.addArgument(passThroughMetadata, null, 2);
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; }
public ComponentMetadata parseConfig(Element element, ParserContext context) { MutableBeanMetadata bean = context.createMetadata(MutableBeanMetadata.class); bean.setRuntimeClass(Config.class); String name = element.getAttribute("name"); bean.addProperty("bundleContext", createRef(context, "blueprintBundleContext")); bean.addProperty("name", createValue(context, name)); String rank = element.getAttribute("rank"); if (rank != null && rank.length() > 0) { bean.addProperty("rank", createValue(context, rank)); NodeList childElements = element.getElementsByTagNameNS(element.getNamespaceURI(), "module"); if (childElements != null && childElements.getLength() > 0) { MutableCollectionMetadata children = context.createMetadata(MutableCollectionMetadata.class); for (int i = 0; i < childElements.getLength(); ++i) { Element childElement = (Element) childElements.item(i); MutableBeanMetadata md = context.createMetadata(MutableBeanMetadata.class); md.setRuntimeClass(Module.class); md.addProperty("className", createValue(context, childElement.getAttribute("className"))); if (childElement.getAttribute("name") != null) { md.addProperty("name", createValue(context, childElement.getAttribute("name"))); if (childElement.getAttribute("flags") != null) { md.addProperty("flags", createValue(context, childElement.getAttribute("flags"))); md.addProperty("options", createValue(context, options)); children.addValue(md); bean.addProperty("modules", children);
public ComponentMetadata parsePropertyPlaceholder(Element element, ParserContext context) { MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class); metadata.setProcessor(true); metadata.setId(getId(context, element)); metadata.setScope(BeanMetadata.SCOPE_SINGLETON); metadata.setRuntimeClass(EncryptablePropertyPlaceholder.class); metadata.setInitMethod("init"); String prefix = element.hasAttribute(PLACEHOLDER_PREFIX_ATTRIBUTE) ? element.getAttribute(PLACEHOLDER_PREFIX_ATTRIBUTE) : "ENC("; metadata.addProperty("placeholderPrefix", createValue(context, prefix)); String suffix = element.hasAttribute(PLACEHOLDER_SUFFIX_ATTRIBUTE) ? element.getAttribute(PLACEHOLDER_SUFFIX_ATTRIBUTE) : ")"; metadata.addProperty("placeholderSuffix", createValue(context, suffix)); String encryptorRef = element.hasAttribute("encryptor-ref") ? element.getAttribute("encryptor-ref") : null; if (encryptorRef != null) { metadata.addProperty("encryptor", createRef(context, encryptorRef)); throw new ComponentDefinitionException("Only one of " + ENCRYPTOR_REF_ATTRIBUTE + " attribute or " + ENCRYPTOR_ELEMENT + " element is allowed"); BeanMetadata encryptor = context.parseElement(BeanMetadata.class, metadata, e); metadata.addProperty("encryptor", encryptor); PlaceholdersUtils.validatePlaceholder(metadata, context.getComponentDefinitionRegistry()); return metadata;
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);
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); refMetadata.setComponentId(componentMetadata.getId()); collectionMetadata.addValue(refMetadata); String id = kieLoggerElementParser.getId(context, loggerNode); if ( id != null) { componentMetadata.setId(id); componentMetadata.setClassName(KieLoggerAdaptor.class.getName()); componentMetadata.addProperty("file", createValue(context, fileName)); if (!StringUtils.isEmpty(LOGGER_ATTRIBUTE_FILE) && "true".equalsIgnoreCase(threaded)){ componentMetadata.addProperty("loggerType", createValue(context, KieLoggerAdaptor.KNOWLEDGE_LOGGER_TYPE.LOGGER_TYPE_THREADED_FILE.toString())); String interval = kieLoggerElementParser.getAttributeValue(loggerNode, LOGGER_ATTRIBUTE_INTERVAL); if ( !StringUtils.isEmpty(interval)){ try{
@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 static MutableBeanMetadata createBeanMetadata(final ParserContext context, final String id, final Class<?> runtimeClass, final boolean initMethod, final boolean destroyMethod) { MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class); metadata.setId(id); metadata.setScope(BeanMetadata.SCOPE_SINGLETON); metadata.setActivation(ReferenceMetadata.ACTIVATION_EAGER); metadata.setRuntimeClass(runtimeClass); if (initMethod) { metadata.setInitMethod("init"); } if (destroyMethod) { metadata.setDestroyMethod("destroy"); } return metadata; } }
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 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; }
private void mapBeanOrClassElement(ParserContext ctx, MutableBeanMetadata bean, Element el, Class<?> cls) { String elementName = el.getLocalName(); String classProperty = el.getAttribute("class"); String beanref = el.getAttribute("bean"); if (classProperty != null && !classProperty.isEmpty()) { bean.addProperty(elementName, createObjectOfClass(ctx, classProperty)); } else if (beanref != null && !beanref.isEmpty()) { bean.addProperty(elementName, createRef(ctx, beanref)); } }
public Metadata parse(Element element, ParserContext context) { MutableBeanMetadata policyEngineConfig = context.createMetadata(MutableBeanMetadata.class); policyEngineConfig.setRuntimeClass(PolicyEngineConfig.class); String bus = element.getAttribute("bus"); if (StringUtils.isEmpty(bus)) { bus = "cxf"; } policyEngineConfig.addArgument(getBusRef(context, bus), Bus.class.getName(), 0); parseAttributes(element, context, policyEngineConfig); parseChildElements(element, context, policyEngineConfig); policyEngineConfig.setId(PolicyEngineConfig.class.getName() + context.generateId()); return policyEngineConfig; }
protected void setProperty(ParserContext context, String xmlPropertyName, String springPropertyName, Element element, MutableBeanMetadata mcm, boolean flexibleEnum) { String value = element.getAttribute(xmlPropertyName); if (flexibleEnum) value = value.toUpperCase(); MutableValueMetadata vm = context.createMetadata(MutableValueMetadata.class); vm.setStringValue(value); mcm.addProperty(springPropertyName, vm); }
public Metadata parse(Element element, ParserContext context) { Metadata retval = null; if( element.getLocalName().equals(ELT_NAME) ) { final String id = element.getAttributeNS(NSURI, ATTRIB_ID); MutableBeanMetadata bm = context.createMetadata(MutableBeanMetadata.class); bm.setId(id); bm.setScope("PROTOTYPE"); bm.setClassName(TestBean.class.getName()); retval = bm; } return retval; }
private static Metadata parseNotificationListener(final Element element, final ParserContext context) { registerNotificationServiceRefBean(context); MutableBeanMetadata metadata = createBeanMetadata(context, context.generateId(), NotificationListenerBean.class, true, true); addBlueprintBundleRefProperty(context, metadata); metadata.addProperty("notificationService", createRef(context, NOTIFICATION_SERVICE_NAME)); metadata.addProperty("notificationListener", createRef(context, element.getAttribute(REF_ATTR))); LOG.debug("parseNotificationListener returning {}", metadata); return metadata; }
public Metadata parse(Element element, ParserContext context) { MutableCollectionMetadata ps = context.createMetadata(MutableCollectionMetadata.class); ps.setCollectionClass(List.class); MutableCollectionMetadata prs = context.createMetadata(MutableCollectionMetadata.class); ps.setCollectionClass(List.class); MutableBeanMetadata cxfBean = context.createMetadata(MutableBeanMetadata.class); cxfBean.setRuntimeClass(WSPolicyFeature.class); Element elem = DOMUtils.getFirstElement(element); while (elem != null) { if ("Policy".equals(elem.getLocalName())) { ps.addValue(createElement(context, elem)); } else if ("PolicyReference".equals(elem.getLocalName())) { prs.addValue(createElement(context, elem)); } elem = DOMUtils.getNextElement(elem); } cxfBean.addProperty("policyElements", ps); cxfBean.addProperty("policyReferenceElements", prs); super.parseChildElements(element, context, cxfBean); return cxfBean; }