/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.portal.livetrace;
import java.io.IOException;
import java.util.List;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.springframework.stereotype.Component;
import com.enonic.cms.core.portal.livetrace.systeminfo.SystemInfo;
@Component
public class LivePortalTraceJsonGenerator
{
private ObjectMapper jacksonObjectMapper;
public LivePortalTraceJsonGenerator()
{
jacksonObjectMapper = new ObjectMapper().configure( SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false );
}
public String generate( final PortalRequestTrace trace )
{
try
{
return jacksonObjectMapper.writeValueAsString( trace );
}
catch ( IOException e )
{
throw new RuntimeException( "Failed to transform objects to JSON: " + e.getMessage(), e );
}
}
public String generate( final List<PortalRequestTraceRow> rows )
{
try
{
return jacksonObjectMapper.writeValueAsString( rows );
}
catch ( IOException e )
{
throw new RuntimeException( "Failed to transform objects to JSON: " + e.getMessage(), e );
}
}
public String generate( final SystemInfo systemInfoObject )
{
try
{
return jacksonObjectMapper.writeValueAsString( systemInfoObject );
}
catch ( IOException e )
{
throw new RuntimeException( "Failed to transform objects to JSON: " + e.getMessage(), e );
}
}
}