
de.codecentric.mule.assertobjectequals.generated.config.CompareObjectsDefinitionParser Maven / Gradle / Ivy
package de.codecentric.mule.assertobjectequals.generated.config;
import de.codecentric.mule.assertobjectequals.generated.processors.CompareObjectsMessageProcessor;
import de.codecentric.mule.assertobjectequals.generated.processors.CompareObjectsMessageProcessorDebuggable;
import javax.annotation.Generated;
import org.mule.common.MuleVersion;
import org.mule.config.MuleManifest;
import org.mule.security.oauth.config.AbstractDevkitBasedDefinitionParser;
import org.mule.security.oauth.config.AbstractDevkitBasedDefinitionParser.ParseDelegate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.beans.factory.parsing.Location;
import org.springframework.beans.factory.parsing.Problem;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
@SuppressWarnings("all")
@Generated(value = "Mule DevKit Version 3.9.0", date = "2017-04-21T05:05:21+02:00", comments = "Build UNNAMED.2793.f49b6c7")
public class CompareObjectsDefinitionParser
extends AbstractDevkitBasedDefinitionParser
{
private static Logger logger = LoggerFactory.getLogger(CompareObjectsDefinitionParser.class);
private BeanDefinitionBuilder getBeanDefinitionBuilder(ParserContext parserContext) {
try {
MuleVersion muleVersion = new MuleVersion(MuleManifest.getProductVersion());
BeanDefinitionBuilder beanDefinitionBuilder;
if (muleVersion.atLeastBase("3.8.0")) {
beanDefinitionBuilder = beanDefinitionBuilder = BeanDefinitionBuilder.rootBeanDefinition(CompareObjectsMessageProcessorDebuggable.class.getName());
} else {
beanDefinitionBuilder = beanDefinitionBuilder = BeanDefinitionBuilder.rootBeanDefinition(CompareObjectsMessageProcessor.class.getName());
}
return beanDefinitionBuilder;
} catch (NoClassDefFoundError noClassDefFoundError) {
String muleVersion = "";
try {
muleVersion = MuleManifest.getProductVersion();
} catch (Exception _x) {
logger.error("Problem while reading mule version");
}
logger.error(("Cannot launch the mule app, the @Processor [compare-objects] within the connector [assert-object-equals] is not supported in mule "+ muleVersion));
throw new BeanDefinitionParsingException(new Problem(("Cannot launch the mule app, the @Processor [compare-objects] within the connector [assert-object-equals] is not supported in mule "+ muleVersion), new Location(parserContext.getReaderContext().getResource()), null, noClassDefFoundError));
}
}
public BeanDefinition parse(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = getBeanDefinitionBuilder(parserContext);
builder.addConstructorArgValue("compareObjects");
builder.setScope(BeanDefinition.SCOPE_PROTOTYPE);
if (hasAttribute(element, "expected-ref")) {
if (element.getAttribute("expected-ref").startsWith("#")) {
builder.addPropertyValue("expected", element.getAttribute("expected-ref"));
} else {
builder.addPropertyValue("expected", (("#[registry:"+ element.getAttribute("expected-ref"))+"]"));
}
}
if (hasAttribute(element, "actual-ref")) {
if (element.getAttribute("actual-ref").startsWith("#")) {
builder.addPropertyValue("actual", element.getAttribute("actual-ref"));
} else {
builder.addPropertyValue("actual", (("#[registry:"+ element.getAttribute("actual-ref"))+"]"));
}
}
parseProperty(builder, element, "containsOnlyOnMaps", "containsOnlyOnMaps");
parseProperty(builder, element, "checkMapOrder", "checkMapOrder");
parseListWithDefaultAndSetProperty(element, builder, "pathOptions", "path-options", "path-option", "#[[]]", new ParseDelegate() {
public String parse(Element element) {
return element.getTextContent();
}
}
);
BeanDefinition definition = builder.getBeanDefinition();
setNoRecurseOnDefinition(definition);
attachProcessorDefinition(parserContext, definition);
return definition;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy