/*
* Copyright (c) 2005-2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. 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.wso2.carbon.mediator.urlrewrite;
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.wso2.carbon.mediator.service.ui.AbstractListMediator;
/**
* Definig the configuration params
*
*/
public class URLRewriteMediator extends AbstractListMediator {
private String inProperty;
private String outProperty;
public String getTagLocalName() {
return "rewrite";
}
public String getInProperty() {
return inProperty;
}
public void setInProperty(String inProperty) {
this.inProperty = inProperty;
}
public String getOutProperty() {
return outProperty;
}
public void setOutProperty(String outProperty) {
this.outProperty = outProperty;
}
/**
* Constructing mediator conf using user input
*
* @param parent
*/
public OMElement serialize(OMElement parent) {
OMElement urlRewrite = fac.createOMElement("rewrite", synNS);
saveTracingState(urlRewrite, this);
if (inProperty != null) {
urlRewrite.addAttribute(fac.createOMAttribute("inProperty", nullNS,
inProperty));
}
if (outProperty != null) {
urlRewrite.addAttribute(fac.createOMAttribute("outProperty", nullNS,
outProperty));
}
serializeChildren(urlRewrite, getList());
if (parent != null) {
parent.addChild(urlRewrite);
}
return urlRewrite;
}
/**
* Building esb mediator object
*/
public void build(OMElement elem) {
if (getList() != null) {
getList().clear();
}
QName ATT_IN_PROPERTY = new QName("inProperty");
QName ATT_OUT_PROPERTY = new QName("outProperty");
OMAttribute inPropertyAttr = elem.getAttribute(ATT_IN_PROPERTY);
OMAttribute outPropertyAttr = elem.getAttribute(ATT_OUT_PROPERTY);
if (inPropertyAttr != null) {
this.inProperty = inPropertyAttr.getAttributeValue();
}
if (outPropertyAttr != null) {
this.outProperty = outPropertyAttr.getAttributeValue();
}
// after successfully creating the mediator
// set its common attributes such as tracing etc
processAuditStatus(this, elem);
addChildren(elem, this);
}
}