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.portal.monitoring.jmx;
016    
017    import com.liferay.portal.kernel.monitoring.MonitoringException;
018    import com.liferay.portal.kernel.monitoring.statistics.SummaryStatistics;
019    import com.liferay.portal.kernel.util.ArrayUtil;
020    import com.liferay.portal.monitoring.statistics.portal.ServerStatistics;
021    
022    import java.util.Set;
023    
024    /**
025     * @author Michael C. Han
026     * @author Brian Wing Shun Chan
027     */
028    public class PortalManager implements PortalManagerMBean {
029    
030            @Override
031            public long getAverageTime() throws MonitoringException {
032                    return _summaryStatistics.getAverageTime();
033            }
034    
035            @Override
036            public long getAverageTimeByCompany(long companyId)
037                    throws MonitoringException {
038    
039                    return _summaryStatistics.getAverageTimeByCompany(companyId);
040            }
041    
042            @Override
043            public long getAverageTimeByCompany(String webId)
044                    throws MonitoringException {
045    
046                    return _summaryStatistics.getAverageTimeByCompany(webId);
047            }
048    
049            @Override
050            public long[] getCompanyIds() {
051                    Set<Long> companyIds = _serverStatistics.getCompanyIds();
052    
053                    return ArrayUtil.toArray(
054                            companyIds.toArray(new Long[companyIds.size()]));
055            }
056    
057            @Override
058            public long getErrorCount() throws MonitoringException {
059                    return _summaryStatistics.getErrorCount();
060            }
061    
062            @Override
063            public long getErrorCountByCompany(long companyId)
064                    throws MonitoringException {
065    
066                    return _summaryStatistics.getErrorCountByCompany(companyId);
067            }
068    
069            @Override
070            public long getErrorCountByCompany(String webId)
071                    throws MonitoringException {
072    
073                    return _summaryStatistics.getErrorCountByCompany(webId);
074            }
075    
076            @Override
077            public long getMaxTime() throws MonitoringException {
078                    return _summaryStatistics.getMaxTime();
079            }
080    
081            @Override
082            public long getMaxTimeByCompany(long companyId) throws MonitoringException {
083                    return _summaryStatistics.getMaxTimeByCompany(companyId);
084            }
085    
086            @Override
087            public long getMaxTimeByCompany(String webId) throws MonitoringException {
088                    return _summaryStatistics.getMaxTimeByCompany(webId);
089            }
090    
091            @Override
092            public long getMinTime() throws MonitoringException {
093                    return _summaryStatistics.getMinTime();
094            }
095    
096            @Override
097            public long getMinTimeByCompany(long companyId) throws MonitoringException {
098                    return _summaryStatistics.getMinTimeByCompany(companyId);
099            }
100    
101            @Override
102            public long getMinTimeByCompany(String webId) throws MonitoringException {
103                    return _summaryStatistics.getMinTimeByCompany(webId);
104            }
105    
106            @Override
107            public long getRequestCount() throws MonitoringException {
108                    return _summaryStatistics.getRequestCount();
109            }
110    
111            @Override
112            public long getRequestCountByCompany(long companyId)
113                    throws MonitoringException {
114    
115                    return _summaryStatistics.getRequestCountByCompany(companyId);
116            }
117    
118            @Override
119            public long getRequestCountByCompany(String webId)
120                    throws MonitoringException {
121    
122                    return _summaryStatistics.getRequestCountByCompany(webId);
123            }
124    
125            public long getStartTime(long companyId) throws MonitoringException {
126                    return _serverStatistics.getCompanyStatistics(companyId).getStartTime();
127            }
128    
129            public long getStartTime(String webId) throws MonitoringException {
130                    return _serverStatistics.getCompanyStatistics(webId).getStartTime();
131            }
132    
133            @Override
134            public long getSuccessCount() throws MonitoringException {
135                    return _summaryStatistics.getSuccessCount();
136            }
137    
138            @Override
139            public long getSuccessCountByCompany(long companyId)
140                    throws MonitoringException {
141    
142                    return _summaryStatistics.getSuccessCountByCompany(companyId);
143            }
144    
145            @Override
146            public long getSuccessCountByCompany(String webId)
147                    throws MonitoringException {
148    
149                    return _summaryStatistics.getSuccessCountByCompany(webId);
150            }
151    
152            @Override
153            public long getTimeoutCount() throws MonitoringException {
154                    return _summaryStatistics.getTimeoutCount();
155            }
156    
157            @Override
158            public long getTimeoutCountByCompany(long companyId)
159                    throws MonitoringException {
160    
161                    return _summaryStatistics.getTimeoutCountByCompany(companyId);
162            }
163    
164            @Override
165            public long getTimeoutCountByCompany(String webId)
166                    throws MonitoringException {
167    
168                    return _summaryStatistics.getTimeoutCountByCompany(webId);
169            }
170    
171            @Override
172            public long getUptime(long companyId) throws MonitoringException {
173                    return _serverStatistics.getCompanyStatistics(companyId).getUptime();
174            }
175    
176            @Override
177            public long getUptime(String webId) throws MonitoringException {
178                    return _serverStatistics.getCompanyStatistics(webId).getUptime();
179            }
180    
181            @Override
182            public String[] getWebIds() {
183                    Set<String> webIds = _serverStatistics.getWebIds();
184    
185                    return webIds.toArray(new String[webIds.size()]);
186            }
187    
188            @Override
189            public void reset() {
190                    _serverStatistics.reset();
191            }
192    
193            @Override
194            public void reset(long companyId) {
195                    _serverStatistics.reset(companyId);
196            }
197    
198            @Override
199            public void reset(String webId) {
200                    _serverStatistics.reset(webId);
201            }
202    
203            public void setServerStatistics(ServerStatistics serverStatistics) {
204                    _serverStatistics = serverStatistics;
205            }
206    
207            public void setSummaryStatistics(SummaryStatistics summaryStatistics) {
208                    _summaryStatistics = summaryStatistics;
209            }
210    
211            private ServerStatistics _serverStatistics;
212            private SummaryStatistics _summaryStatistics;
213    
214    }