/** * Helper that gets a new Error with msg set to the message of the given * Throwable. */ public static Error get(String ctx, String errorCode, Throwable e) { LOGGER.error(e.getMessage(), e); return get(ctx, errorCode, e.getMessage()); }
/** * Helper that gets a new Error with msg set to the message of the given * Throwable. */ public static Error get(String ctx, String errorCode, Throwable e) { LOGGER.error(e.getMessage(), e); return get(ctx, errorCode, e.getMessage()); }
private static JsonNode toJson(String object) { try { return JsonUtils.json(object); } catch (Exception e) { throw Error.get(MetadataConstants.ERR_ILL_FORMED_METADATA, object); } } }
private void convertReferenceFieldToBson(JsonNode node,Path path) { if(node instanceof NullNode || node.size()==0) return; //TODO throw Error.get(ERR_CANNOT_TRANSLATE_REFERENCE,path.toString()); }
@Override public Object fromJson(JsonNode node) { if (node instanceof NullNode) { return null; } else if (node.isValueNode()) { return node.asText(); } else { throw Error.get(NAME, MetadataConstants.ERR_INCOMPATIBLE_VALUE, node.toString()); } }
/** * Returns the single field name contained in the object. If the object * contains more fields or no fields, throws an error with the given error * code. */ private String getSingleFieldName(T object, String errorCode) { Set<String> names = getChildNames(object); if (names.size() != 1) { throw Error.get(errorCode, names.toString()); } return names.iterator().next(); }
private IndexedFieldScorerData getData(QueryPlanNode node) { try { return (IndexedFieldScorerData) node.getData(); } catch (ClassCastException e) { throw Error.get(AssocConstants.ERR_INVALID_QUERYPLAN); } } }
@Override public Object fromJson(JsonNode node) { if (node.isValueNode()) { return node.bigIntegerValue(); } else { throw Error.get(NAME, MetadataConstants.ERR_INCOMPATIBLE_VALUE, node.toString()); } }
@Override public Object fromJson(JsonNode node) { if (node == null || node instanceof NullNode) { return null; } else if (node.isValueNode()) { try { return node.binaryValue(); } catch (Exception e) { } } throw Error.get(NAME, MetadataConstants.ERR_INCOMPATIBLE_VALUE, node.toString()); }
public void addEnum(Enum x) { if (enums.containsKey(x.getName())) { throw Error.get(MetadataConstants.ERR_DUPLICATE_ENUM, x.getName()); } enums.put(x.getName(), x); }
public void addNew(Field f) { String name = f.getName(); if (has(name)) { throw Error.get(MetadataConstants.ERR_DUPLICATE_FIELD, name); } f.setParent(parent); fieldMap.put(name, f); fields.add(f); }
private FieldTreeNode resolve(FieldTreeNode context, Path field) { FieldTreeNode node = context.resolve(field); if (node == null) { throw Error.get(ERR_INVALID_FIELD, field.toString()); } return node; }
@Override public void checkConstraint(ConstraintValidator validator, FieldTreeNode fieldMetadata, Path fieldMetadataPath, FieldConstraint constraint, JsonDoc doc) { List<Path> errors = RequiredChecker.getMissingFields(fieldMetadataPath, doc); for (Path x : errors) { validator.addDocError(Error.get(CrudConstants.ERR_REQUIRED, x.toString())); } } }
private Field parseSimpleField(String name, String type) { SimpleField field = new SimpleField(name); Type t = typeResolver.getType(type); if (t == null) { throw Error.get(MetadataConstants.ERR_INVALID_TYPE, type); } field.setType(t); return field; }
private void handleBulkWriteError(List<BulkWriteError> errors, String operation, List<DocInfo> docs) { for (BulkWriteError e : errors) { DocInfo doc = docs.get(e.getIndex()); if (MongoCrudConstants.isDuplicate(e.getCode())) { doc.inputDoc.addError(Error.get("update", MongoCrudConstants.ERR_DUPLICATE, e.getMessage())); } else { doc.inputDoc.addError(Error.get("update", MongoCrudConstants.ERR_SAVE_ERROR, e.getMessage())); } } }
@Override public FieldTreeNode resolve(Path p, int level) { if (p.numSegments() == level) { return this; } else if (Path.PARENT.equals(p.head(level))) { return this.getParent().resolve(p, level + 1); } else { throw Error.get(MetadataConstants.ERR_INVALID_FIELD_REFERENCE); } }
/** * Resolve the given field, find its metadata. Throw exception if it cannot * be resolved. */ private FieldTreeNode resolve(Path field) { FieldTreeNode fieldNode = ref == null ? root.resolve(field) : ref.getElement().resolve(field); if (fieldNode == null) { throw Error.get(AssocConstants.ERR_CANNOT_FIND_FIELD, field.toString()); } return fieldNode; }
@Override public FieldTreeNode resolve(Path p, int level) { if (p.numSegments() == level) { return this; } else if (Path.PARENT.equals(p.head(level))) { return this.getParent().resolve(p, level + 1); } if (p.head(level).equals(Path.THIS)) { return this.resolve(p,level+1); } else { throw Error.get(MetadataConstants.ERR_INVALID_FIELD_REFERENCE, p.head(level) + " in " + p.toString()); } }
@Override public FieldTreeNode resolve(Path p, int level) { if (p.numSegments() == level) { return this; } else if (p.head(level).equals(Path.PARENT)) { return this.getParent().getParent().resolve(p, level + 1); } else if (p.head(level).equals(Path.THIS)) { return this.resolve(p,level+1); } else { throw Error.get(MetadataConstants.ERR_INVALID_ARRAY_REFERENCE,p.toString()); } }
/** * Checks that the default version on the EntityInfo exists. If no default * version is set then has no side effect. If the default version does not * exist an error is raised. * * @param ei */ protected final void validateDefaultVersion(EntityInfo ei) { if (ei.getDefaultVersion() != null && !checkVersionExists(ei.getName(), ei.getDefaultVersion())) { throw com.redhat.lightblue.util.Error.get(MetadataConstants.ERR_INVALID_DEFAULT_VERSION, ei.getName() + ":" + ei.getDefaultVersion()); } }