package ca.etsmtl.applets.etsmobile.http.soap; //---------------------------------------------------- // // Generated by www.easywsdl.com // Version: 2.0.0.4 // // Created by Quasar Development at 15-01-2014 // //--------------------------------------------------- import java.util.Hashtable; import java.util.UUID; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.joda.time.chrono.ISOChronology; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.DateTimeFormatterBuilder; import org.joda.time.format.DateTimeParser; import org.joda.time.format.ISODateTimeFormat; import org.ksoap2.serialization.AttributeContainer; import org.ksoap2.serialization.AttributeInfo; import org.ksoap2.serialization.KvmSerializable; import org.ksoap2.serialization.PropertyInfo; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.kxml2.kdom.Element; import org.kxml2.kdom.Node; public class Helper { public static <T, E> T getKeyByValue(java.util.Map<T, E> map, E value) { for (java.util.Map.Entry<T, E> entry : map.entrySet()) { if (value.equals(entry.getValue())) { return entry.getKey(); } } return null; } public static Object getAttribute(AttributeContainer obj, String name, String namespace) { for (int i = 0; i < obj.getAttributeCount(); i++) { AttributeInfo info = new AttributeInfo(); obj.getAttributeInfo(i, info); if (info.name.equals(name) && info.namespace.equals(namespace)) { return info.getValue(); } } return null; } public static Element convertToHeader(Object obj, String namespace, String name) { Element parentElement = new org.kxml2.kdom.Element().createElement(namespace, name); if (obj == null) { return parentElement; } if (obj instanceof KvmSerializable) { KvmSerializable soapObject = (KvmSerializable) obj; for (int i = 0; i < soapObject.getPropertyCount(); i++) { PropertyInfo info = new PropertyInfo(); soapObject.getPropertyInfo(i, new Hashtable(), info); info.setValue(soapObject.getProperty(i)); Element el1 = convertToHeader(info.getValue(), info.getNamespace(), info.getName()); parentElement.addChild(Node.ELEMENT, el1); } } else { String value = obj.toString(); parentElement.addChild(org.kxml2.kdom.Node.TEXT, value); } return parentElement; } public static Element findOutHeader(String name, SoapSerializationEnvelope envelope) { if (envelope.headerIn == null) { return null; } for (int i = 0; i < envelope.headerIn.length; i++) { Element elem = envelope.headerIn[i]; if (elem.getName().equals(name) && elem.getChildCount() > 0) return elem; } return null; } public static Object convertToSoapObject(Element element) { if (element.getChildCount() == 0 || (element.getChildCount() == 1 && !(element.getChild(0) instanceof Element))) { SoapPrimitive primitive = new SoapPrimitive(element.getNamespace(), element.getName(), element.getChildCount() == 1 ? element.getText(0) : null); return primitive; } else { SoapObject obj = new SoapObject(element.getNamespace(), element.getName()); for (int i = 0; i < element.getChildCount(); i++) { Element childElement = element.getElement(i); Object childObject = convertToSoapObject(childElement); if (childObject instanceof SoapObject) { SoapObject soapObj = (SoapObject) childObject; obj.addProperty(soapObj.getName(), childObject); } else { SoapPrimitive primitive = (SoapPrimitive) childObject; obj.addProperty(primitive.getName(), primitive); } } return obj; } } private static DateTimeParser offsetElement() { return new DateTimeFormatterBuilder().appendTimeZoneOffset("Z", true, 2, 4).toParser(); } private static DateTimeParser fractionElement() { return new DateTimeFormatterBuilder().appendLiteral('.').appendFractionOfSecond(3, 9).toParser(); } public static DateTime ConvertFromWebService(String strDate) { DateTimeFormatter parser1 = new DateTimeFormatterBuilder().append(ISODateTimeFormat.date()).appendLiteral('T') .append(ISODateTimeFormat.hourMinuteSecond()).appendOptional(fractionElement()) .appendOptional(offsetElement()).toFormatter().withZone(DateTimeZone.UTC); parser1.withChronology(ISOChronology.getInstanceUTC()); return parser1.parseDateTime(strDate); } public static boolean isEmpty(CharSequence str) { if (str == null || str.length() == 0) return true; else return false; } public static UUID emptyGuid() { return new UUID(0, 0); } }