/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.livetrace; import java.util.LinkedHashMap; import java.util.Map; public class RelatedContentFetchTrace extends BaseTrace implements Trace { private Map<Integer, Fetch> childrenFetches = new LinkedHashMap<Integer, Fetch>(); private Map<Integer, Fetch> parentFetches = new LinkedHashMap<Integer, Fetch>(); private Integer maxChildrenLevel; private Integer maxParentLevel; public void setMaxParentLevel( final Integer maxParentLevel ) { this.maxParentLevel = maxParentLevel; } public void setMaxChildrenLevel( final Integer maxChildrenLevel ) { this.maxChildrenLevel = maxChildrenLevel; } public void setParentFetch( final int level, final int count ) { parentFetches.put( level, new Fetch( count ) ); } public void setChildrenFetch( final int level, final int count ) { childrenFetches.put( level, new Fetch( count ) ); } public Integer getMaxChildrenLevel() { return maxChildrenLevel; } public Integer getMaxParentLevel() { return maxParentLevel; } public String getChildrenFetches() { StringBuilder s = new StringBuilder(); int count = 0; for ( Fetch fetch : childrenFetches.values() ) { count++; s.append( fetch.getCount() ); if ( count < childrenFetches.size() ) { s.append( " -> " ); } } return s.toString(); } public String getParentFetches() { StringBuilder s = new StringBuilder(); int count = 0; for ( Fetch fetch : parentFetches.values() ) { count++; s.append( fetch.getCount() ); if ( count < parentFetches.size() ) { s.append( " -> " ); } } return s.toString(); } public class Fetch { private int count; public Fetch( final int count ) { this.count = count; } public int getCount() { return count; } } }