ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/java/installer2/src/net/oni2/aeinstaller/backend/oni/XMLTools.java
Revision: 937
Committed: Thu Feb 6 14:02:28 2014 UTC (11 years, 8 months ago) by alloc
Content type: text/x-java
File size: 1782 byte(s)
Log Message:
Change to 2.17:
- Updated XmlTools invocation again (path passed as separate param)

File Contents

# Content
1 package net.oni2.aeinstaller.backend.oni;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.Vector;
6
7 import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
8 import net.oni2.aeinstaller.backend.Paths;
9 import net.oni2.platformtools.PlatformInformation;
10 import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
11 import net.oni2.platformtools.applicationinvoker.ApplicationInvocationResult;
12 import net.oni2.platformtools.applicationinvoker.EExeType;
13 import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
14
15 /**
16 * @author Christian Illy
17 */
18 public class XMLTools {
19
20 /**
21 * Patch XML files with the given patch list
22 *
23 * @param patch
24 * Patchlist file
25 *
26 * @return XMLTools output
27 */
28 public static ApplicationInvocationResult patch(File patch) {
29 Vector<String> params = new Vector<String>();
30 params.add("--aei-patch-files-list");
31 params.add(patch.getPath());
32 ApplicationInvocationResult res = null;
33 try {
34 res = ApplicationInvoker.executeAndWait(EExeType.OSBINARY, null,
35 getProgramFile(), params, false);
36 } catch (IOException e) {
37 e.printStackTrace();
38 } catch (ERuntimeNotInstalledException e) {
39 e.printStackTrace();
40 }
41 return res;
42 }
43
44 private static File getProgramFile() {
45 File toolsPath = CaseInsensitiveFile.getCaseInsensitiveFile(
46 Paths.getEditionBasePath(), "Tools");
47 File xmlToolsPath = CaseInsensitiveFile.getCaseInsensitiveFile(
48 toolsPath, "XmlTools");
49 switch (PlatformInformation.getPlatform()) {
50 case WIN:
51 return CaseInsensitiveFile.getCaseInsensitiveFile(xmlToolsPath,
52 "XmlTools.exe");
53 case LINUX:
54 case MACOS:
55 return CaseInsensitiveFile.getCaseInsensitiveFile(xmlToolsPath,
56 "XmlTools");
57 default:
58 }
59 return null;
60 }
61 }