Package org.yaac.server.service

Source Code of org.yaac.server.service.OverviewServiceImpl

package org.yaac.server.service;

import java.util.List;

import org.yaac.client.service.OverviewService;
import org.yaac.shared.cap.CapSummaryDTO;
import org.yaac.shared.cap.CapSummaryDTO.Status;

import com.google.appengine.api.capabilities.CapabilitiesService;
import com.google.appengine.api.capabilities.CapabilitiesServiceFactory;
import com.google.appengine.api.capabilities.Capability;
import com.google.appengine.api.capabilities.CapabilityStatus;
import com.google.common.collect.ImmutableList;

/**
* @author Max Zhu (thebbsky@gmail.com)
*
*/
public class OverviewServiceImpl implements OverviewService {

  private static final List<Capability> caps = ImmutableList.<Capability>builder(
      ).add(Capability.BLOBSTORE)
      .add(Capability.DATASTORE)
      .add(Capability.DATASTORE_WRITE)
      .add(Capability.IMAGES)
      .add(Capability.MAIL)
      .add(Capability.MEMCACHE)
      .add(Capability.TASKQUEUE)
      .add(Capability.URL_FETCH)
      .add(Capability.XMPP)
      .build();
 
  @Override
  public CapSummaryDTO loadCapSummary() {
    CapabilitiesService service = CapabilitiesServiceFactory.getCapabilitiesService();
   
    CapSummaryDTO result = new CapSummaryDTO();
    for (Capability cap : caps) {
      CapabilityStatus status = service.getStatus(cap).getStatus();
     
      switch(status) {
      case ENABLED:
        result.setStatus(cap.getPackageName(), cap.getName(), Status.ENABLED);
        break;
      case SCHEDULED_MAINTENANCE:
        result.setStatus(cap.getPackageName(), cap.getName(), Status.SCHEDULED_MAINTENANCE);
        break;
      case DISABLED:
        result.setStatus(cap.getPackageName(), cap.getName(), Status.DISABLED);
        break;
      case UNKNOWN:
        result.setStatus(cap.getPackageName(), cap.getName(), Status.UNKNOWN);
        break;
      }
    }

    return result;
  }
}
TOP

Related Classes of org.yaac.server.service.OverviewServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.