/**
* Sun One AppServer SE/EE can override to specify their product version
*/
protected String getProductId() {
Branding branding = null;
// I have to use Globals rather than injection because the formatter lifecyle
// is managed by the JDK and therefore this instance can be "in-use" long
// before the habitat is ready. We still need to function, even in a degraded
// mode.
if (Globals.getDefaultHabitat() != null) {
branding = Globals.getDefaultHabitat().getByContract(Branding.class);
}
if (branding == null) {
return null;
}
String version = branding.getAbbreviatedVersion() + branding.getVersionPrefix() + branding.getMajorVersion() + "." + branding.getMinorVersion() + "." + branding.getUpdateVersion();
return (version);
}