001    /**
002     * Copyright (c) 2000-2013 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;
016    
017    /**
018     * @author Michael C. Han
019     */
020    public class MonitoringPortletManager implements MonitoringPortletManagerMBean {
021    
022            public void afterPropertiesSet() {
023                    if (MonitoringPortlet.isMonitoringPortletActionRequest() ||
024                            MonitoringPortlet.isMonitoringPortletEventRequest() ||
025                            MonitoringPortlet.isMonitoringPortletRenderRequest() ||
026                            MonitoringPortlet.isMonitoringPortletResourceRequest()) {
027    
028                            setActive(true);
029                    }
030            }
031    
032            @Override
033            public boolean isActive() {
034                    return _active;
035            }
036    
037            @Override
038            public boolean isMonitoringPortletActionRequest() {
039                    return MonitoringPortlet.isMonitoringPortletActionRequest();
040            }
041    
042            @Override
043            public boolean isMonitoringPortletEventRequest() {
044                    return MonitoringPortlet.isMonitoringPortletEventRequest();
045            }
046    
047            @Override
048            public boolean isMonitoringPortletRenderRequest() {
049                    return MonitoringPortlet.isMonitoringPortletRenderRequest();
050            }
051    
052            @Override
053            public boolean isMonitoringPortletResourceRequest() {
054                    return MonitoringPortlet.isMonitoringPortletResourceRequest();
055            }
056    
057            @Override
058            public void setActive(boolean active) {
059                    if (active == _active) {
060                            return;
061                    }
062    
063                    PortletInstanceFactoryImpl portletInstanceFactoryImpl =
064                            new PortletInstanceFactoryImpl();
065    
066                    if (active) {
067                            portletInstanceFactoryImpl.setInvokerPortletFactory(
068                                    _monitoringPortletFactoryImpl);
069                    }
070                    else {
071                            portletInstanceFactoryImpl.setInvokerPortletFactory(
072                                    _invokerPortletFactory);
073                    }
074    
075                    PortletInstanceFactoryUtil portletInstanceFactoryUtil =
076                            new PortletInstanceFactoryUtil();
077    
078                    portletInstanceFactoryUtil.setPortletInstanceFactory(
079                            portletInstanceFactoryImpl);
080    
081                    _active = active;
082            }
083    
084            public void setInvokerPortletFactory(
085                    InvokerPortletFactory invokerPortletFactory) {
086    
087                    _invokerPortletFactory = invokerPortletFactory;
088            }
089    
090            @Override
091            public void setMonitoringPortletActionRequest(
092                    boolean monitoringPortletActionRequest) {
093    
094                    MonitoringPortlet.setMonitoringPortletActionRequest(
095                            monitoringPortletActionRequest);
096            }
097    
098            @Override
099            public void setMonitoringPortletEventRequest(
100                    boolean monitoringPortletEventRequest) {
101    
102                    MonitoringPortlet.setMonitoringPortletEventRequest(
103                            monitoringPortletEventRequest);
104            }
105    
106            public void setMonitoringPortletFactoryImpl(
107                    InvokerPortletFactory monitoringPortletFactoryImpl) {
108    
109                    _monitoringPortletFactoryImpl = monitoringPortletFactoryImpl;
110            }
111    
112            @Override
113            public void setMonitoringPortletRenderRequest(
114                    boolean monitoringPortletRenderRequest) {
115    
116                    MonitoringPortlet.setMonitoringPortletRenderRequest(
117                            monitoringPortletRenderRequest);
118            }
119    
120            @Override
121            public void setMonitoringPortletResourceRequest(
122                    boolean monitoringPortletResourceRequest) {
123    
124                    MonitoringPortlet.setMonitoringPortletResourceRequest(
125                            monitoringPortletResourceRequest);
126            }
127    
128            private boolean _active;
129            private InvokerPortletFactory _invokerPortletFactory;
130            private InvokerPortletFactory _monitoringPortletFactoryImpl;
131    
132    }