Exemplo n.º 1
0
  protected PersistenceContext buildPersistenceContext(HyperionContext context) {
    EntityPlugin entityPlugin = context.getEntityPlugin();
    HyperionRequest endpointRequest = context.getEndpointRequest();

    PersistenceContext persistenceContext = new PersistenceContext();
    persistenceContext.setEntityPlugin(entityPlugin);
    persistenceContext.setEntity(entityPlugin.getEndpointName());
    persistenceContext.setHttpMethod(context.getEffectiveMethod());
    persistenceContext.setApiVersionPlugin(context.getVersionPlugin());
    persistenceContext.setUserContext(context.getAuthorizationContext().getUserContext());
    persistenceContext.setRequestedFields(
        buildFieldSet(endpointRequest.getFirstParameter("fields")));
    persistenceContext.setAuthorizationContext(context.getAuthorizationContext());
    persistenceContext.setLocale(context.getLocale());
    persistenceContext.setMessageSource(messageSource);

    Set<String> additionalParameters = entityPlugin.getAdditionalParameters();
    if (additionalParameters != null && additionalParameters.size() > 0)
      persistenceContext.setAdditionalParameters(
          endpointRequest.getParameterMap(additionalParameters));

    return persistenceContext;
  }