ArrayList wsamapping = new ArrayList();
while (parameters.hasNext()) {
//this is to check whether some one has locked the parmter at the top level
OMElement parameterElement = (OMElement) parameters.next();
Parameter parameter = new ParameterImpl();
//setting parameterElement
parameter.setParameterElement(parameterElement);
//setting parameter Name
OMAttribute paraName = parameterElement.getAttribute(
new QName(ATTNAME));
if(paraName == null ){
throw new DeploymentException(
Messages.getMessage(DeploymentErrorMsgs.BAD_PARA_ARGU));
}
parameter.setName(paraName.getAttributeValue());
//setting paramter Value (the chiled elemnt of the paramter)
OMElement paraValue = parameterElement.getFirstElement();
if(paraValue !=null){
parameter.setValue(parameterElement);
parameter.setParameterType(Parameter.OM_PARAMETER);
} else {
String paratextValue = parameterElement.getText();
parameter.setValue(paratextValue);
parameter.setParameterType(Parameter.TEXT_PARAMETER);
}
//setting locking attribute
OMAttribute paraLocked = parameterElement.getAttribute(
new QName(ATTLOCKED));
Parameter parentpara = null;
if (parent !=null) {
parentpara = parent.getParameter(parameter.getName());
}
if (paraLocked !=null) {
String lockedValue = paraLocked.getAttributeValue();
if("true".equals(lockedValue)){
// if the parameter is locked at some level parameter value replace by that
if (parent!=null &&
parent.isParameterLocked(parameter.getName())){
throw new DeploymentException(Messages.getMessage(
DeploymentErrorMsgs.CONFIG_NOT_FOUND,
parameter.getName()));
} else{
parameter.setLocked(true);
}
} else {
parameter.setLocked(false);
}
}
if(Constants.WSA_ACTION.equals(paraName.getAttributeValue())){
wsamapping.add(parameter);
// no need to add this paramter , since this is just for mapping
continue;
}
try {
if(parent !=null){
if(parentpara == null ||
!parent.isParameterLocked(parameter.getName())){
parameterInclude.addParameter(parameter);
}
} else {
parameterInclude.addParameter(parameter);
}