@Override
  public String getDeployedURL(
      String tenantDomain, String applicationID, String applicationVersion, String stage)
      throws AppFactoryException {
    String url = (String) this.properties.getProperty(LAUNCH_URL_PATTERN);

    String artifactTrunkVersionName =
        AppFactoryUtil.getAppfactoryConfiguration()
            .getFirstProperty(AppFactoryConstants.TRUNK_WEBAPP_ARTIFACT_VERSION_NAME);
    String sourceTrunkVersionName =
        AppFactoryUtil.getAppfactoryConfiguration()
            .getFirstProperty(AppFactoryConstants.TRUNK_WEBAPP_SOURCE_VERSION_NAME);
    if (applicationVersion.equalsIgnoreCase(sourceTrunkVersionName)) {
      applicationVersion = artifactTrunkVersionName;
    }

    String stratosAppId =
        CommonUtil.getStratosApplicationId(applicationID, applicationVersion, stage, appType);
    url =
        url.replace(PARAM_TENANT_DOMAIN, tenantDomain)
            .replace(PARAM_APP_ID, applicationID)
            .replace(PARAM_APP_VERSION, applicationVersion)
            .replace(PARAM_STRATOS_APP_ID, stratosAppId);
    return url;
  }
  private static String changeFileName(String name, String changedVersion)
      throws AppFactoryException {

    String applicationName = name;
    String artifactVersionXPath =
        "-" + AppFactoryUtil.getAppfactoryConfiguration().getFirstProperty(ARTIFACT_VERSION_XPATH);
    if (name.lastIndexOf(artifactVersionXPath) != -1) {
      applicationName = name.substring(0, name.lastIndexOf(artifactVersionXPath));
    } else if (name.lastIndexOf("-") != -1) {
      applicationName = name.substring(0, name.lastIndexOf("-"));
    }
    return applicationName + "-" + changedVersion;
  }