001
014
015 package com.liferay.portal.service;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.util.Function;
019
020 import javax.portlet.PortletRequest;
021
022 import javax.servlet.http.HttpServletRequest;
023
024
027 public class ServiceContextFunction
028 implements Function<String, ServiceContext> {
029
030 public ServiceContextFunction(HttpServletRequest request) {
031 _request = request;
032
033 _portletRequest = null;
034 }
035
036 public ServiceContextFunction(PortletRequest portletRequest) {
037 _portletRequest = portletRequest;
038
039 _request = null;
040 }
041
042 @Override
043 public ServiceContext apply(String className) {
044 try {
045 if (_portletRequest != null) {
046 return ServiceContextFactory.getInstance(
047 className, _portletRequest);
048 }
049 else {
050 return ServiceContextFactory.getInstance(className, _request);
051 }
052 }
053 catch (PortalException pe) {
054 throw new RuntimeException(pe);
055 }
056 }
057
058 private final PortletRequest _portletRequest;
059 private final HttpServletRequest _request;
060
061 }