package com.sap.hana.cloud.samples.benefits.odata; import javax.servlet.http.HttpServletRequest; import org.apache.olingo.odata2.api.processor.ODataContext; import com.sap.hana.cloud.samples.benefits.odata.cfg.BenefitsODataServiceFactory; import com.sap.hana.cloud.samples.benefits.persistence.CampaignDAO; import com.sap.hana.cloud.samples.benefits.persistence.UserDAO; import com.sap.hana.cloud.samples.benefits.persistence.model.User; import com.sap.hana.cloud.samples.benefits.service.SessionCreateFilter; public abstract class ODataService { protected UserDAO userDAO; protected CampaignDAO campaignDAO; public ODataService() { this.userDAO = new UserDAO(); this.campaignDAO = new CampaignDAO(); } protected User getLoggedInSfUser() { return userDAO.getByUserId(getSFUser()); } private String getSFUser() { ODataContext ctx = BenefitsODataServiceFactory.getContextInThreadLocal(); HttpServletRequest httpServlReq = (HttpServletRequest) ctx.getParameter(ODataContext.HTTP_SERVLET_REQUEST_OBJECT); return (String) httpServlReq.getSession().getAttribute(SessionCreateFilter.SF_USER_ID_ATTR_NAME); } }