Skip to content

Instantly share code, notes, and snippets.

@niks551
Created February 12, 2013 18:40
Show Gist options
  • Save niks551/4772142 to your computer and use it in GitHub Desktop.
Save niks551/4772142 to your computer and use it in GitHub Desktop.
@RequestMapping("/productanalyticsoverview")
public String newproductanalyticsoverview(Map<String, Object> model, RedirectAttributes ra)
throws InterruptedException, ExecutionException {
MerchantManager mm1 = MerchantManagerImpl.getInstance();
List<Merchant> merchantlist = mm1.getAll(false);
final List<ListenableFuture<AdminSiteActivityNumbers>> adminsiteactivityFutures = Lists
.newArrayListWithExpectedSize(merchantlist.size());
Iterator<Merchant> i = merchantlist.iterator();
int temp = 0;
while (i.hasNext())
{
final String mkey;
final Merchant m = i.next();
if (temp > 10)
{
break;
}
temp++;
mkey = m.getKey();
ListenableFuture<SiteActivity> saFuture = populateMetricsManager.getSiteMetricsForMerchant(mkey,
new DateRange(RangeTag.LAST_30));
adminsiteactivityFutures.add(Futures.transform(saFuture,
new Function<SiteActivity, AdminSiteActivityNumbers>() {
public AdminSiteActivityNumbers apply(SiteActivity sa) {
String mname;
long acamp;
long tcamp;
String status;
Date lastModifieddate = new Date(0);
//MerchantManager mm = MerchantManagerImpl.getInstance();
//Merchant tempm = mm.get(mkey);
mname = m.getName();
acamp = Iterables.size(m.getActiveCampaigns());
tcamp = m.getAllCampaigns().size();
if (m.getConfiguration().isActive())
{
status = "Active";
}
else
{
status = "In Active";
}
for (Map.Entry<String, Campaign> entry : m.getCampaigns().entrySet())
{
System.out.println(entry.getValue().getLastModificationDate());
if (entry.getValue().getLastModificationDate().compareTo(lastModifieddate) > 0)
{
lastModifieddate = entry.getValue().getLastModificationDate();
}
}
AdminSiteActivityNumbers asan = new AdminSiteActivityNumbers(sa, mkey, mname, acamp, tcamp,
status, lastModifieddate);
return asan;
}
}));
}
ListenableFuture<List<AdminSiteActivityNumbers>> alladminsiteactivities = Futures
.allAsList(adminsiteactivityFutures);
model.put("siteactivityalobj", alladminsiteactivities.get());
return "productanalyticsoverview";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment