![JAR search and dependency download from the Maven repository](/logo.png)
com.eclipsesource.tabris.tracking.internal.piwik.Piwik Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tabris-tracking Show documentation
Show all versions of tabris-tracking Show documentation
Piwik and Google Analytics Tracking for Tabris Apps.
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.internal.piwik;
import static com.eclipsesource.tabris.internal.Clauses.when;
import static com.eclipsesource.tabris.internal.Clauses.whenNull;
import java.util.Map;
import com.eclipsesource.tabris.tracking.internal.analytics.request.HttpRequest;
import com.eclipsesource.tabris.tracking.internal.piwik.model.AdvancedConfiguration;
import com.eclipsesource.tabris.tracking.internal.piwik.model.PiwikConfiguration;
import com.eclipsesource.tabris.tracking.internal.piwik.model.VisitorInformation;
import com.eclipsesource.tabris.tracking.internal.piwik.model.action.Action;
import com.eclipsesource.tabris.tracking.internal.piwik.request.PiwikRequest;
@SuppressWarnings("restriction")
public class Piwik {
private final String piwikUrl;
private final PiwikConfiguration configuration;
public Piwik( String piwikUrl, PiwikConfiguration configuration ) {
whenNull( piwikUrl ).throwIllegalArgument( "PiwikUrl must not be null." );
when( piwikUrl.isEmpty() ).throwIllegalArgument( "PiwikUrl must not be empty." );
whenNull( configuration ).throwIllegalArgument( "Configuration must not be null." );
this.configuration = configuration;
this.piwikUrl = piwikUrl;
}
public void track( Action action,
VisitorInformation visitorInformation,
AdvancedConfiguration advancedConfiguration )
{
PiwikRequest request = new PiwikRequest( configuration, action, visitorInformation, advancedConfiguration );
Map parameter = request.assemble();
verifyResponse( HttpRequest.get( piwikUrl, parameter, true ) );
}
private void verifyResponse( HttpRequest httpRequest ) {
if( httpRequest.code() != 200 ) {
throw new IllegalStateException( "Piwik GET request failed, HTTP status code: "
+ httpRequest.code()
+ "\n"
+ httpRequest.message() );
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy