major release date in AppInfo

This commit is contained in:
Dmitry Jemerov
2010-10-21 18:29:03 +04:00
parent ad44963e80
commit 09db7c6759
2 changed files with 32 additions and 15 deletions
@@ -27,6 +27,7 @@ package com.intellij.openapi.application.ex;
import com.intellij.openapi.application.ApplicationInfo;
import java.awt.*;
import java.util.Calendar;
import java.util.List;
public abstract class ApplicationInfoEx extends ApplicationInfo {
@@ -35,6 +36,8 @@ public abstract class ApplicationInfoEx extends ApplicationInfo {
return (ApplicationInfoEx) getInstance();
}
public abstract Calendar getMajorReleaseBuildDate();
public abstract String getLogoUrl();
public abstract Color getLogoTextColor();
@@ -51,6 +51,7 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern
@NonNls private String myOpaqueIconUrl = "/icon.png";
@NonNls private String myToolWindowIconUrl = "/general/toolWindowProject.png";
private Calendar myBuildDate = null;
private Calendar myMajorReleaseBuildDate = null;
private String myPackageCode = null;
private boolean myShowLicensee = true;
private String myWelcomeScreenCaptionUrl;
@@ -81,6 +82,7 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern
@NonNls private static final String ELEMENT_BUILD = "build";
@NonNls private static final String ATTRIBUTE_NUMBER = "number";
@NonNls private static final String ATTRIBUTE_DATE = "date";
@NonNls private static final String ATTRIBUTE_MAJOR_RELEASE_DATE = "majorReleaseDate";
@NonNls private static final String ELEMENT_LOGO = "logo";
@NonNls private static final String ATTRIBUTE_URL = "url";
@NonNls private static final String ATTRIBUTE_TEXTCOLOR = "textcolor";
@@ -128,6 +130,10 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern
return myBuildDate;
}
public Calendar getMajorReleaseBuildDate() {
return myMajorReleaseBuildDate != null ? myMajorReleaseBuildDate : myBuildDate;
}
@Override
public BuildNumber getBuild() {
return BuildNumber.fromString(myBuildNumber);
@@ -314,21 +320,11 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern
myBuildDate = new GregorianCalendar();
}
else {
int year = 0;
int month = 0;
int day = 0;
try {
year = Integer.parseInt(dateString.substring(0, 4));
month = Integer.parseInt(dateString.substring(4, 6));
day = Integer.parseInt(dateString.substring(6, 8));
}
catch (Exception ex) {
//ignore
}
if (month > 0) {
month--;
}
myBuildDate = new GregorianCalendar(year, month, day);
myBuildDate = parseDate(dateString);
}
String majorReleaseDateString = buildElement.getAttributeValue(ATTRIBUTE_MAJOR_RELEASE_DATE);
if (majorReleaseDateString != null) {
myMajorReleaseBuildDate = parseDate(majorReleaseDateString);
}
}
@@ -446,6 +442,24 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern
}
}
private static GregorianCalendar parseDate(String dateString) {
int year = 0;
int month = 0;
int day = 0;
try {
year = Integer.parseInt(dateString.substring(0, 4));
month = Integer.parseInt(dateString.substring(4, 6));
day = Integer.parseInt(dateString.substring(6, 8));
}
catch (Exception ex) {
//ignore
}
if (month > 0) {
month--;
}
return new GregorianCalendar(year, month, day);
}
public List<PluginChooserPage> getPluginChooserPages() {
return myPluginChooserPages;
}