All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.eclipsesource.tabris.tracking.tracker.ConsoleTracker Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2014 EclipseSource and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    EclipseSource - initial API and implementation
 ******************************************************************************/
package com.eclipsesource.tabris.tracking.tracker;

import com.eclipsesource.tabris.tracking.Order;
import com.eclipsesource.tabris.tracking.Tracker;
import com.eclipsesource.tabris.tracking.TrackingEvent;
import com.eclipsesource.tabris.tracking.TrackingEvent.EventType;
import com.eclipsesource.tabris.tracking.TrackingInfo;


/**
 * 

* The {@link ConsoleTracker} is a simple example implementation of a {@link Tracker}. It prints every event tracked * to the console. You may use the {@link ConsoleTracker} as a template to implement your own {@link Tracker}. *

* @since 1.4 */ public class ConsoleTracker implements Tracker { @Override public void handleEvent( TrackingEvent event ) { System.out.println( getEventString( event ) ); } private String getEventString( TrackingEvent event ) { StringBuilder builder = new StringBuilder(); appendEventPrefix( builder, event ); appendEventDetail( builder, event ); appendEventInfo( builder, event ); return builder.toString(); } private void appendEventPrefix( StringBuilder builder, TrackingEvent event ) { builder.append( event.getType() + " - " ); } private void appendEventDetail( StringBuilder builder, TrackingEvent event ) { if( event.getType() == EventType.PAGE_VIEW ) { appendPageView( builder, event ); } else if( event.getType() == EventType.ACTION ) { appendAction( builder, event ); } else if( event.getType() == EventType.SEARCH ) { appendSearch( builder, event ); } else if( event.getType() == EventType.ORDER ) { appendOrder( builder, event ); } else if( event.getType() == EventType.EVENT ) { appendEvent( builder, event ); } } private void appendPageView( StringBuilder builder, TrackingEvent event ) { builder.append( ( String )event.getDetail() ); } private void appendAction( StringBuilder builder, TrackingEvent event ) { builder.append( ( String )event.getDetail() ); } private void appendSearch( StringBuilder builder, TrackingEvent event ) { builder.append( "query=" ); builder.append( event.getInfo().getSearchQuery() ); } private void appendOrder( StringBuilder builder, TrackingEvent event ) { Order info = ( Order )event.getDetail(); builder.append( info.getOrderId() ); builder.append( " (" ); builder.append( info.getTotal() + ", " + info.getShipping() + ", " + info.getTax() ); builder.append( ")" ); } private void appendEvent( StringBuilder builder, TrackingEvent event ) { builder.append( ( String )event.getDetail() ); } private void appendEventInfo( StringBuilder builder, TrackingEvent event ) { TrackingInfo info = event.getInfo(); builder.append( " [" ); builder.append( info.getAppId() + ", " ); builder.append( info.getDeviceModel() + ", " ); builder.append( info.getDeviceVendor() + ", " ); builder.append( info.getDeviceOsVersion() ); builder.append( "]" ); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy