package org.cloudifysource.utilitydomain.openspaces;
import org.cloudifysource.dsl.internal.CloudDependentConfigHolder;
import org.openspaces.maven.support.OutputVersion;
import com.j_spaces.kernel.PlatformVersion;
/**
*
* @author adaml
*
*/
public class OpenspacesDomainUtils {
public static CloudDependentConfigHolder getCloudDependentConfig() {
final CloudDependentConfigHolder dependentConfig = new CloudDependentConfigHolder();
final String cloudifyUrlAccordingToPlatformVersion = createCloudifyUrlAccordingToPlatformVersion();
dependentConfig.setDownloadUrl(cloudifyUrlAccordingToPlatformVersion);
dependentConfig.setDefaultLusPort(OpenspacesConstants.DEFAULT_LUS_PORT);
return dependentConfig;
}
private static String createCloudifyUrlAccordingToPlatformVersion() {
String cloudifyUrlPattern;
String productUri;
String editionUrlVariable;
if (PlatformVersion.getEdition().equalsIgnoreCase(PlatformVersion.EDITION_CLOUDIFY)) {
productUri = "org/cloudifysource";
editionUrlVariable = "cloudify";
cloudifyUrlPattern = "http://repository.cloudifysource.org/"
+ "%s/" + OutputVersion.computeCloudifyVersion() + "/gigaspaces-%s-"
+ PlatformVersion.getVersion() + "-" + PlatformVersion.getMilestone()
+ "-b" + PlatformVersion.getBuildNumber();
return String.format(cloudifyUrlPattern, productUri, editionUrlVariable);
} else {
productUri = "com/gigaspaces/xap";
editionUrlVariable = "xap-premium";
cloudifyUrlPattern = "http://repository.cloudifysource.org/"
+ "%s/" + OutputVersion.computeXapVersion() + "/gigaspaces-%s-"
+ PlatformVersion.getVersion() + "-" + PlatformVersion.getMilestone()
+ "-b" + PlatformVersion.getBuildNumber();
return String.format(cloudifyUrlPattern, productUri, editionUrlVariable);
}
}
}