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