/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.synapse.config.xml;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.AXIOMUtil;
import org.apache.axiom.om.xpath.AXIOMXPath;
import org.apache.synapse.SynapseConstants;
import org.apache.synapse.util.AXIOMUtils;
import org.apache.synapse.util.xpath.SynapseXPath;
import org.jaxen.JaxenException;
import javax.xml.stream.XMLStreamException;
/**
*
*
*/
public class LogMediatorSerializationTest extends AbstractTestCase {
LogMediatorFactory logMediatorFactory;
LogMediatorSerializer logMediatorSerializer;
private static final String SIMPLE = "simple";
private static final String HEADERS = "headers";
private static final String FULL = "full";
private static final String CUSTOM = "custom";
public LogMediatorSerializationTest() {
super(LogMediatorSerializationTest.class.getName());
logMediatorFactory = new LogMediatorFactory();
logMediatorSerializer = new LogMediatorSerializer();
}
public void testLogMediatorSerializationSenarioOne() throws Exception {
// assertTrue(serialization(getXmlOfMediatorScenarioOne(SIMPLE), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioOne(HEADERS), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioOne(FULL), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioOne(CUSTOM), logMediatorFactory, logMediatorSerializer));
// assertTrue(serialization(getXmlOfMediatorScenarioOne(SIMPLE), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioOne(HEADERS), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioOne(FULL), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioOne(CUSTOM), logMediatorSerializer));
}
public void testLogMediatorSerializationScenarioTwo() throws Exception {
// assertTrue(serialization(getXmlOfMediatorScenarioTwo(SIMPLE, ":"), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioTwo(HEADERS, ":"), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioTwo(FULL, ";"), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioTwo(CUSTOM, ":"), logMediatorFactory, logMediatorSerializer));
// assertTrue(serialization(getXmlOfMediatorScenarioTwo(SIMPLE, ":"), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioTwo(HEADERS, ":"), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioTwo(FULL, ";"), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioTwo(CUSTOM, ":"), logMediatorSerializer));
}
public void testLogMediatorSerializationScenarioThree() throws Exception {
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_TRACE),
logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_DEBUG),
logMediatorFactory, logMediatorSerializer));
//assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_INFO), logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_WARN),
logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_ERROR),
logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_FATAL),
logMediatorFactory, logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_TRACE),
logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_DEBUG),
logMediatorSerializer));
//assertTrue(serialization(getXmlOfMediatorScenarioThree(INFO), logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_WARN),
logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_ERROR),
logMediatorSerializer));
assertTrue(serialization(getXmlOfMediatorScenarioThree(LogMediatorFactory.CAT_FATAL),
logMediatorSerializer));
}
public void testXPath() {
try {
OMElement element = AXIOMUtil.stringToOM(getXmlOfMediatorScenarioOneA("full"));
AXIOMXPath xPath = new AXIOMXPath("//property/@name");
//xPath.addNamespace(SynapseConstants.SYNAPSE_NAMESPACE, "");
Object o = xPath.selectSingleNode(element);
if (o instanceof OMAttribute) {
System.out.println(((OMAttribute) o).getAttributeValue());
}
} catch (XMLStreamException e) {
e.printStackTrace();
} catch (JaxenException e) {
e.printStackTrace();
}
}
private String getXmlOfMediatorScenarioOne(String level) {
return "<log xmlns=\"http://ws.apache.org/ns/synapse\" level=\"" +
level + "\"><property name=\"Text\" value=\"Sending quote request\"/></log>";
}
private String getXmlOfMediatorScenarioOneA(String level) {
return "<log level=\"" +
level + "\"><property name=\"Text\" value=\"Sending quote request\"/></log>";
}
private String getXmlOfMediatorScenarioTwo(String level, String seperator) {
return "<log xmlns=\"http://ws.apache.org/ns/synapse\" level=\"" +
level + "\" separator=\"" + seperator +
"\"><property name=\"Text\" value=\"Sending quote request\"/></log>";
}
private String getXmlOfMediatorScenarioThree(String category) {
return "<log xmlns=\"http://ws.apache.org/ns/synapse\" category=\"" +
category + "\"><property name=\"Text\" value=\"Sending quote request\"/></log>";
}
}