This topic describes how to generate a Java client using JAX-WS, and provides code samples for using the generated client.
The following code snippet is an example of how to use the JAX-WS generated Java client.
import java.util.Calendar;
import java.util.GregorianCalendar;
import com.bea.analytics.analyticsqueryservice.*;
. . .
AnalyticsQueryService service = new AnalyticsQueryService();
AnalyticsQueryServicePortType port = service.getAnalyticsQueryServicePort();
. . .
//show the top 10 pages by page view, grouped by day, since 1/1/05, ignoring a page
//set the event type to be queried
QueryParameters param = new QueryParameters();
param.setEventName("{http://www.bea.com/analytics/ali}pageViews");
//define what information to return, in this case page view count and page id
View view = new View();
view.setProperty("*");
view.setAggregate(1); // aggregate count
param.getViews().add(view);
View idView = new View();
idView.setDimension("page");
idView.setProperty("id");
param.getViews().add(idView);
//filter the results
//in this case ignore a specific page
Filter filter = new Filter();
filter.setDimension("page");
filter.setProperty("id");
filter.setOperator(2); // operator not equals
filter.getValues().add(new Integer(518));
param.getFilters().add(filter);
//in this case ignore pageviews before a certain date
Filter timefilter = new Filter();
timefilter.setDimension("time");
timefilter.setOperator(3); // operator greater than
Calendar date = new GregorianCalendar();
date.set(2005, 1, 1);
timefilter.getValues().add(date.getTime());
param.getFilters().add(timefilter);
//only show the top 10 pages
Filter rankingFilter = new Filter();
rankingFilter.setDimension("page");
rankingFilter.setRanking(1); // ranking top
rankingFilter.setRankingCount(10);
param.getFilters().add(rankingFilter);
//now, group the results
GroupBy group = new GroupBy();
group.setDimension("page");
group.setProperty("name");
//note: unique "page name" = name + id
param.getGroups().add(group);
//note: auto adds name to view
GroupBy group1 = new GroupBy();
group1.setDimension("time");
group1.setTimeGrouping(3); // group by day
param.getGroups().add(group1);
QueryResults result = port.executeResultSetQuery(param);
printOutput(result);