props.add(new Property(Package.FIELD_PACKAGE, "EXTRAS"));
props.add(new Property(Package.FIELD_LABEL, "Extras"));
props.add(new Property(Package.FIELD_ATTRIBUTE, "root"));
+ props.add(new Property(Package.FIELD_PACKAGE_SIZE, "0"));
props.add(new Property(Package.FIELD_UNCOMPRESSED_SIZE, "0"));
Package extraPackage = new Package(props);
throw new IMFatalException(ErrorCode.WRONG_PACKAGE_URL);
}
}
+
+ public void setProperties(List<Property> properties) {
+ mProperties = properties;
+ }
/**
- * @return version of this package
+ * @return version of this package. If package does not have version, set version to 0.0.0
*/
public Version getVersion() {
- try {
- return new Version(getValue(FIELD_VERSION));
- } catch (IMFatalException e) {
- Log.log("Invalid version package. => " + this.getPackageName());
- throw e;
+ String version = getValue(FIELD_VERSION);
+ if (version == null || version.isEmpty()) {
+ List<Property> props = this.getProperties();
+ for (Property p : props) {
+ if (p.getName().equalsIgnoreCase(Package.FIELD_VERSION)) {
+ p.setValue("0.0.0");
+ }
+ }
}
+ return new Version(getValue(FIELD_VERSION));
}
/**
* @param version string representation of version
*/
public Version(String version) {
- checkValidVersion(version);
- dividedVersion = version.split("\\.");
- }
-
- public static void checkValidVersion(String version) {
- if (version == null || version.isEmpty()) {
- Log.err("Package version not found. ==> ");
- throw new IMFatalException(ErrorCode.CANNOT_FIND_PACKAGE_VERSION);
- } else if (version.endsWith(".")){
- Log.err("Invalid package version : " + version);
- throw new IMFatalException(ErrorCode.INVALID_PACKAGE_VERSION);
+ if (version.endsWith(".")){
+ Log.err("Invalid package version format : " + version);
}
+
+ dividedVersion = version.split("\\.");
}
public static Version create(String aVersion) {
import org.tizen.installmanager.pkg.lib.PackageManager;
import org.tizen.installmanager.pkg.model.ConfigFile;
import org.tizen.installmanager.pkg.model.PackageSet;
+import org.tizen.installmanager.pkg.model.Property;
import org.tizen.installmanager.ui.dialog.AddExtraRepositoryDialog;
import org.tizen.installmanager.ui.dialog.IndeterminateProgressDialog;
import org.tizen.installmanager.ui.dialog.MessageBoxDlg;
import org.tizen.installmanager.ui.page.InstallingPage.InstallProgressMonitor;
import org.tizen.installmanager.ui.page.WelcomePage.RADIO_ACTION;
import org.tizen.installmanager.util.PathUtil;
+import org.tizen.installmanager.pkg.model.Package;
/**
addExtraButton.setVisible(false);
btnSettings.setVisible(false);
if (compositeWelcomePage.getSelectedRadioButton() == RADIO_ACTION.INSTALL) {
+ if (!checkVaildPkgVersion()) {
+ btnSettings.setVisible(true);
+ return;
+ }
btnNext.setEnabled(compositeLicensePage.getAcceptButton().getSelection());
if (Config.isSupportMultiSDK()) {
showComposite(compositeLicensePage);
}
/**
+ * Installed packages do not have package version, installmanager will show warning dialog.
+ * @return
+ */
+ private boolean checkVaildPkgVersion() {
+ PackageSet installedPkgs = controller.getInstalledPackages();
+ if (!installedPkgs.isEmpty()) {
+ for (Package pkg : installedPkgs) {
+ String vs = pkg.getVersion().toString();
+ if (vs != "" && vs.equals("0.0.0")) {
+ Log.err("Package version not found. ==> " + pkg.getPackageName());
+ int confirm = MessageBoxDlg.showDlg(getShell(),
+ "WARNING",
+ "'" + pkg.getPackageName() + "'" + " package version is not found.\n" +
+ "If you keep installing Tizen SDK, some unexpected may occur.\n" +
+ "Do you want to continue?",
+ DialogType.WARNING, false);
+ if (confirm == MessageBoxDlg.YES) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ /**
* Get install manager window object.
* @return install manager window object.
*/
*/
public void getTerminalPackages(List<String> installList, boolean checked) {
if (getCheckState() == CheckState.CHECKED) {
- installList.add(getPackageName());
+ if (!getPackageName().equalsIgnoreCase("EXTRAS")) {
+ installList.add(getPackageName());
+ }
} else if (getCheckState() == CheckState.GRAYED) {
for (Item childItem : getChildren()) {
childItem.getTerminalPackages(installList, checked);
return packageManager.getInstalledPackageByName(pkgName);
}
+ public PackageSet getInstalledPackages() {
+ return packageManager.getInstalledPackages();
+ }
+
/**
* Get items of tree
* @return