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);
}
}