[prev in list] [next in list] [prev in thread] [next in thread]
List: opensuse-commit
Subject: commit OpenOffice_org-components for openSUSE:Factory
From: root () Hilbert ! suse ! de (h_root)
Date: 2009-03-30 16:15:59
Message-ID: 20090330161559.AF53D678161 () Hilbert ! suse ! de
[Download RAW message or body]
Hello community,
here is the log from the commit of package OpenOffice_org-components for \
openSUSE:Factory checked in at Mon Mar 30 18:15:59 CEST 2009.
--------
--- OpenOffice_org-components/OpenOffice_org-components.changes 2009-03-20 \
16:10:33.000000000 +0100
+++ OpenOffice_org-components/OpenOffice_org-components.changes 2009-03-27 \
21:17:44.000000000 +0100 @@ -1,0 +2,6 @@
+Fri Mar 27 21:17:08 CET 2009 - pmladek@suse.cz
+
+- updated to the milestone ooo310-m7
+- updated ooo-build to version 3.0.99.3 (3.1-beta3)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
ooo310-m6-components.tar.bz2
New:
----
ooo310-m7-components.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ OpenOffice_org-components.spec ++++++
--- /var/tmp/diff_new_pack.K30663/_old 2009-03-30 18:15:30.000000000 +0200
+++ /var/tmp/diff_new_pack.K30663/_new 2009-03-30 18:15:30.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package OpenOffice_org-components (Version 3.0.99.2)
+# spec file for package OpenOffice_org-components (Version 3.0.99.3)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,9 +19,9 @@
Name: OpenOffice_org-components
-Version: 3.0.99.2
+Version: 3.0.99.3
Release: 1
-%define ooo_build_version 3.0.99.2
+%define ooo_build_version 3.0.99.3
%define piece components
#!BuildIgnore: OpenOffice_org
BuildRequires: OpenOffice_org-artwork-devel = %version
@@ -47,7 +47,7 @@
%endif
%define ooo_prefix %_libdir
%define ooo_home ooo3
-%define ooo_build_tag ooo310-m6
+%define ooo_build_tag ooo310-m7
License: Artistic License; BSD 3-Clause; GPL v2 or later; LaTeX Public \
License (LPPL); LGPL v2.1 or later; LGPL v3 only; MOZILLA PUBLIC LICENSE (MPL/NPL); \
X11/MIT Group: Productivity/Office/Suite
AutoReqProv: on
@@ -203,6 +203,9 @@
%ooo_prefix/%ooo_home/solver/noarch
%changelog
+* Fri Mar 27 2009 pmladek@suse.cz
+- updated to the milestone ooo310-m7
+- updated ooo-build to version 3.0.99.3 (3.1-beta3)
* Fri Mar 20 2009 pmladek@suse.cz
- updated to the milestone ooo310-m6
- updated ooo-build to version 3.0.99.2 (3.1-beta2)
++++++ ooo310-m6-components.tar.bz2 -> ooo310-m7-components.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/InstallationOngoingCtrl.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/InstallationOngoingCtrl.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/InstallationOngoingCtrl.java 2008-07-22 \
14:02:28.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/InstallationOngoingCtrl.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -84,6 +84,14 @@
Vector sortedPackages = new Vector();
PackageCollector.sortPackages(installPackages, sortedPackages, "install");
installData.setInstallPackages(sortedPackages);
+
+ if ( installData.isMajorUpgrade() ) {
+ // PackageCollector.findOldPackages(installData);
+ // Sorting for correct order of uninstallation
+ Vector sortedUninstallPackages = new Vector();
+ PackageCollector.sortPackages(installData.getOldPackages(), \
sortedUninstallPackages, "uninstall"); + \
installData.setOldPackages(sortedUninstallPackages); + }
Installer installer = InstallerFactory.getInstance();
installer.preInstallationOngoing();
@@ -96,6 +104,7 @@
InstallData installData = InstallData.getInstance();
InstallationOngoing panel = (InstallationOngoing)getPanel();
Vector installPackages = installData.getInstallPackages();
+ Vector removePackages = installData.getOldPackages();
private Vector installedPackages = new Vector();
public void run() {
@@ -110,6 +119,18 @@
panel.setProgressValue(progress);
panel.setProgressText(packageData.getPackageName());
+ // Creating an upgrade process for Solaris packages
+ if ( installData.getOSType().equalsIgnoreCase("SunOS") ) {
+ if ( installer.isPackageInstalled(packageData, installData) \
) { + if ( installer.isInstalledPackageOlder(packageData, \
installData) ) { + \
packageData.setIgnoreDependsForUninstall(true); + \
installer.uninstallPackage(packageData); + } else {
+ continue; // no downgrading
+ }
+ }
+ }
+
installer.installPackage(packageData);
installedPackages.add(packageData);
@@ -118,6 +139,13 @@
}
}
+ if ( installData.isMajorUpgrade() ) {
+ for (int i = 0; i < removePackages.size(); i++) {
+ PackageDescription packageData = (PackageDescription) \
removePackages.get(i); + \
installer.uninstallPackage(packageData); + }
+ }
+
if ( installData.isAbortedInstallation() ) {
// undoing the installation
LogManager.setCommandsHeaderLine("Installation aborted!");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/UninstallationPrologueCtrl.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/UninstallationPrologueCtrl.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/UninstallationPrologueCtrl.java 2008-09-26 \
16:44:20.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/UninstallationPrologueCtrl.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -95,7 +95,9 @@
// adding information to installData
data.setPackagePath((String)map.get("PackagePath"));
data.setAdminFileNameReloc((String)map.get("AdminFileReloc"));
+ data.setAdminFileNameRelocNoDepends((String)map.get("AdminFileRelocNoDepends"));
data.setAdminFileNameNoReloc((String)map.get("AdminFileNoReloc"));
+ data.setAdminFileNameNoRelocNoDepends((String)map.get("AdminFileNoRelocNoDepends"));
data.setDatabasePath((String)map.get("DatabasePath"));
data.setInstallDir((String)map.get("InstallationDir"));
data.setStoredInstallationPrivileges((String)map.get("InstallationPrivileges")); \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java 2009-02-17 \
14:05:11.000000000 +0100
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -71,11 +71,13 @@
static private boolean olderVersionExists = false;
static private boolean sameVersionExists = false;
static private boolean newerVersionExists = false;
+ static private boolean majorUpgrade = false;
static private boolean isMultiLingual = false;
static private boolean dontUpdate = false;
static private boolean hideEula = false;
static private boolean databaseQueried = false;
static private boolean useRtl = false;
+ static private boolean installedProductMinorSet = false;
static private String installType; /* custom or typical installation \
*/
static private String osType; /* Linux, SunOS, ... \
*/ static private String installDir = null;
@@ -87,7 +89,9 @@
static private String packagePath = null;
static private String packageSubdir = "packages";
static private String adminFileNameReloc = null;
+ static private String adminFileNameRelocNoDepends = null;
static private String adminFileNameNoReloc = null;
+ static private String adminFileNameNoRelocNoDepends = null;
static private String databasePath = null;
static private String getUidPath = null;
static private String installationPrivileges = null;
@@ -97,6 +101,8 @@
static private String uninstallDirName = "uninstalldata";
static private int availableDiscSpace = 0;
static private int preselectedLanguages = 0;
+ static private int productMinor = 0;
+ static private int installedProductMinor = 0;
static private File jarFilePath = null;
static private File resourceRoot;
static private File infoRoot;
@@ -105,6 +111,7 @@
static private PackageDescription updatePackage = null;
static private Vector removeFiles = new Vector(); /* Files to remove, if \
installation is aborted */ static private Vector installPackages = new Vector();
+ static private Vector oldPackages = new Vector();
static private Vector systemLanguages = new Vector();
public static InstallData getInstance()
@@ -290,6 +297,22 @@
productDir = dir;
}
+ public int getProductMinor() {
+ return productMinor;
+ }
+
+ public void setProductMinor(int minor) {
+ productMinor = minor;
+ }
+
+ public int getInstalledProductMinor() {
+ return installedProductMinor;
+ }
+
+ public void setInstalledProductMinor(int minor) {
+ installedProductMinor = minor;
+ }
+
public String getInstallDirName() {
return installDirName;
}
@@ -389,6 +412,14 @@
adminFileNameReloc = fileName;
}
+ public String getAdminFileNameRelocNoDepends() {
+ return adminFileNameRelocNoDepends;
+ }
+
+ public void setAdminFileNameRelocNoDepends(String fileName) {
+ adminFileNameRelocNoDepends = fileName;
+ }
+
public String getAdminFileNameNoReloc() {
return adminFileNameNoReloc;
}
@@ -396,6 +427,14 @@
public void setAdminFileNameNoReloc(String fileName) {
adminFileNameNoReloc = fileName;
}
+
+ public String getAdminFileNameNoRelocNoDepends() {
+ return adminFileNameNoRelocNoDepends;
+ }
+
+ public void setAdminFileNameNoRelocNoDepends(String fileName) {
+ adminFileNameNoRelocNoDepends = fileName;
+ }
public String getGetUidPath() {
return getUidPath;
@@ -565,6 +604,14 @@
olderVersionExists = exists;
}
+ public boolean isMajorUpgrade() {
+ return majorUpgrade;
+ }
+
+ public void setMajorUpgrade(boolean upgrade) {
+ majorUpgrade = upgrade;
+ }
+
public boolean sameVersionExists() {
return sameVersionExists;
}
@@ -597,6 +644,14 @@
hideEula = value;
}
+ public boolean installedProductMinorSet() {
+ return installedProductMinorSet;
+ }
+
+ public void setInstalledProductMinorSet(boolean value) {
+ installedProductMinorSet = value;
+ }
+
public boolean databaseQueried() {
return databaseQueried;
}
@@ -637,6 +692,14 @@
installPackages = packages;
}
+ public Vector getOldPackages() {
+ return oldPackages;
+ }
+
+ public void setOldPackages(Vector packages) {
+ oldPackages = packages;
+ }
+
public Vector getSystemLanguages() {
return systemLanguages;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java 2008-07-17 \
18:27:34.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -409,12 +409,17 @@
log = rpmCommand + "<br><b>Returns: " + returnValue + " Successful \
uninstallation</b><br>";
LogManager.addCommandsLogfileComment(log);
} else { // an error occured during installation
- log = rpmCommand + "<br><b>Returns: " + returnValue + " Error during \
uninstallation</b><br>";
- LogManager.addCommandsLogfileComment(log);
- for (int i = 0; i < returnErrorVector.size(); i++) {
- \
LogManager.addCommandsLogfileComment((String)returnErrorVector.get(i)); + \
if ( packageData.uninstallCanFail() ) { + log = rpmCommand + \
"<br><b>Returns: " + returnValue + " Problem during uninstallation. Can be \
ignored.</b><br>"; + LogManager.addCommandsLogfileComment(log);
+ } else {
+ log = rpmCommand + "<br><b>Returns: " + returnValue + " Error \
during uninstallation</b><br>"; + \
LogManager.addCommandsLogfileComment(log); + for (int i = 0; i < \
returnErrorVector.size(); i++) { + \
LogManager.addCommandsLogfileComment((String)returnErrorVector.get(i)); + \
} + data.setIsErrorInstallation(true);
}
- data.setIsErrorInstallation(true);
}
}
}
@@ -538,7 +543,8 @@
String onePackage = (String)returnVector.get(i);
int pos1 = onePackage.lastIndexOf("-");
int pos2 = onePackage.substring(0, pos1).lastIndexOf("-");
- map.put(onePackage.substring(0, pos2), value);
+ String key = onePackage.substring(0, pos2);
+ map.put(key, value);
}
}
@@ -667,6 +673,12 @@
log = rpmCommand + "<br><b>Returns: " + version + "</b><br>";
LogManager.addCommandsLogfileComment(log);
+ if ( ! installData.installedProductMinorSet() ) {
+ int productMinor = helper.getInstalledMinor(version);
+ installData.setInstalledProductMinor(productMinor);
+ installData.setInstalledProductMinorSet(true);
+ }
+
if (useLocalDatabase) {
rpmCommand = "rpm" + " " + databaseString + " " + databasePath + \
" -q --queryformat %{RELEASE}\\n " + packageName; rpmCommandArray[5] = \
"%{RELEASE}\\n";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/SolarisInstaller.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/SolarisInstaller.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/SolarisInstaller.java 2008-06-24 \
12:15:01.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/SolarisInstaller.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -81,8 +81,11 @@
if ( data.isInstallationMode()) {
boolean makeRelocatableAdminFile = true;
- helper.createAdminFile(makeRelocatableAdminFile);
- helper.createAdminFile(! makeRelocatableAdminFile);
+ boolean removeDepends = true;
+ helper.createAdminFile(makeRelocatableAdminFile, removeDepends);
+ helper.createAdminFile(makeRelocatableAdminFile, ! removeDepends);
+ helper.createAdminFile(! makeRelocatableAdminFile, removeDepends);
+ helper.createAdminFile(! makeRelocatableAdminFile, ! removeDepends);
}
if ( data.isUserInstallation() ) {
@@ -259,9 +262,17 @@
// is package relocatable or not?
if ( packageData.isRelocatable() ) {
- adminFileName = data.getAdminFileNameReloc();
+ if ( packageData.ignoreDependsForUninstall() ) { // Force removal of \
older packages during installation + adminFileName = \
data.getAdminFileNameRelocNoDepends(); + } else {
+ adminFileName = data.getAdminFileNameReloc();
+ }
} else {
- adminFileName = data.getAdminFileNameNoReloc();
+ if ( packageData.ignoreDependsForUninstall() ) { // Force removal of \
older packages during installation + adminFileName = \
data.getAdminFileNameNoRelocNoDepends(); + } else {
+ adminFileName = data.getAdminFileNameNoReloc();
+ }
}
String pkgCommand = "";
@@ -300,16 +311,20 @@
log = pkgCommand + "<br><b>Returns: " + returnValue + " Successful \
uninstallation</b><br>";
LogManager.addCommandsLogfileComment(log);
} else { // an error occured during installation
- log = pkgCommand + "<br><b>Returns: " + returnValue + " Error during \
uninstallation</b><br>";
- LogManager.addCommandsLogfileComment(log);
- System.err.println("Error during uninstallation:");
- for (int i = 0; i < returnErrorVector.size(); i++) {
- LogManager.addCommandsLogfileComment((String)returnErrorVector.get(i));
- System.err.println(returnErrorVector.get(i));
+ if ( packageData.uninstallCanFail() ) {
+ log = pkgCommand + "<br><b>Returns: " + returnValue + " Problem \
during uninstallation. Can be ignored.</b><br>"; + \
LogManager.addCommandsLogfileComment(log); + } else {
+ log = pkgCommand + "<br><b>Returns: " + returnValue + " Error during \
uninstallation</b><br>"; + LogManager.addCommandsLogfileComment(log);
+ System.err.println("Error during uninstallation:");
+ for (int i = 0; i < returnErrorVector.size(); i++) {
+ \
LogManager.addCommandsLogfileComment((String)returnErrorVector.get(i)); + \
System.err.println(returnErrorVector.get(i)); + }
+ data.setIsErrorInstallation(true);
}
- data.setIsErrorInstallation(true);
}
-
}
public boolean isPackageNameInstalledClassic(String packageName, InstallData \
installData) { @@ -402,7 +417,8 @@
for (int i = 0; i < returnVector.size(); i++) {
String onePackage = (String)returnVector.get(i);
int pos1 = onePackage.indexOf(" ");
- map.put(onePackage.substring(0, pos1), value);
+ String key = onePackage.substring(0, pos1);
+ map.put(key, value);
}
}
@@ -521,6 +537,12 @@
String installedPackageVersion = helper.getVersionString(returnVector);
String newPackageVersion = packageData.getPkgVersion();
+
+ if ( ! installData.installedProductMinorSet() ) {
+ int productMinor = \
helper.getInstalledMinor(installedPackageVersion); + \
installData.setInstalledProductMinor(productMinor); + \
installData.setInstalledProductMinorSet(true); + }
if (( installedPackageVersion != null ) && ( newPackageVersion != null \
)) { if ( checkIfInstalledIsOlder ) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java 2008-05-06 \
12:44:22.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -240,6 +240,23 @@
return hashRpm;
}
+
+ public int getInstalledMinor(String version) {
+
+ int minor = 0;
+ int pos = version.indexOf(".");
+ if ( pos > -1 ) {
+ String reduced = version.substring(pos + 1, version.length());
+
+ pos = reduced.indexOf(".");
+ if ( pos > -1 ) {
+ reduced = reduced.substring(0, pos);
+ minor = Integer.parseInt(reduced);
+ }
+ }
+
+ return minor;
+ }
private boolean compareTwoRpms(HashMap hash1, HashMap hash2) {
boolean hash1IsOlder = false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/SolarisHelper.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/SolarisHelper.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/SolarisHelper.java 2009-01-20 \
13:48:05.000000000 +0100
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/SolarisHelper.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -108,7 +108,7 @@
}
}
- private Vector getAdminFileContent(boolean relocatable) {
+ private Vector getAdminFileContent(boolean relocatable, boolean rdepends) {
Vector adminFile = new Vector();
InstallData data = InstallData.getInstance();
@@ -151,6 +151,7 @@
// String rdependLine = "rdepend=nocheck";
String rdependLine = "rdepend=quit";
+ if ( ! rdepends ) { rdependLine = "rdepend=nocheck"; }
if ( data.isUserInstallation() ) { rdependLine = "rdepend=nocheck"; } \
adminFile.add(rdependLine);
@@ -268,25 +269,41 @@
return databasePath;
}
- public void createAdminFile(boolean relocatable) {
+ public void createAdminFile(boolean relocatable, boolean rdepends) {
InstallData data = InstallData.getInstance();
Vector removeFiles = data.getRemoveFiles();
String adminFileName = "";
if ( relocatable ) {
- adminFileName = "adminFileReloc";
+ if ( rdepends ) {
+ adminFileName = "adminFileReloc";
+ } else {
+ adminFileName = "adminFileRelocNoDepends";
+ }
} else {
- adminFileName = "adminFileNoReloc";
+ if ( rdepends ) {
+ adminFileName = "adminFileNoReloc";
+ } else {
+ adminFileName = "adminFileNoRelocNoDepends";
+ }
}
- Vector fileContent = getAdminFileContent(relocatable);
+ Vector fileContent = getAdminFileContent(relocatable, rdepends);
File adminFile = new File(data.getInstallDir(), adminFileName);
String completeAdminFileName = adminFile.getPath();
if ( relocatable ) {
- data.setAdminFileNameReloc(completeAdminFileName);
+ if ( rdepends ) {
+ data.setAdminFileNameReloc(completeAdminFileName);
+ } else {
+ data.setAdminFileNameRelocNoDepends(completeAdminFileName);
+ }
} else {
- data.setAdminFileNameNoReloc(completeAdminFileName);
+ if ( rdepends ) {
+ data.setAdminFileNameNoReloc(completeAdminFileName);
+ } else {
+ data.setAdminFileNameNoRelocNoDepends(completeAdminFileName);
+ }
}
if ( ! adminFile.exists() ) {
@@ -331,6 +348,24 @@
return versionString;
}
+ public int getInstalledMinor(String version) {
+
+ int minor = 0;
+
+ int pos = version.indexOf(".");
+ if ( pos > -1 ) {
+ String reduced = version.substring(pos + 1, version.length());
+
+ pos = reduced.indexOf(".");
+ if ( pos > -1 ) {
+ reduced = reduced.substring(0, pos);
+ minor = Integer.parseInt(reduced);
+ }
+ }
+
+ return minor;
+ }
+
public boolean comparePackageVersions(String firstPackageVersion, String \
secondPackageVersion) { // Analyzing strings: version, 2.0.0,REV=106.2005.05.26
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java 2008-08-27 \
13:31:21.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -103,9 +103,12 @@
private boolean isApplicationPackage = false;
private boolean isJavaPackage = false;
private boolean installCanFail = false;
+ private boolean uninstallCanFail = false;
+ private boolean forceIntoUpdate = false;
private boolean useForce = false;
private boolean isNewInstalled = false;
private boolean wasAlreadyInstalled = false;
+ private boolean ignoreDependsForUninstall = false;
/* Saving the default selection state. This is necessary, if the user chooses
* the custom installation type, makes changes, and then changes into
@@ -117,6 +120,8 @@
private int typicalSelectionState = DONT_KNOW; // Saving settings for \
typical installation
private int customSelectionState = DONT_KNOW; // Saving settings for \
custom installation
private int startSelectionState = DONT_KNOW; // Saving settings at start \
of installation +
+ public PackageDescription() {}
/**
* construct only with package information to wrap
@@ -142,6 +147,10 @@
public String getName() {
return dpyName;
}
+
+ public void setName(String name) {
+ dpyName = name;
+ }
public String getDescription() {
return dpyDescription;
@@ -163,6 +172,10 @@
return pkgOrder;
}
+ public void setOrder(int order) {
+ pkgOrder = order;
+ }
+
// public int getAccumulatedSize() {
// int size = getSize();
//
@@ -215,6 +228,18 @@
return installCanFail;
}
+ public boolean uninstallCanFail() {
+ return uninstallCanFail;
+ }
+
+ public void setUninstallCanFail(boolean canFail) {
+ uninstallCanFail = canFail;
+ }
+
+ public boolean forceIntoUpdate() {
+ return forceIntoUpdate;
+ }
+
public boolean useForce() {
return useForce;
}
@@ -235,6 +260,14 @@
return wasAlreadyInstalled;
}
+ public void setIgnoreDependsForUninstall(boolean ignore) {
+ ignoreDependsForUninstall = ignore;
+ }
+
+ public boolean ignoreDependsForUninstall() {
+ return ignoreDependsForUninstall;
+ }
+
public boolean isDefault() {
return isDefault;
}
@@ -246,11 +279,20 @@
public boolean isRelocatable() {
return isRelocatable;
}
+
+ public void setIsRelocatable(boolean relocatable) {
+ isRelocatable = relocatable;
+ }
public String getPackageName() {
return pkgFileName;
}
+ public void setPackageName(String name) {
+ pkgFileName = name;
+ }
+
+
public String getFullPackageName() {
return pkgFullName;
}
@@ -468,6 +510,12 @@
installCanFail = Parser.parseBoolean(installCanFailValue);
}
+ subSection = section.getElement("forceintoupdate");
+ if (subSection != null) {
+ String forceIntoUpdateValue = subSection.getValue();
+ forceIntoUpdate = Parser.parseBoolean(forceIntoUpdateValue);
+ }
+
subSection = section.getElement("useforce");
if (subSection != null) {
String useForceValue = subSection.getValue();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/ProductDescription.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/ProductDescription.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/ProductDescription.java 2008-05-06 \
12:45:24.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/ProductDescription.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -239,7 +239,17 @@
installData.setDontUpdate(dontupdate);
}
- section = data.getElement("hideeula");
+ /* check for the Product Minor of this installation set */
+ section = data.getElement("productminor");
+ if (section != null) {
+ String value = section.getValue();
+ if (value != null) {
+ int intValue = Integer.parseInt(value);
+ installData.setProductMinor(intValue);
+ }
+ }
+
+ section = data.getElement("hideeula");
if (section != null) {
String value = section.getValue();
if ((value != null) && (! value.equals(""))) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/Dumper.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/Dumper.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/Dumper.java 2008-05-06 \
12:46:38.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/Dumper.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -179,7 +179,9 @@
InstallData data = InstallData.getInstance();
System.err.println("PackagePath: " + data.getPackagePath());
System.err.println("AdminFileReloc: " + data.getAdminFileNameReloc());
+ System.err.println("AdminFileRelocNoDepends: " + \
data.getAdminFileNameRelocNoDepends());
System.err.println("AdminFileNoReloc: " + data.getAdminFileNameNoReloc());
+ System.err.println("AdminFileNoRelocNoDepends: " + \
data.getAdminFileNameNoRelocNoDepends()); System.err.println("DatabasePath: " + \
data.getDatabasePath()); System.err.println("InstallDir: " + data.getInstallDir());
System.err.println("Original privileges: " + \
data.getStoredInstallationPrivileges());
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InfoDir.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InfoDir.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InfoDir.java 2008-08-01 \
13:19:35.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InfoDir.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -157,6 +157,15 @@
data.setAdminFileNameReloc(destFile.getPath());
sourceFile.delete();
}
+
+ if ( data.getAdminFileNameRelocNoDepends() != null ) {
+ File sourceFile = new File(data.getAdminFileNameRelocNoDepends());
+ String fileName = sourceFile.getName();
+ File destFile = new File(dir, fileName);
+ boolean success = SystemManager.copy(sourceFile.getPath(), \
destFile.getPath()); + \
data.setAdminFileNameRelocNoDepends(destFile.getPath()); + \
sourceFile.delete(); + }
if ( data.getAdminFileNameNoReloc() != null ) {
File sourceFile = new File(data.getAdminFileNameNoReloc());
@@ -167,6 +176,14 @@
sourceFile.delete();
}
+ if ( data.getAdminFileNameNoRelocNoDepends() != null ) {
+ File sourceFile = new File(data.getAdminFileNameNoRelocNoDepends());
+ String fileName = sourceFile.getName();
+ File destFile = new File(dir, fileName);
+ boolean success = SystemManager.copy(sourceFile.getPath(), \
destFile.getPath()); + \
data.setAdminFileNameNoRelocNoDepends(destFile.getPath()); + \
sourceFile.delete(); + }
}
static private void createInfoFile(File dir) {
@@ -180,8 +197,12 @@
fileContent.add(line);
line = "AdminFileReloc=" + data.getAdminFileNameReloc();
fileContent.add(line);
+ line = "AdminFileRelocNoDepends=" + data.getAdminFileNameRelocNoDepends();
+ fileContent.add(line);
line = "AdminFileNoReloc=" + data.getAdminFileNameNoReloc();
fileContent.add(line);
+ line = "AdminFileNoRelocNoDepends=" + \
data.getAdminFileNameNoRelocNoDepends(); + fileContent.add(line);
line = "InstallationDir=" + data.getInstallDir();
fileContent.add(line);
line = "DatabasePath=" + data.getDatabasePath();
@@ -207,10 +228,18 @@
SystemManager.deleteFile(new File(data.getAdminFileNameReloc()));
}
+ if ( ! data.getAdminFileNameRelocNoDepends().equals("null") ) {
+ SystemManager.deleteFile(new \
File(data.getAdminFileNameRelocNoDepends())); + }
+
if ( ! data.getAdminFileNameNoReloc().equals("null") ) {
SystemManager.deleteFile(new File(data.getAdminFileNameNoReloc()));
}
+ if ( ! data.getAdminFileNameNoRelocNoDepends().equals("null") ) {
+ SystemManager.deleteFile(new \
File(data.getAdminFileNameNoRelocNoDepends())); + }
+
if ( ! data.getGetUidPath().equals("null") ) {
SystemManager.deleteFile(new File(data.getGetUidPath()));
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InstallChangeCtrl.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InstallChangeCtrl.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InstallChangeCtrl.java 2008-05-06 \
12:47:22.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/InstallChangeCtrl.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -98,6 +98,13 @@
data.setOlderVersionExists(true);
// All installed packages will be updated -> determining which \
packages are installed System.err.println("An older product is installed");
+ // But if this is a kind of Major Upgrade with different Minor \
and therefore different package names, + // it is necessary to \
remove the old product. + if ( data.getProductMinor() > \
data.getInstalledProductMinor() ) + {
+ data.setMajorUpgrade(true);
+ System.err.println("Major Upgrade");
+ }
} else if ( \
installer.isInstallSetPackageOlder(data.getUpdatePackage(), data) ) { \
data.setNewerVersionExists(true); System.err.println("A newer product is \
installed");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java 2008-09-26 \
16:44:20.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -180,10 +180,16 @@
// System.err.println("Setting allChildrenHidden for module " + \
packageData.getName() ); }
- // System.err.println("Setting " + packageData.getName() + " to " + \
packageData.getSelectionState() );
- packageData.setSelectionState(state);
+ // If older version exist, only modules without packages shall be \
updated, + // because all packages are already determined by querying the \
database. + if ( installdata.olderVersionExists() ) {
+ if ( packageData.getPackageName().equals("") ) {
+ packageData.setSelectionState(state);
+ }
+ } else {
+ packageData.setSelectionState(state);
+ }
}
-
}
static public void setHiddenModuleSettingsInstall(PackageDescription \
packageData) { @@ -409,6 +415,18 @@
}
}
+ static public void setForcedUpdateProductSettings(PackageDescription \
packageData) { +
+ if ( packageData.forceIntoUpdate() ) {
+ packageData.setSelectionState(PackageDescription.INSTALL);
+ }
+
+ for (Enumeration e = packageData.children(); e.hasMoreElements(); ) {
+ PackageDescription child = (PackageDescription) e.nextElement();
+ setForcedUpdateProductSettings(child);
+ }
+ }
+
static public void setShowInUserInstallOnlyFlags(PackageDescription packageData) \
{
// This function is not needed during deinstallation, because a
@@ -720,7 +738,51 @@
}
}
} else {
- packageData.setSelectionState(PackageDescription.DONT_INSTALL); \
+ packageData.setSelectionState(PackageDescription.DONT_INSTALL);
+ // Special handling for Major Upgrade
+ if ( data.isMajorUpgrade() ) {
+ String basis = "ooobasis3";
+ if ( data.getOSType().equalsIgnoreCase("Linux") ) { basis = \
basis + "."; } + String search = basis + data.getProductMinor();
+ String replacestring = basis + data.getInstalledProductMinor();
+ int pos = packageData.getPackageName().indexOf(search);
+ if ( pos > -1 ) {
+ // Check if this package is installed with a lower product \
minor + // Creating new package for removal, very simple \
PackageDescription + PackageDescription localPackage = new \
PackageDescription(); + \
localPackage.setUninstallCanFail(true); + \
localPackage.setIsRelocatable(packageData.isRelocatable()); + \
String localName = packageData.getPackageName(); + localName = \
localName.replace(search, replacestring); + \
localPackage.setPackageName(localName); +
+ if ( ( packageData.getPkgRealName() != null ) && ( ! \
packageData.getPkgRealName().equals("") )) { + localName = \
packageData.getPkgRealName(); + localName = \
localName.replace(search, replacestring); + \
localPackage.setPkgRealName(localName); + }
+
+ if (( packageData.getName() != null ) && ( ! \
packageData.getName().equals("") )) { + localName = \
packageData.getName(); + localName = \
localName.replace(search, replacestring); + \
localPackage.setName(localName); + }
+
+ // saving also the order, needed for order of uninstallation
+ localPackage.setOrder(packageData.getOrder());
+
+ // If the old package is installed, the new package can be \
installed, too, + // and the old package can be marked for \
removal (with dependency check). + if ( \
installer.isPackageInstalled(localPackage, data) ) { + \
packageData.setSelectionState(PackageDescription.INSTALL); +
+ // Collecting all installed older packages for \
uninstallation + Vector oldPackages = \
data.getOldPackages(); + oldPackages.add(localPackage);
+ data.setOldPackages(oldPackages);
+ }
+ }
+ }
}
}
@@ -841,6 +903,13 @@
Dumper.logModuleStates(packageData, "ChooseDirectory: After \
setUpdateOlderProductSettings"); }
+ // Setting packages that are forced into update, because they did not \
exist in older version. + \
ModuleCtrl.setForcedUpdateProductSettings(packageData); +
+ if ( data.logModuleStates() ) {
+ Dumper.logModuleStates(packageData, "ChooseDirectory: After \
setForcedUpdateProductSettings"); + }
+
// Setting required root module packages (that are new in the update \
product). ModuleCtrl.setRequiredNewCoreModules(packageData, data);
@@ -870,6 +939,13 @@
Dumper.logModuleStates(packageData, "ChooseDirectory: After \
setShowInUserInstallOnlyFlags"); }
}
+
+ // Setting parent module settings. Only required for displaying correct \
module settings before starting installation. + \
ModuleCtrl.setParentDefaultModuleSettings(packageData); +
+ if ( data.logModuleStates() ) {
+ Dumper.logModuleStates(packageData, "ChooseDirectory: After \
setParentDefaultModuleSettings"); + }
// Collecting packages to install
// This has to be done here, because "ChooseInstallationType" and \
"ChooseComponents" @@ -903,7 +979,7 @@
Dumper.logModuleStates(packageData, "ChooseDirectory: After \
disableNonExistingPackages"); }
- // disable packages, that are not valid in user installation
+ // disable packages, that are not valid in user installation
if ( data.isUserInstallation() ) {
ModuleCtrl.setShowInUserInstallFlags(packageData);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/PackageCollector.java \
new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/PackageCollector.java
--- old/ooo310-m6-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/PackageCollector.java 2008-04-15 \
16:52:36.000000000 +0200
+++ new/ooo310-m7-components/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/PackageCollector.java 2009-03-20 \
10:46:04.000000000 +0100 @@ -30,6 +30,7 @@
package org.openoffice.setup.Util;
+import org.openoffice.setup.InstallData;
import org.openoffice.setup.SetupData.PackageDescription;
import java.util.Enumeration;
import java.util.Vector;
@@ -82,6 +83,62 @@
}
}
+ // Special handling for packages, that change their name, and therefore need to \
be uninstalled +
+ // static public void findOldPackages( InstallData installData ) {
+ //
+ // String basis = "ooobasis3";
+ // if ( installData.getOSType().equalsIgnoreCase("Linux") ) { basis = basis + \
"."; } + // String search = basis + installData.getProductMinor();
+
+ // Vector allPackages = installData.getInstallPackages();
+ // Vector oldPackages = new Vector();
+
+ // for (int i = 0; i < allPackages.size(); i++) {
+ // PackageDescription packageData = (PackageDescription) \
allPackages.get(i); + // int pos = \
packageData.getPackageName().indexOf(search); +
+ // if ( pos > -1 ) {
+ // String substring = packageData.getPackageName().substring(pos, pos \
+ 1); + // for (int j = 0; j < installData.getProductMinor(); j++) {
+ // String replace = basis + j;
+ // // Creating new package for removal, very simple \
PackageDescription + // PackageDescription localPackage = new \
PackageDescription(); + // localPackage.setUninstallCanFail(true);
+ // localPackage.setIsRelocatable(packageData.isRelocatable());
+ // String localName = packageData.getPackageName();
+ // localName = localName.replace(search, replace);
+ // localPackage.setPackageName(localName);
+
+ // if ( ( packageData.getPkgRealName() != null ) && ( ! \
packageData.getPkgRealName().equals("") )) { + // localName = \
packageData.getPkgRealName(); + // localName = \
localName.replace(search, replace); + // \
localPackage.setPkgRealName(localName); + // }
+
+ // if (( packageData.getName() != null ) && ( ! \
packageData.getName().equals("") )) { + // localName = \
packageData.getName(); + // localName = \
localName.replace(search, replace); + // \
localPackage.setName(localName); + // }
+
+ // oldPackages.add(localPackage);
+ // }
+ // }
+ // }
+
+ // // reverse order for uninstallation
+ // int number = oldPackages.size();
+ // for (int i = 0; i < number; i++) {
+ // if ( i > 0 ) {
+ // PackageDescription oldPackageData = (PackageDescription) \
oldPackages.remove(i); + // oldPackages.add(0,oldPackageData);
+ // }
+ // }
+
+ // installData.setOldPackages(oldPackages);
+ // }
+
static public void sortPackages(Vector allPackages, Vector sortedPackages, \
String mode) { for (int i = 0; i < allPackages.size(); i++) {
boolean integrated = false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/package/qa/storages/makefile.mk \
new/ooo310-m7-components/package/qa/storages/makefile.mk
--- old/ooo310-m6-components/package/qa/storages/makefile.mk 2009-02-05 \
12:38:04.000000000 +0100
+++ new/ooo310-m7-components/package/qa/storages/makefile.mk 2009-03-19 \
23:25:35.000000000 +0100 @@ -63,6 +63,7 @@
Test14.java\
Test15.java\
Test16.java\
+ Test17.java\
RegressionTest_114358.java\
RegressionTest_i29169.java\
RegressionTest_i30400.java\
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/package/qa/storages/StorageUnitTest.java \
new/ooo310-m7-components/package/qa/storages/StorageUnitTest.java
--- old/ooo310-m6-components/package/qa/storages/StorageUnitTest.java 2009-02-05 \
12:38:04.000000000 +0100
+++ new/ooo310-m7-components/package/qa/storages/StorageUnitTest.java 2009-03-19 \
23:25:35.000000000 +0100 @@ -83,6 +83,7 @@
"ExecuteTest14",
"ExecuteTest15",
"ExecuteTest16",
+ "ExecuteTest17",
"ExecuteRegressionTest_114358",
"ExecuteRegressionTest_i29169",
"ExecuteRegressionTest_i30400",
@@ -227,6 +228,12 @@
assure( "Test16 failed!", aTest.test() );
}
+ public void ExecuteTest17()
+ {
+ StorageTest aTest = new Test17( m_xMSF, m_xStorageFactory, log );
+ assure( "Test17 failed!", aTest.test() );
+ }
+
public void ExecuteRegressionTest_114358()
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/package/qa/storages/Test17.java \
new/ooo310-m7-components/package/qa/storages/Test17.java
--- old/ooo310-m6-components/package/qa/storages/Test17.java 1970-01-01 \
01:00:00.000000000 +0100
+++ new/ooo310-m7-components/package/qa/storages/Test17.java 2009-03-19 \
23:25:35.000000000 +0100 @@ -0,0 +1,142 @@
+package complex.storages;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+
+import com.sun.star.bridge.XUnoUrlResolver;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.io.XStream;
+import com.sun.star.io.XInputStream;
+
+import com.sun.star.embed.*;
+
+import share.LogWriter;
+import complex.storages.TestHelper;
+import complex.storages.StorageTest;
+
+public class Test17 implements StorageTest {
+
+ XMultiServiceFactory m_xMSF;
+ XSingleServiceFactory m_xStorageFactory;
+ TestHelper m_aTestHelper;
+
+ public Test17( XMultiServiceFactory xMSF, XSingleServiceFactory xStorageFactory, \
LogWriter aLogWriter ) + {
+ m_xMSF = xMSF;
+ m_xStorageFactory = xStorageFactory;
+ m_aTestHelper = new TestHelper( aLogWriter, "Test17: " );
+ }
+
+ public boolean test()
+ {
+ try
+ {
+ XStream xTempFileStream = m_aTestHelper.CreateTempFileStream( m_xMSF );
+ if ( xTempFileStream == null )
+ return false;
+
+ // create storage based on the temporary stream
+ Object pArgs[] = new Object[2];
+ pArgs[0] = (Object) xTempFileStream;
+ pArgs[1] = new Integer( ElementModes.WRITE );
+
+ Object oTempStorage = m_xStorageFactory.createInstanceWithArguments( pArgs );
+ XStorage xTempStorage = (XStorage) UnoRuntime.queryInterface( XStorage.class, \
oTempStorage ); + if ( xTempStorage == null )
+ {
+ m_aTestHelper.Error( "Can't create temporary storage representation!" );
+ return false;
+ }
+
+
+ byte pBytes1[] = { 1, 1, 1, 1, 1 };
+ String pNames[] = { "SubStream1", "SubStream2", "SubStream3", \
"SubStream4", "SubStream5", "SubStream6", "SubStream7" }; +
+ for ( int nInd = 0; nInd < pNames.length; nInd++ )
+ {
+ // open a new substorage
+ XStorage xTempSubStorage = m_aTestHelper.openSubStorage( xTempStorage,
+ "SubStorage1",
+ ElementModes.WRITE );
+ if ( xTempSubStorage == null )
+ {
+ m_aTestHelper.Error( "Can't create substorage!" );
+ return false;
+ }
+
+ // open a new substream, set "MediaType" and "Compressed" properties to it \
and write some bytes + if ( !m_aTestHelper.WriteBytesToSubstream( \
xTempSubStorage, pNames[nInd], "MediaType1", true, pBytes1 ) ) + return false;
+
+ // commit substorage first
+ if ( !m_aTestHelper.commitStorage( xTempSubStorage ) )
+ return false;
+
+ // dispose used storage to free resources
+ if ( !m_aTestHelper.disposeStorage( xTempSubStorage ) )
+ return false;
+ }
+
+ // commit the root storage so the contents must be stored now
+ if ( !m_aTestHelper.commitStorage( xTempStorage ) )
+ return false;
+
+ // dispose used storage to free resources
+ if ( !m_aTestHelper.disposeStorage( xTempStorage ) )
+ return false;
+
+
+ // ================================================
+ // now check all the written information
+ // ================================================
+
+ // close the output part of the temporary stream
+ // the output part must present since we already wrote to the stream
+ if ( !m_aTestHelper.closeOutput( xTempFileStream ) )
+ return false;
+
+ XInputStream xTempInStream = m_aTestHelper.getInputStream( xTempFileStream );
+ if ( xTempInStream == null )
+ return false;
+
+
+ // open input stream
+ // since no mode is provided the result storage must be opened readonly
+ Object pOneArg[] = new Object[1];
+ pOneArg[0] = (Object) xTempInStream;
+
+ Object oResultStorage = m_xStorageFactory.createInstanceWithArguments( pOneArg );
+ XStorage xResultStorage = (XStorage) UnoRuntime.queryInterface( XStorage.class, \
oResultStorage ); + if ( xResultStorage == null )
+ {
+ m_aTestHelper.Error( "Can't open storage based on input stream!" );
+ return false;
+ }
+
+ // open existing substorage
+ XStorage xResultSubStorage = m_aTestHelper.openSubStorage( xResultStorage,
+ "SubStorage1",
+ ElementModes.READ );
+ if ( xResultSubStorage == null )
+ {
+ m_aTestHelper.Error( "Can't open existing substorage!" );
+ return false;
+ }
+
+ for ( int nInd = 0; nInd < pNames.length; nInd++ )
+ if ( !m_aTestHelper.checkStream( xResultSubStorage, pNames[nInd], \
"MediaType1", true, pBytes1 ) ) + return false;
+
+ return true;
+ }
+ catch( Exception e )
+ {
+ m_aTestHelper.Error( "Exception: " + e );
+ return false;
+ }
+ }
+
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/package/source/xstor/owriteablestream.cxx \
new/ooo310-m7-components/package/source/xstor/owriteablestream.cxx
--- old/ooo310-m6-components/package/source/xstor/owriteablestream.cxx 2009-01-06 \
14:16:56.000000000 +0100
+++ new/ooo310-m7-components/package/source/xstor/owriteablestream.cxx 2009-03-19 \
23:25:35.000000000 +0100 @@ -2249,52 +2249,57 @@
throw ( uno::RuntimeException )
{
// should be an internal method since it can be called only from parent storage
+ {
+ ::osl::MutexGuard aGuard( m_pData->m_rSharedMutexRef->GetMutex() );
- ::osl::MutexGuard aGuard( m_pData->m_rSharedMutexRef->GetMutex() );
+ if ( !m_pImpl )
+ throw lang::DisposedException();
- if ( !m_pImpl )
- throw lang::DisposedException();
+ if ( m_xOutStream.is() )
+ CloseOutput_Impl();
- if ( m_xOutStream.is() )
- CloseOutput_Impl();
+ if ( m_xInStream.is() )
+ {
+ m_xInStream->closeInput();
+ m_xInStream = uno::Reference< io::XInputStream >();
+ }
+
+ m_pImpl->m_pAntiImpl = NULL;
+
+ if ( !m_bInitOnDemand )
+ {
+ try
+ {
+ if ( !m_bTransacted )
+ {
+ m_pImpl->Commit();
+ }
+ else
+ {
+ // throw away all the changes
+ m_pImpl->Revert();
+ }
+ }
+ catch( uno::Exception& )
+ {
+ uno::Any aCaught( ::cppu::getCaughtException() );
+ throw lang::WrappedTargetRuntimeException(
+ ::rtl::OUString::createFromAscii( \
"Can not commit/revert the storage!\n" ), + \
uno::Reference< uno::XInterface >( static_cast< OWeakObject* >( this ), + \
uno::UNO_QUERY ), + aCaught );
+ }
+ }
- if ( m_xInStream.is() )
- {
- m_xInStream->closeInput();
- m_xInStream = uno::Reference< io::XInputStream >();
- }
+ m_pImpl = NULL;
+ }
+
+ // the listener might try to get rid of parent storage, and the storage would \
delete this object; + // for now the listener is just notified at the end of the \
method to workaround the problem + // in future a more elegant way should be found
lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) );
m_pData->m_aListenersContainer.disposeAndClear( aSource );
-
- m_pImpl->m_pAntiImpl = NULL;
-
- if ( !m_bInitOnDemand )
- {
- try
- {
- if ( !m_bTransacted )
- {
- m_pImpl->Commit();
- }
- else
- {
- // throw away all the changes
- m_pImpl->Revert();
- }
- }
- catch( uno::Exception& )
- {
- uno::Any aCaught( ::cppu::getCaughtException() );
- throw lang::WrappedTargetRuntimeException(
- ::rtl::OUString::createFromAscii( "Can not commit/revert the storage!\n" \
),
- uno::Reference< uno::XInterface >( static_cast< OWeakObject* >( this ),
- uno::UNO_QUERY ),
- aCaught );
- }
- }
-
- m_pImpl = NULL;
}
//-----------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore \
old/ooo310-m6-components/package/source/zippackage/ZipPackageFolder.cxx \
new/ooo310-m7-components/package/source/zippackage/ZipPackageFolder.cxx
--- old/ooo310-m6-components/package/source/zippackage/ZipPackageFolder.cxx 2008-05-14 \
12:33:53.000000000 +0200
+++ new/ooo310-m7-components/package/source/zippackage/ZipPackageFolder.cxx 2009-03-19 \
23:25:35.000000000 +0100 @@ -271,7 +271,7 @@
// it is an empty subfolder, use workaround to store it
ZipEntry* pTempEntry = new ZipEntry();
ZipPackageFolder::copyZipEntry ( *pTempEntry, aEntry );
- pTempEntry->nNameLen = (sal_Int16)rPath.getLength();
+ pTempEntry->nNameLen = (sal_Int16)( ::rtl::OUStringToOString( rPath, \
RTL_TEXTENCODING_UTF8 ).getLength() ); pTempEntry->nExtraLen = -1;
pTempEntry->sName = rPath;
@@ -333,7 +333,7 @@
ZipPackageFolder::copyZipEntry ( *pTempEntry, pStream->aEntry );
pTempEntry->sName = rPath + rShortName;
- pTempEntry->nNameLen = (sal_Int16)( pTempEntry->sName.getLength() );
+ pTempEntry->nNameLen = (sal_Int16)( ::rtl::OUStringToOString( pTempEntry->sName, \
RTL_TEXTENCODING_UTF8 ).getLength() );
sal_Bool bToBeEncrypted = pStream->IsToBeEncrypted() && (bHaveEncryptionKey || \
pStream->HasOwnKey()); sal_Bool bToBeCompressed = bToBeEncrypted ? sal_True : \
pStream->IsToBeCompressed();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic