Search in sources :

Example 1 with AdaptingException

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));
        }
    }
}
Also used : AnonymousObject(weborb.reader.AnonymousObject) IAdaptingType(weborb.types.IAdaptingType) NamedObject(weborb.reader.NamedObject) AdaptingException(weborb.exceptions.AdaptingException) BackendlessFault(com.backendless.exceptions.BackendlessFault)

Example 2 with AdaptingException

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;
}
Also used : ArrayType(weborb.reader.ArrayType) ArrayList(java.util.ArrayList) NamedObject(weborb.reader.NamedObject) AdaptingException(weborb.exceptions.AdaptingException) NamedObject(weborb.reader.NamedObject) Fault(weborb.client.Fault)

Aggregations

AdaptingException (weborb.exceptions.AdaptingException)2 NamedObject (weborb.reader.NamedObject)2 BackendlessFault (com.backendless.exceptions.BackendlessFault)1 ArrayList (java.util.ArrayList)1 Fault (weborb.client.Fault)1 AnonymousObject (weborb.reader.AnonymousObject)1 ArrayType (weborb.reader.ArrayType)1 IAdaptingType (weborb.types.IAdaptingType)1