author | devjani.ray@oracle.com <devjani.ray@oracle.com> |
Wed, 01 Feb 2012 09:22:41 -0500 | |
changeset 797 | a33daeba9b4c |
permissions | -rw-r--r-- |
797
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
1 |
/* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
3 |
* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
7 |
* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
11 |
* and limitations under the License. |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
12 |
* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
18 |
* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
20 |
*/ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
21 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
22 |
/* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
23 |
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
24 |
*/ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
25 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
26 |
package org.opensolaris.os.adr.adrgen; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
27 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
28 |
import org.opensolaris.os.adr.*; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
29 |
import java.io.File; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
30 |
import java.io.FileNotFoundException; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
31 |
import java.net.URL; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
32 |
import java.util.*; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
33 |
import javax.xml.XMLConstants; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
34 |
import javax.xml.parsers.DocumentBuilder; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
35 |
import javax.xml.parsers.DocumentBuilderFactory; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
36 |
import javax.xml.parsers.ParserConfigurationException; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
37 |
import javax.xml.transform.TransformerException; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
38 |
import javax.xml.validation.SchemaFactory; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
39 |
import org.xml.sax.ErrorHandler; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
40 |
import org.xml.sax.SAXException; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
41 |
import org.xml.sax.SAXParseException; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
42 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
43 |
public class RadADRGen { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
44 |
private static final String RADADRGEN_USAGE = "Usage: radadrgen [-N]" + |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
45 |
" [-c [-r [-m][-s]]] [-j dir [-i]] [-o {docbook | text | none}]" + |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
46 |
" [-d baseline.xml] spec.xml"; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
47 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
48 |
static class Option { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
49 |
private char letter_; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
50 |
private String arg_; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
51 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
52 |
Option(char letter, String arg) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
53 |
letter_ = letter; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
54 |
arg_ = arg; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
55 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
56 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
57 |
char getLetter() { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
58 |
return letter_; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
59 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
60 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
61 |
String getArg() { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
62 |
return arg_; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
63 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
64 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
65 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
66 |
static int getOptions(String[] args, String argspec, List<Option> opts) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
67 |
Map<Character, Boolean> optspecs = new HashMap<Character, Boolean>(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
68 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
69 |
/* Parse argspec */ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
70 |
int length = argspec.length(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
71 |
for (int i = 0; i < length; i++) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
72 |
char l = argspec.charAt(i); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
73 |
boolean hasargs = i + 1 < length && argspec.charAt(i + 1) == ':'; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
74 |
if (hasargs) |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
75 |
i++; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
76 |
optspecs.put(l, hasargs); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
77 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
78 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
79 |
/* Parse args */ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
80 |
boolean inopt = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
81 |
char pending = '\0'; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
82 |
int i; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
83 |
for (i = 0; i < args.length; i++) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
84 |
if (inopt) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
85 |
opts.add(new Option(pending, args[i])); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
86 |
inopt = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
87 |
continue; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
88 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
89 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
90 |
if (args[i].charAt(0) != '-') |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
91 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
92 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
93 |
for (int j = 1; j < args[i].length(); j++) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
94 |
char l = args[i].charAt(j); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
95 |
if (!optspecs.containsKey(l)) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
96 |
System.err.format("Invalid option \"%c\"\n", l); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
97 |
System.exit(2); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
98 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
99 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
100 |
if (!optspecs.get(l)) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
101 |
opts.add(new Option(l, null)); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
102 |
continue; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
103 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
104 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
105 |
if (j + 1 < args[i].length()) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
106 |
opts.add(new Option(l, args[i].substring(j + 1))); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
107 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
108 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
109 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
110 |
inopt = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
111 |
pending = l; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
112 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
113 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
114 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
115 |
if (inopt) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
116 |
System.err.format("Option \"%c\" requires an argument\n", pending); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
117 |
System.exit(2); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
118 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
119 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
120 |
return i; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
121 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
122 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
123 |
/* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
124 |
* -c cname -j jname -s sname |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
125 |
*/ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
126 |
/** |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
127 |
* @param args the command line arguments |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
128 |
*/ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
129 |
public static void main(String[] args) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
130 |
boolean generate_c = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
131 |
boolean generate_server = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
132 |
boolean generate_cstubs = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
133 |
boolean generate_java = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
134 |
boolean generate_jimpl = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
135 |
boolean generate_diff = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
136 |
boolean generate_common = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
137 |
boolean check_nullable = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
138 |
DocGenerator.Format doc_fmt = null; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
139 |
String java_dir = "java"; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
140 |
String baseline = ""; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
141 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
142 |
List<Option> opts = new LinkedList<Option>(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
143 |
int operands = getOptions(args, "Ncj:mrsid:o:", opts); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
144 |
for (Option o : opts) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
145 |
switch (o.getLetter()) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
146 |
case 'N': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
147 |
check_nullable = false; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
148 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
149 |
case 'c': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
150 |
generate_c = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
151 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
152 |
case 'j': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
153 |
generate_java = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
154 |
java_dir = o.getArg(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
155 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
156 |
case 'r': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
157 |
generate_server = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
158 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
159 |
case 's': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
160 |
generate_cstubs = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
161 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
162 |
case 'i': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
163 |
generate_jimpl = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
164 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
165 |
case 'd': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
166 |
generate_diff = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
167 |
baseline = o.getArg(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
168 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
169 |
case 'm': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
170 |
generate_common = true; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
171 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
172 |
case 'o': |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
173 |
try { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
174 |
doc_fmt = |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
175 |
DocGenerator.Format.valueOf(o.getArg().toUpperCase()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
176 |
} catch (IllegalArgumentException ie) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
177 |
System.err.format("Invalid documentation format: %s\n", |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
178 |
o.getArg()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
179 |
System.err.println(RADADRGEN_USAGE); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
180 |
System.exit(2); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
181 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
182 |
break; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
183 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
184 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
185 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
186 |
if (operands == args.length) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
187 |
System.err.println(RADADRGEN_USAGE); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
188 |
System.exit(2); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
189 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
190 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
191 |
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
192 |
factory.setNamespaceAware(true); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
193 |
try { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
194 |
URL schema = ADRGen.class.getResource("adr.xsd"); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
195 |
if (schema == null) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
196 |
System.err.println("Unable to find schema"); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
197 |
System.exit(1); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
198 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
199 |
SchemaFactory schemafactory = SchemaFactory.newInstance( |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
200 |
XMLConstants.W3C_XML_SCHEMA_NS_URI); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
201 |
/* Use SchemaResourceResolver to find included/imported schemas */ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
202 |
schemafactory.setResourceResolver(new SchemaResourceResolver()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
203 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
204 |
factory.setSchema(schemafactory.newSchema(schema)); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
205 |
} catch (SAXException e) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
206 |
System.err.println("Error reading ADR schema: " + e.getMessage()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
207 |
System.exit(1); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
208 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
209 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
210 |
DocumentBuilder builder; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
211 |
/* Contrary to the javadoc, the default error handler just drives on */ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
212 |
ErrorHandler realHandler = new ErrorHandler() { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
213 |
public void warning(SAXParseException exception) |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
214 |
throws SAXException { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
215 |
throw exception; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
216 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
217 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
218 |
public void error(SAXParseException exception) |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
219 |
throws SAXException { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
220 |
throw exception; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
221 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
222 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
223 |
public void fatalError(SAXParseException exception) |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
224 |
throws SAXException { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
225 |
throw exception; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
226 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
227 |
}; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
228 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
229 |
try { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
230 |
builder = factory.newDocumentBuilder(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
231 |
builder.setErrorHandler(realHandler); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
232 |
} catch (ParserConfigurationException ex) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
233 |
System.err.println("Initialization error"); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
234 |
System.exit(1); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
235 |
return; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
236 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
237 |
|
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
238 |
for (int i = operands; i < args.length; i++) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
239 |
String file = args[i]; |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
240 |
try { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
241 |
ADRGen p = new ADRGen(builder, new File(file), check_nullable); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
242 |
if (generate_diff) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
243 |
ADRGen pbaseline = |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
244 |
new ADRGen(builder, new File(baseline), check_nullable); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
245 |
APIDiff.diff(pbaseline.iface_.apis_, p.iface_.apis_); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
246 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
247 |
if (generate_c) |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
248 |
CGenerator.generate(p, generate_server, generate_cstubs, |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
249 |
generate_common); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
250 |
if (generate_java) |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
251 |
new JGenerator(p, java_dir).generate(false, generate_jimpl); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
252 |
if (doc_fmt != null) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
253 |
DocGenerator.generate(p, doc_fmt); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
254 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
255 |
} catch (ParseException e) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
256 |
System.err.format("Error parsing file %s: %s\n", file, |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
257 |
e.getMessage()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
258 |
System.exit(1); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
259 |
} catch (FileNotFoundException e) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
260 |
System.err.println(e.getMessage()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
261 |
System.exit(1); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
262 |
} catch (TransformerException e) { |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
263 |
/* Display an error and continue other operations */ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
264 |
System.err.format("Error transforming file %s: %s\n", file, |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
265 |
e.getMessage()); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
266 |
System.exit(1); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
267 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
268 |
builder.reset(); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
269 |
/* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
270 |
* Contrary to the javadoc, the post-reset error handler is *not* |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
271 |
* functionally equal to the pre-reset error handler. |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
272 |
*/ |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
273 |
builder.setErrorHandler(realHandler); |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
274 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
275 |
} |
a33daeba9b4c
CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff
changeset
|
276 |
} |