use of weborb.exceptions.AdaptingException in project Android-SDK by Backendless.
the class AdaptingResponder method responseHandler.
public final void responseHandler(Object adaptingType) {
IAdaptingType type = (IAdaptingType) adaptingType;
IAdaptingType bodyHolder = ((NamedObject) type).getTypedObject();
if (((IAdaptingType) adaptingType).getDefaultType().equals(ErrMessage.class)) {
if (nextResponder != null) {
nextResponder.errorHandler(adaptFault((AnonymousObject) bodyHolder));
}
} else {
IAdaptingType entity = (IAdaptingType) ((AnonymousObject) bodyHolder).getProperties().get("body");
try {
adaptingPolicy.adapt(clazz, entity, nextResponder);
} catch (AdaptingException e) {
errorHandler(new BackendlessFault(e));
}
}
}
use of weborb.exceptions.AdaptingException in project Android-SDK by Backendless.
the class CollectionAdaptingPolicy method adapt.
@Override
public Object adapt(Class<E> clazz, IAdaptingType entity, IResponder nextResponder) {
List<E> result = null;
try {
List<E> list = new ArrayList<>();
if (entity == null)
return list;
ArrayType data = (ArrayType) entity;
Object[] dataArray = (Object[]) data.getArray();
if (clazz != null && weborb.types.Types.getMappedClientClass(clazz.getName()) == null) {
for (Object aDataArray : dataArray) if (aDataArray instanceof NamedObject)
((NamedObject) aDataArray).setDefaultType(clazz);
}
result = (List<E>) entity.adapt(list.getClass());
if (nextResponder != null)
nextResponder.responseHandler(result);
} catch (AdaptingException e) {
Fault fault = new Fault("Unable to adapt response to List<" + clazz.getName() + ">", e.getMessage());
if (nextResponder != null)
nextResponder.errorHandler(fault);
}
return result;
}
Aggregations