/**
* 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.cxf.tools.corba.utils;
import java.util.Map;
import java.util.TreeMap;
import javax.wsdl.Definition;
import javax.wsdl.PortType;
import javax.wsdl.WSDLException;
import javax.xml.namespace.QName;
import com.ibm.wsdl.xml.WSDLWriterImpl;
import org.apache.cxf.helpers.CastUtils;
/*
* This class is extending the wsdl4j RI class to print out the
* maps in a particular order
*
*/
public class TestWSDLCorbaWriterImpl extends WSDLWriterImpl {
private TestComparator comparator = new TestComparator();
protected void printBindingFaults(@SuppressWarnings("rawtypes") Map bindingFaults,
Definition def,
java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> bfaults = new TreeMap<Object, Object>(comparator);
bfaults.putAll(CastUtils.cast(bindingFaults));
super.printBindingFaults(bfaults, def, pw);
}
protected void printBindings(@SuppressWarnings("rawtypes")java.util.Map bindings,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(bindings));
super.printBindings(map, def, pw);
}
protected void printFaults(@SuppressWarnings("rawtypes")java.util.Map faults,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(faults));
super.printFaults(map, def, pw);
}
protected void printImports(@SuppressWarnings("rawtypes")java.util.Map imports,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(imports));
super.printImports(map, def, pw);
}
protected void printMessages(@SuppressWarnings("rawtypes")java.util.Map messages,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(messages));
super.printMessages(map, def, pw);
}
protected void printNamespaceDeclarations(@SuppressWarnings("rawtypes")java.util.Map namespaces,
java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(namespaces));
super.printNamespaceDeclarations(map, pw);
}
protected void printPorts(@SuppressWarnings("rawtypes")java.util.Map ports,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(ports));
super.printPorts(map, def, pw);
}
protected void printPortTypes(@SuppressWarnings("rawtypes")java.util.Map portTypes,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<QName, PortType> map = new TreeMap<QName, PortType>(comparator);
map.putAll(CastUtils.cast(portTypes, QName.class, PortType.class));
super.printPortTypes(map, def, pw);
}
protected void printServices(@SuppressWarnings("rawtypes")java.util.Map services,
Definition def, java.io.PrintWriter pw)
throws WSDLException {
Map<Object, Object> map = new TreeMap<Object, Object>(comparator);
map.putAll(CastUtils.cast(services));
super.printServices(map, def, pw);
}
public class TestComparator implements java.util.Comparator<Object> {
private java.text.Collator collator;
public TestComparator() {
collator = java.text.Collator.getInstance();
}
public int compare(Object o1, Object o2) {
return collator.compare(o1.toString(), o2.toString());
}
public boolean equals(Object o1, Object o2) {
return collator.equals(o1.toString(), o2.toString());
}
}
}