Search in sources :

Example 1 with LookupReadOnlyException

use of org.motechproject.mds.exception.lookup.LookupReadOnlyException in project motech by motech.

the class LookupReader method readLookup.

public void readLookup() throws IOException {
    Lookup lookup = new Lookup();
    lookup.setEntity(entity);
    jsonReader.beginObject();
    lookup.setLookupName(objectReader.readString("name"));
    lookup.setSingleObjectReturn(objectReader.readBoolean("singleObjectReturn"));
    lookup.setMethodName(objectReader.readString("methodName"));
    lookup.setFields(readFields());
    lookup.setRangeLookupFields(objectReader.readStringArray("rangeFields"));
    lookup.setCustomOperators(objectReader.readStringMap("customOperators"));
    lookup.setUseGenericParams(objectReader.readBooleanMap("useGenericParams"));
    lookup.setFieldsOrder(objectReader.readStringArray("fieldsOrder"));
    jsonReader.endObject();
    Lookup existingLookup = entity.getLookupByName(lookup.getLookupName());
    if (null == existingLookup) {
        entity.addLookup(lookup);
    } else if (!existingLookup.isReadOnly()) {
        entity.removeLookup(existingLookup.getId());
        entity.addLookup(lookup);
    } else {
        throw new LookupReadOnlyException("Cannot import lookup " + lookup.getLookupName());
    }
}
Also used : LookupReadOnlyException(org.motechproject.mds.exception.lookup.LookupReadOnlyException) Lookup(org.motechproject.mds.domain.Lookup)

Aggregations

Lookup (org.motechproject.mds.domain.Lookup)1 LookupReadOnlyException (org.motechproject.mds.exception.lookup.LookupReadOnlyException)1