| CompanyThreadLocal.java |
1 /**
2 * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3 *
4 * This library is free software; you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License as published by the Free
6 * Software Foundation; either version 2.1 of the License, or (at your option)
7 * any later version.
8 *
9 * This library is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12 * details.
13 */
14
15 package com.liferay.portal.security.auth;
16
17 import com.liferay.portal.kernel.log.Log;
18 import com.liferay.portal.kernel.log.LogFactoryUtil;
19 import com.liferay.portal.kernel.util.AutoResetThreadLocal;
20 import com.liferay.portal.model.CompanyConstants;
21
22 /**
23 * <a href="CompanyThreadLocal.java.html"><b><i>View Source</i></b></a>
24 *
25 * @author Brian Wing Shun Chan
26 */
27 public class CompanyThreadLocal {
28
29 public static long getCompanyId() {
30 long companyId = _companyId.get();
31
32 if (_log.isDebugEnabled()) {
33 _log.debug("getCompanyId " + companyId);
34 }
35
36 return companyId;
37 }
38
39 public static void setCompanyId(long companyId) {
40 if (_log.isDebugEnabled()) {
41 _log.debug("setCompanyId " + companyId);
42 }
43
44 if (companyId > 0) {
45 _companyId.set(companyId);
46 }
47 else {
48 _companyId.set(CompanyConstants.SYSTEM);
49 }
50 }
51
52 private static Log _log = LogFactoryUtil.getLog(CompanyThreadLocal.class);
53
54 private static ThreadLocal<Long> _companyId =
55 new AutoResetThreadLocal<Long>(CompanyConstants.SYSTEM);
56
57 }