Package org.forgerock.audit.util
Class ElasticsearchUtil
java.lang.Object
org.forgerock.audit.util.ElasticsearchUtil
Utilities for working with Elasticsearch.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringJSON field-name of normalized field-names.protected static final StringJSON field-name of metadata to assist in de-normalization.static final com.fasterxml.jackson.databind.ObjectMapperJacksonObjectMapperfor producing normalized JSON.static final com.fasterxml.jackson.databind.ObjectMapperJacksonObjectMapperfor working with JSON. -
Method Summary
Modifier and TypeMethodDescriptionstatic JsonValuedenormalizeJson(JsonValue value) De-normalizes JSON that was previously normalized bynormalizeJson(JsonValue).static StringnormalizeJson(JsonValue value) Deprecated.static JsonPointerReplaces periods inJsonPointerkeys with underscore.static booleanrenameField(JsonValue jsonValue, String oldKey, String newKey) Renames a field within the givenJsonValue.protected static StringReplaces all period-characters in JSON keys with underscore-characters [ref].protected static JsonValuerestoreKeyPeriods(JsonValue value, JsonValue normalized) Reverses the normalization steps preformed byreplaceKeyPeriodsWithUnderscores(String).
-
Field Details
-
OBJECT_MAPPER
public static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPERJacksonObjectMapperfor working with JSON. -
NORMALIZING_OBJECT_MAPPER
public static final com.fasterxml.jackson.databind.ObjectMapper NORMALIZING_OBJECT_MAPPERJacksonObjectMapperfor producing normalized JSON. -
NORMALIZED_FIELD
JSON field-name of metadata to assist in de-normalization.- See Also:
-
FIELD_NAMES_FIELD
JSON field-name of normalized field-names.- See Also:
-
-
Method Details
-
normalizeJson
Deprecated.UseNORMALIZING_OBJECT_MAPPERinstead.Normalizes JSON to conform to Elasticsearch data-format restrictions. The following normalizations are performed,- Periods in JSON fields (keys) are converted to underscore characters
"_normalized" : { "fieldNames" : { "key_1" : "key.1", "key_2" : "key.2" } }- Parameters:
value- JSON value- Returns:
- Resulting JSON, with
_normalizedfield if any normalization was necessary - Throws:
IOException- If unable to parse the json.
-
denormalizeJson
De-normalizes JSON that was previously normalized bynormalizeJson(JsonValue).- Parameters:
value- JSON value- Returns:
- Original, de-normalized JSON
- Throws:
IOException- If unable to parse the json.
-
replaceKeyPeriodsWithUnderscores
Replaces all period-characters in JSON keys with underscore-characters [ref]. If normalization is required, thefieldNamesfield will be added to thenormalizedmetadata.- Parameters:
json- JSONStringinput- Returns:
- Resulting JSON
String - Throws:
IOException- If unable to parse the json.
-
restoreKeyPeriods
protected static JsonValue restoreKeyPeriods(JsonValue value, JsonValue normalized) throws IOException Reverses the normalization steps preformed byreplaceKeyPeriodsWithUnderscores(String).- Parameters:
value- JSON inputnormalized- De-normalization metadata, which this method may add to- Returns:
- Resulting JSON
- Throws:
IOException- If unable to parse the json.
-
normalizeJsonPointer
Replaces periods inJsonPointerkeys with underscore.- Parameters:
ptr- TheJsonPointerto normalize.- Returns:
- A normalized
JsonPointer.
-
renameField
Renames a field within the givenJsonValue.- Parameters:
jsonValue-JsonValueto have a top-level field renamedoldKey- Old field namenewKey- New field name (field must not already exist)- Returns:
trueif field was found and renamed, andfalseotherwise
-
NORMALIZING_OBJECT_MAPPERinstead.