blob: 55b6b06a86e0f2aacf40b3ff25a3bed12c37668c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
package org.openoffice.setup.SetupData;
import org.openoffice.setup.InstallData;
import org.openoffice.setup.Installer.Installer;
import org.openoffice.setup.Installer.InstallerFactory;
import java.util.Enumeration;
import java.util.Vector;
import javax.swing.tree.DefaultMutableTreeNode;
/**
*
* @author Christof Pintaske
*/
public class SetupDataProvider {
static private PackageDescription packageData;
static private ProductDescription productData;
private SetupDataProvider() {
}
public static PackageDescription getPackageDescription() {
return packageData;
}
public static ProductDescription getProductDescription() {
return productData;
}
public static String replaceMacros(String s) {
return productData.replaceMacros(s);
}
public static String getString(String key) {
return productData.get(key);
}
public static void setNewMacro(String key, String value) {
productData.setNewMacro(key, value);
}
public static void dumpMacros() {
productData.dumpMacros();
}
private static DefaultMutableTreeNode createTree(PackageDescription data, InstallData installData) {
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(new DisplayPackageDescription(data));
for (Enumeration e = data.children(); e.hasMoreElements(); ) {
PackageDescription child = (PackageDescription) e.nextElement();
// Do not display modules with "showinuserinstall" set to false in xpd file
// if this is a user installation.
if (( installData.isUserInstallation() ) && ( ! child.showInUserInstall() )) {
child.setIsHidden(true);
child.setSelectionState(PackageDescription.IGNORE);
}
// Only add modules, if they have not display type="hidden" in xpd file
if (!child.isHidden()) {
node.add(createTree(child, installData));
}
}
return node;
}
public static DefaultMutableTreeNode createTree() {
InstallData installData = InstallData.getInstance();
return createTree(getPackageDescription(), installData);
}
static {
XMLPackageDescription rawData = new XMLPackageDescription();
rawData.read();
// rawData.dump();
packageData = new PackageDescription(rawData);
productData = new ProductDescription(rawData);
}
}
|