protected Object getRequestValue(String key) { Object value = getInternalMap().get(key); if (value == null) { value = getAllRequestValues().get(key); } if (value == null) { // perhaps get one of the reserved values if (ReservedKeys._locale.name().equals(key)) { // _locale value = Locale.getDefault(); } else if (ReservedKeys._requestEntityReference.name().equals(key)) { // _requestEntityReference value = "/describe"; // default if not known } else if (ReservedKeys._requestActive.name().equals(key)) { // _requestActive if (requestGetter.getRequest() == null) { value = false; } else { value = true; } } else if (ReservedKeys._requestOrigin.name().equals(key)) { // _requestOrigin value = RequestOrigin.INTERNAL.name(); } } return value; }
requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestOrigin.name(), RequestStorage.RequestOrigin.REST.name()); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestActive.name(), true);
requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestOrigin.name(), RequestStorage.RequestOrigin.REST.name()); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestActive.name(), true);
/** * Checks to see if a request is internal and therefore can bypass some or all security * @param reference an entity reference string * @return true if internal OR false if external or REST */ public boolean isEntityRequestInternal(String reference) { boolean internal = false; String origin = (String) requestStorage.getStoredValue(RequestStorage.ReservedKeys._requestOrigin.name()); if (RequestStorage.RequestOrigin.INTERNAL.name().equals(origin)) { internal = true; } else { if (reference != null) { String ref = (String) requestStorage.getStoredValue(RequestStorage.ReservedKeys._requestEntityReference.name()); if (reference.equals(ref)) { // if this ref was the one requested from outside it is definitely not internal internal = false; } else { internal = true; } } } return internal; }