1*9a1eeea9SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*9a1eeea9SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*9a1eeea9SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*9a1eeea9SAndrew Rist * distributed with this work for additional information 6*9a1eeea9SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*9a1eeea9SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*9a1eeea9SAndrew Rist * "License"); you may not use this file except in compliance 9*9a1eeea9SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*9a1eeea9SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*9a1eeea9SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*9a1eeea9SAndrew Rist * software distributed under the License is distributed on an 15*9a1eeea9SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*9a1eeea9SAndrew Rist * KIND, either express or implied. See the License for the 17*9a1eeea9SAndrew Rist * specific language governing permissions and limitations 18*9a1eeea9SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*9a1eeea9SAndrew Rist *************************************************************/ 21*9a1eeea9SAndrew Rist 22*9a1eeea9SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package org.openoffice.setup.Util; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import org.openoffice.setup.InstallData; 27cdf0e10cSrcweir import org.openoffice.setup.SetupData.PackageDescription; 28cdf0e10cSrcweir import java.util.Enumeration; 29cdf0e10cSrcweir import java.util.Iterator; 30cdf0e10cSrcweir import java.util.Map; 31cdf0e10cSrcweir import java.util.Properties; 32cdf0e10cSrcweir import java.util.Vector; 33cdf0e10cSrcweir 34cdf0e10cSrcweir 35cdf0e10cSrcweir public class Dumper { 36cdf0e10cSrcweir Dumper()37cdf0e10cSrcweir private Dumper() { 38cdf0e10cSrcweir } 39cdf0e10cSrcweir dumpPackageSettings(PackageDescription packageData)40cdf0e10cSrcweir static public void dumpPackageSettings(PackageDescription packageData) { 41cdf0e10cSrcweir 42cdf0e10cSrcweir if ( packageData.isLeaf() ) { 43cdf0e10cSrcweir System.out.println("Name: " + packageData.getName() + 44cdf0e10cSrcweir " State: " + packageData.getSelectionState() + 45cdf0e10cSrcweir " " + packageData.getPackageName()); 46cdf0e10cSrcweir } else { 47cdf0e10cSrcweir System.out.println("Nod-Name: " + packageData.getName() + 48cdf0e10cSrcweir " State: " + packageData.getSelectionState()); 49cdf0e10cSrcweir } 50cdf0e10cSrcweir 51cdf0e10cSrcweir for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { 52cdf0e10cSrcweir PackageDescription child = (PackageDescription) e.nextElement(); 53cdf0e10cSrcweir dumpPackageSettings(child); 54cdf0e10cSrcweir } 55cdf0e10cSrcweir 56cdf0e10cSrcweir } 57cdf0e10cSrcweir dumpModuleStates(PackageDescription packageData)58cdf0e10cSrcweir static public void dumpModuleStates(PackageDescription packageData) { 59cdf0e10cSrcweir 60cdf0e10cSrcweir System.err.println("Name: " + packageData.getName() + 61cdf0e10cSrcweir " State: " + packageData.getSelectionState() + 62cdf0e10cSrcweir " " + packageData.getPackageName()); 63cdf0e10cSrcweir 64cdf0e10cSrcweir for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { 65cdf0e10cSrcweir PackageDescription child = (PackageDescription) e.nextElement(); 66cdf0e10cSrcweir dumpModuleStates(child); 67cdf0e10cSrcweir } 68cdf0e10cSrcweir } 69cdf0e10cSrcweir getStateString(int state)70cdf0e10cSrcweir static private String getStateString(int state) { 71cdf0e10cSrcweir String stateString = null; 72cdf0e10cSrcweir 73cdf0e10cSrcweir if ( state == 0 ) { 74cdf0e10cSrcweir stateString = "DONT_INSTALL"; 75cdf0e10cSrcweir } else if ( state == 1 ) { 76cdf0e10cSrcweir stateString = "INSTALL"; 77cdf0e10cSrcweir } else if ( state == 2 ) { 78cdf0e10cSrcweir stateString = "INSTALL_SOME"; 79cdf0e10cSrcweir } else if ( state == 3 ) { 80cdf0e10cSrcweir stateString = "REMOVE"; 81cdf0e10cSrcweir } else if ( state == 4 ) { 82cdf0e10cSrcweir stateString = "DONT_REMOVE"; 83cdf0e10cSrcweir } else if ( state == 5 ) { 84cdf0e10cSrcweir stateString = "REMOVE_SOME"; 85cdf0e10cSrcweir } else if ( state == 6 ) { 86cdf0e10cSrcweir stateString = "IGNORE"; 87cdf0e10cSrcweir } else if ( state == 7 ) { 88cdf0e10cSrcweir stateString = "DONT_KNOW"; 89cdf0e10cSrcweir } else { 90cdf0e10cSrcweir stateString = null; 91cdf0e10cSrcweir } 92cdf0e10cSrcweir 93cdf0e10cSrcweir return stateString; 94cdf0e10cSrcweir } 95cdf0e10cSrcweir logModuleStatesHelper(PackageDescription packageData)96cdf0e10cSrcweir static private void logModuleStatesHelper(PackageDescription packageData) { 97cdf0e10cSrcweir int state = packageData.getSelectionState(); 98cdf0e10cSrcweir String stateStr = getStateString(state); 99cdf0e10cSrcweir 100cdf0e10cSrcweir LogManager.addModulesLogfileComment("Name: " + packageData.getName() + 101cdf0e10cSrcweir " State: " + stateStr + 102cdf0e10cSrcweir " " + packageData.getPackageName()); 103cdf0e10cSrcweir 104cdf0e10cSrcweir // System.err.println("Name: " + packageData.getName() + 105cdf0e10cSrcweir // " State: " + stateStr + 106cdf0e10cSrcweir // " " + packageData.getPackageName()); 107cdf0e10cSrcweir 108cdf0e10cSrcweir for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { 109cdf0e10cSrcweir PackageDescription child = (PackageDescription) e.nextElement(); 110cdf0e10cSrcweir logModuleStatesHelper(child); 111cdf0e10cSrcweir } 112cdf0e10cSrcweir } 113cdf0e10cSrcweir logModuleStates(PackageDescription packageData, String text)114cdf0e10cSrcweir static public void logModuleStates(PackageDescription packageData, String text) { 115cdf0e10cSrcweir LogManager.setModulesLogFileHeaderLine(text); 116cdf0e10cSrcweir logModuleStatesHelper(packageData); 117cdf0e10cSrcweir } 118cdf0e10cSrcweir logPackagesToInstall(Vector packages, String text)119cdf0e10cSrcweir static public void logPackagesToInstall(Vector packages, String text) { 120cdf0e10cSrcweir PackageDescription packageData = null; 121cdf0e10cSrcweir LogManager.setModulesLogFileHeaderLine(text); 122cdf0e10cSrcweir for (int i = 0; i < packages.size(); i++) { 123cdf0e10cSrcweir packageData = (PackageDescription)packages.get(i); 124cdf0e10cSrcweir LogManager.addModulesLogfileComment("Name: " + packageData.getName() + 125cdf0e10cSrcweir " " + packageData.getPackageName()); 126cdf0e10cSrcweir } 127cdf0e10cSrcweir } 128cdf0e10cSrcweir dumpInstallPackages(PackageDescription packageData)129cdf0e10cSrcweir static public void dumpInstallPackages(PackageDescription packageData) { 130cdf0e10cSrcweir 131cdf0e10cSrcweir if (( packageData.isLeaf() ) && ( packageData.getSelectionState() == packageData.INSTALL )) { 132cdf0e10cSrcweir System.out.println("Now installing: " + packageData.getPackageName()); 133cdf0e10cSrcweir } 134cdf0e10cSrcweir 135cdf0e10cSrcweir for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { 136cdf0e10cSrcweir PackageDescription child = (PackageDescription) e.nextElement(); 137cdf0e10cSrcweir dumpInstallPackages(child); 138cdf0e10cSrcweir } 139cdf0e10cSrcweir } 140cdf0e10cSrcweir dumpUninstallPackages(PackageDescription packageData)141cdf0e10cSrcweir static public void dumpUninstallPackages(PackageDescription packageData) { 142cdf0e10cSrcweir 143cdf0e10cSrcweir if (( packageData.isLeaf() ) && ( packageData.getSelectionState() == packageData.REMOVE )) { 144cdf0e10cSrcweir System.out.println("Now uninstalling: " + packageData.getPackageName()); 145cdf0e10cSrcweir } 146cdf0e10cSrcweir 147cdf0e10cSrcweir for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { 148cdf0e10cSrcweir PackageDescription child = (PackageDescription) e.nextElement(); 149cdf0e10cSrcweir dumpUninstallPackages(child); 150cdf0e10cSrcweir } 151cdf0e10cSrcweir } 152cdf0e10cSrcweir dumpAllRpmInfo(PackageDescription packageData)153cdf0e10cSrcweir static public void dumpAllRpmInfo(PackageDescription packageData) { 154cdf0e10cSrcweir 155cdf0e10cSrcweir if (( packageData.getPackageName() != null ) && ( ! packageData.getPackageName().equals(""))) { 156cdf0e10cSrcweir if ( packageData.pkgExists() ) { 157cdf0e10cSrcweir System.err.println("RPM data: " + packageData.getPkgRealName() + " : " + 158cdf0e10cSrcweir packageData.getPkgVersion() + " : " + 159cdf0e10cSrcweir packageData.getPkgRelease() + " : " + 160cdf0e10cSrcweir packageData.getPackageName() ); 161cdf0e10cSrcweir } 162cdf0e10cSrcweir } 163cdf0e10cSrcweir 164cdf0e10cSrcweir for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { 165cdf0e10cSrcweir PackageDescription child = (PackageDescription) e.nextElement(); 166cdf0e10cSrcweir dumpAllRpmInfo(child); 167cdf0e10cSrcweir } 168cdf0e10cSrcweir 169cdf0e10cSrcweir } 170cdf0e10cSrcweir dumpNewInstallData()171cdf0e10cSrcweir static public void dumpNewInstallData() { 172cdf0e10cSrcweir InstallData data = InstallData.getInstance(); 173cdf0e10cSrcweir System.err.println("PackagePath: " + data.getPackagePath()); 174cdf0e10cSrcweir System.err.println("AdminFileReloc: " + data.getAdminFileNameReloc()); 175cdf0e10cSrcweir System.err.println("AdminFileRelocNoDepends: " + data.getAdminFileNameRelocNoDepends()); 176cdf0e10cSrcweir System.err.println("AdminFileNoReloc: " + data.getAdminFileNameNoReloc()); 177cdf0e10cSrcweir System.err.println("AdminFileNoRelocNoDepends: " + data.getAdminFileNameNoRelocNoDepends()); 178cdf0e10cSrcweir System.err.println("DatabasePath: " + data.getDatabasePath()); 179cdf0e10cSrcweir System.err.println("InstallDir: " + data.getInstallDir()); 180cdf0e10cSrcweir System.err.println("Original privileges: " + data.getStoredInstallationPrivileges()); 181cdf0e10cSrcweir System.err.println("getuid.so File: " + data.getGetUidPath()); 182cdf0e10cSrcweir } 183cdf0e10cSrcweir dumpAllProperties()184cdf0e10cSrcweir static public void dumpAllProperties() { 185cdf0e10cSrcweir Properties properties = System.getProperties(); 186cdf0e10cSrcweir 187cdf0e10cSrcweir int size = properties.size(); 188cdf0e10cSrcweir Iterator m = properties.entrySet().iterator(); 189cdf0e10cSrcweir int counter = 0; 190cdf0e10cSrcweir 191cdf0e10cSrcweir while ( m.hasNext() ) { 192cdf0e10cSrcweir Map.Entry entry = (Map.Entry) m.next(); 193cdf0e10cSrcweir String env = entry.getKey() + "=" + entry.getValue(); 194cdf0e10cSrcweir System.err.println(env); 195cdf0e10cSrcweir } 196cdf0e10cSrcweir } 197cdf0e10cSrcweir 198cdf0e10cSrcweir } 199