/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.livetrace; import java.util.ArrayList; import java.util.List; import com.google.common.base.Preconditions; public class PortalRequestTraceRow { private PortalRequestTrace portalRequestTrace; private long completedNumber; private String type; private String url; private String started; private Duration duration; public PortalRequestTraceRow( final PortalRequestTrace portalRequestTrace ) { Preconditions.checkNotNull( portalRequestTrace ); this.portalRequestTrace = portalRequestTrace; this.completedNumber = portalRequestTrace.getCompletedNumber(); this.type = portalRequestTrace.getType(); this.url = resolveURL( portalRequestTrace ); this.started = portalRequestTrace.getDuration().getStartTime().toString(); this.duration = portalRequestTrace.getDuration(); } @SuppressWarnings("UnusedDeclaration") public long getCompletedNumber() { return completedNumber; } public String getType() { return type; } public String getUrl() { return url; } @SuppressWarnings("UnusedDeclaration") public String getStarted() { return started; } @SuppressWarnings("UnusedDeclaration") public Duration getDuration() { return duration; } @SuppressWarnings("UnusedDeclaration") public PortalRequestTrace getPortalRequestTrace() { return portalRequestTrace; } private String resolveURL( final PortalRequestTrace portalRequestTrace ) { final StringBuilder s = new StringBuilder(); s.append( portalRequestTrace.getSiteName() != null ? portalRequestTrace.getSiteName() : "?" ); s.append( portalRequestTrace.getSiteLocalUrl() != null ? portalRequestTrace.getSiteLocalUrl() : "?" ); return s.toString(); } public static List<PortalRequestTraceRow> createRows( final List<PortalRequestTrace> portalRequestTraces ) { final List<PortalRequestTraceRow> rows = new ArrayList<PortalRequestTraceRow>(); for ( PortalRequestTrace trace : portalRequestTraces ) { rows.add( new PortalRequestTraceRow( trace ) ); } return rows; } }