public static void removeProperty()

in src/main/java/software/amazon/cloudformation/resource/ResourceTypeSchema.java [259:278]


    public static void removeProperty(final PublicJSONPointer property, final JSONObject resourceModel) {
        List<String> refTokens = property.getRefTokens();
        if (refTokens.size() > 0) {
            final String key = refTokens.get(refTokens.size() - 1);
            try {
                // if size is more than one, fetch parent object/array of key to remove so that
                // we can remove
                if (refTokens.size() > 1) {
                    // use sublist to specify to point at the parent object
                    final JSONPointer parentObjectPointer = new JSONPointer(refTokens.subList(0, refTokens.size() - 1));
                    final JSONObject parentObject = (JSONObject) parentObjectPointer.queryFrom(resourceModel);
                    parentObject.remove(key);
                } else {
                    resourceModel.remove(key);
                }
            } catch (JSONPointerException | NumberFormatException e) {
                // do nothing, as this indicates the model does not have a value for the pointer
            }
        }
    }