public String getHomeTabUrl(String locale) throws EtccException {

    CacheAdmin admin = CacheAdmin.getInstance();
    String key = AppEnum.HOME_TAB_URL.getValue() + locale.toUpperCase();
    String url = (String) admin.getFromCache(key);
    try {

      if (url == null) {

        url = app.getHomeTabUrl(locale);
        admin.putInCache(key, url);
      }
      return url;
    } catch (Throwable t) {
      admin.cancelUpdate(key);
      logger.error(t);
      throw new EtccException("Error running getHomeTabUrl: " + t, t);
    }
  }