001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.exportimport.lar;
016    
017    import com.liferay.portal.kernel.util.AutoResetThreadLocal;
018    
019    /**
020     * @author Michael C. Han
021     */
022    public class ExportImportThreadLocal {
023    
024            public static boolean isDataDeletionImportInProcess() {
025                    if (isLayoutDataDeletionImportInProcess() ||
026                            isPortletDataDeletionImportInProcess()) {
027    
028                            return true;
029                    }
030    
031                    return false;
032            }
033    
034            public static boolean isExportInProcess() {
035                    if (isLayoutExportInProcess() || isPortletExportInProcess()) {
036                            return true;
037                    }
038    
039                    return false;
040            }
041    
042            public static boolean isImportInProcess() {
043                    if (isDataDeletionImportInProcess() || isLayoutImportInProcess() ||
044                            isLayoutValidationInProcess() || isPortletImportInProcess() ||
045                            isPortletValidationInProcess()) {
046    
047                            return true;
048                    }
049    
050                    return false;
051            }
052    
053            public static boolean isInitialLayoutStagingInProcess() {
054                    return _initialLayoutStagingInProcess.get();
055            }
056    
057            public static boolean isLayoutDataDeletionImportInProcess() {
058                    return _layoutDataDeletionImportInProcess.get();
059            }
060    
061            public static boolean isLayoutExportInProcess() {
062                    return _layoutExportInProcess.get();
063            }
064    
065            public static boolean isLayoutImportInProcess() {
066                    return _layoutImportInProcess.get();
067            }
068    
069            public static boolean isLayoutStagingInProcess() {
070                    return _layoutStagingInProcess.get();
071            }
072    
073            public static boolean isLayoutValidationInProcess() {
074                    return _layoutValidationInProcess.get();
075            }
076    
077            public static boolean isPortletDataDeletionImportInProcess() {
078                    return _portletDataDeletionImportInProcess.get();
079            }
080    
081            public static boolean isPortletExportInProcess() {
082                    return _portletExportInProcess.get();
083            }
084    
085            public static boolean isPortletImportInProcess() {
086                    return _portletImportInProcess.get();
087            }
088    
089            public static boolean isPortletStagingInProcess() {
090                    return _portletStagingInProcess.get();
091            }
092    
093            public static boolean isPortletValidationInProcess() {
094                    return _portletValidationInProcess.get();
095            }
096    
097            public static boolean isStagingInProcess() {
098                    if (isLayoutStagingInProcess() || isPortletStagingInProcess()) {
099                            return true;
100                    }
101    
102                    return false;
103            }
104    
105            public static void setInitialLayoutStagingInProcess(
106                    boolean initialLayoutStagingInProcess) {
107    
108                    _initialLayoutStagingInProcess.set(initialLayoutStagingInProcess);
109            }
110    
111            public static void setLayoutDataDeletionImportInProcess(
112                    boolean layoutDataDeletionImportInProcess) {
113    
114                    _layoutDataDeletionImportInProcess.set(
115                            layoutDataDeletionImportInProcess);
116            }
117    
118            public static void setLayoutExportInProcess(boolean layoutExportInProcess) {
119                    _layoutExportInProcess.set(layoutExportInProcess);
120            }
121    
122            public static void setLayoutImportInProcess(boolean layoutImportInProcess) {
123                    _layoutImportInProcess.set(layoutImportInProcess);
124            }
125    
126            public static void setLayoutStagingInProcess(
127                    boolean layoutStagingInProcess) {
128    
129                    _layoutStagingInProcess.set(layoutStagingInProcess);
130            }
131    
132            public static void setLayoutValidationInProcess(
133                    boolean layoutValidationInProcess) {
134    
135                    _layoutValidationInProcess.set(layoutValidationInProcess);
136            }
137    
138            public static void setPortletDataDeletionImportInProcess(
139                    boolean portletDataDeletionImportInProcess) {
140    
141                    _portletDataDeletionImportInProcess.set(
142                            portletDataDeletionImportInProcess);
143            }
144    
145            public static void setPortletExportInProcess(
146                    boolean portletExportInProcess) {
147    
148                    _portletExportInProcess.set(portletExportInProcess);
149            }
150    
151            public static void setPortletImportInProcess(
152                    boolean portletImportInProcess) {
153    
154                    _portletImportInProcess.set(portletImportInProcess);
155            }
156    
157            public static void setPortletStagingInProcess(
158                    boolean portletStagingInProcess) {
159    
160                    _portletStagingInProcess.set(portletStagingInProcess);
161            }
162    
163            public static void setPortletValidationInProcess(
164                    boolean portletValidationInProcess) {
165    
166                    _portletValidationInProcess.set(portletValidationInProcess);
167            }
168    
169            private static final ThreadLocal<Boolean> _initialLayoutStagingInProcess =
170                    new AutoResetThreadLocal<>(
171                            ExportImportThreadLocal.class + "._initialLayoutStagingInProcess",
172                            false);
173            private static final ThreadLocal<Boolean>
174                    _layoutDataDeletionImportInProcess = new AutoResetThreadLocal<>(
175                            ExportImportThreadLocal.class +
176                                    "._layoutDataDeletionImportInProcess",
177                            false);
178            private static final ThreadLocal<Boolean> _layoutExportInProcess =
179                    new AutoResetThreadLocal<>(
180                            ExportImportThreadLocal.class + "._layoutExportInProcess", false);
181            private static final ThreadLocal<Boolean> _layoutImportInProcess =
182                    new AutoResetThreadLocal<>(
183                            ExportImportThreadLocal.class + "._layoutImportInProcess", false);
184            private static final ThreadLocal<Boolean> _layoutStagingInProcess =
185                    new AutoResetThreadLocal<>(
186                            ExportImportThreadLocal.class + "._layoutStagingInProcess", false);
187            private static final ThreadLocal<Boolean> _layoutValidationInProcess =
188                    new AutoResetThreadLocal<>(
189                            ExportImportThreadLocal.class + "._layoutValidationInProcess",
190                            false);
191            private static final ThreadLocal<Boolean>
192                    _portletDataDeletionImportInProcess = new AutoResetThreadLocal<>(
193                            ExportImportThreadLocal.class +
194                                    "._portletDataDeletionImportInProcess",
195                            false);
196            private static final ThreadLocal<Boolean> _portletExportInProcess =
197                    new AutoResetThreadLocal<>(
198                            ExportImportThreadLocal.class + "._portletExportInProcess", false);
199            private static final ThreadLocal<Boolean> _portletImportInProcess =
200                    new AutoResetThreadLocal<>(
201                            ExportImportThreadLocal.class + "._portletImportInProcess", false);
202            private static final ThreadLocal<Boolean> _portletStagingInProcess =
203                    new AutoResetThreadLocal<>(
204                            ExportImportThreadLocal.class + "._portletStagingInProcess", false);
205            private static final ThreadLocal<Boolean> _portletValidationInProcess =
206                    new AutoResetThreadLocal<>(
207                            ExportImportThreadLocal.class + "._portletValidationInProcess",
208                            false);
209    
210    }