68 |
boolean isPackage(); |
boolean isPackage(); |
69 |
|
|
70 |
void generateContent(PrintWriter o); |
void generateContent(PrintWriter o); |
71 |
|
|
72 |
|
boolean isUsable(); |
73 |
} |
} |
74 |
|
|
75 |
/* |
/* |
139 |
public void generateContent(PrintWriter o) |
public void generateContent(PrintWriter o) |
140 |
{ |
{ |
141 |
} |
} |
142 |
|
|
143 |
|
public boolean isUsable() |
144 |
|
{ |
145 |
|
return true; |
146 |
|
} |
147 |
} |
} |
148 |
|
|
149 |
/* |
/* |
201 |
} |
} |
202 |
o.println("\";"); |
o.println("\";"); |
203 |
} |
} |
204 |
|
|
205 |
|
public boolean isUsable() |
206 |
|
{ |
207 |
|
return true; |
208 |
|
} |
209 |
} |
} |
210 |
|
|
211 |
/* |
/* |
250 |
} |
} |
251 |
o.println(" };"); |
o.println(" };"); |
252 |
} |
} |
253 |
|
|
254 |
|
public boolean isUsable() |
255 |
|
{ |
256 |
|
return true; |
257 |
|
} |
258 |
} |
} |
259 |
|
|
260 |
/* |
/* |
315 |
o.println(" null,"); |
o.println(" null,"); |
316 |
o.println(" };"); |
o.println(" };"); |
317 |
} |
} |
318 |
|
|
319 |
|
public boolean isUsable() |
320 |
|
{ |
321 |
|
return true; |
322 |
|
} |
323 |
} |
} |
324 |
|
|
325 |
class TimeZoneContent implements JavaContent |
class TimeZoneContent implements JavaContent |
326 |
{ |
{ |
327 |
ListDataElement listElt; |
ListDataElement listElt; |
328 |
|
boolean usable; |
329 |
|
|
330 |
public TimeZoneContent(ListDataElement elt) |
public TimeZoneContent(ListDataElement elt) |
331 |
{ |
{ |
332 |
this.listElt = elt; |
this.listElt = elt; |
333 |
|
usable = false; |
334 |
} |
} |
335 |
|
|
336 |
public boolean isPackage() |
public boolean isPackage() |
351 |
public void generateContent(PrintWriter o) |
public void generateContent(PrintWriter o) |
352 |
{ |
{ |
353 |
Enumeration keys = listElt.listData.keys(); |
Enumeration keys = listElt.listData.keys(); |
354 |
o.println(" private static final String[][] zoneStrings ="); |
StringBuffer buffer = new StringBuffer(); |
355 |
o.println(" {"); |
|
356 |
|
buffer.append(" private static final String[][] zoneStrings =\n"); |
357 |
|
buffer.append(" {\n"); |
358 |
|
|
359 |
while (keys.hasMoreElements()) |
while (keys.hasMoreElements()) |
360 |
{ |
{ |
361 |
String zoneName = (String) keys.nextElement(); |
String zoneName = (String)keys.nextElement(); |
362 |
Hashtable zoneTable; |
Hashtable zoneTable; |
363 |
Iterator allValues; |
Iterator allValues; |
364 |
DataElement zoneData; |
DataElement zoneData; |
365 |
o.print(" { "); |
StringBuffer buffer2 = new StringBuffer(); |
366 |
zoneTable = listElt.flattenLeaf(zoneName); |
boolean zoneDataFound = false; |
367 |
for (int j = 0; j < classpathZoneOrder.length; j++) |
|
368 |
{ |
buffer2.append(" { "); |
369 |
zoneData = (DataElement) zoneTable.get(classpathZoneOrder[j]); |
|
370 |
if (zoneData != null) |
buffer2.append(" \"" + zoneName + "\", "); |
371 |
o.print("\"" + convertToJavaString(zoneData.data) + "\", "); |
|
372 |
else |
zoneTable = listElt.flattenLeaf(zoneName); |
373 |
/* TODO: Emit a warning here "Insufficient data" */ |
for (int j = 0; j < classpathZoneOrder.length; j++) |
374 |
o.print("\"\", "); |
{ |
375 |
} |
zoneData = (DataElement)zoneTable.get(classpathZoneOrder[j]); |
376 |
o.println(" \"" + zoneName + "\" },"); |
if (zoneData != null) |
377 |
} |
{ |
378 |
o.println(" };"); |
buffer2.append("\""); |
379 |
|
buffer2.append(convertToJavaString(zoneData.data)); |
380 |
|
buffer2.append("\", "); |
381 |
|
zoneDataFound = true; |
382 |
|
} |
383 |
|
else |
384 |
|
/* TODO: Emit a warning here "Insufficient data" */ |
385 |
|
buffer2.append("\"\", "); |
386 |
|
} |
387 |
|
if (zoneDataFound) |
388 |
|
{ |
389 |
|
buffer.append(buffer2.substring(0, buffer2.length() - 2)); |
390 |
|
buffer.append("},\n"); |
391 |
|
usable = true; |
392 |
|
} |
393 |
|
} |
394 |
|
if (usable) |
395 |
|
{ |
396 |
|
o.print(buffer); |
397 |
|
o.println(" };"); |
398 |
|
} |
399 |
|
} |
400 |
|
|
401 |
|
public boolean isUsable() |
402 |
|
{ |
403 |
|
return usable; |
404 |
} |
} |
405 |
} |
} |
406 |
|
|
438 |
while (more) |
while (more) |
439 |
{ |
{ |
440 |
String key = (String) keys.nextElement(); |
String key = (String) keys.nextElement(); |
441 |
if (key.indexOf("|") != -1) |
if (key.indexOf("\u00A6") != -1) |
442 |
{ |
{ |
443 |
System.err.println(name + " key: '" + key + "' contains |"); |
System.err.println(name + " key: '" + key + "' contains \u00A6"); |
444 |
System.exit(-1); |
System.exit(-1); |
445 |
} |
} |
446 |
o.print(key); |
o.print(key); |
447 |
more = keys.hasMoreElements(); |
more = keys.hasMoreElements(); |
448 |
if (more) |
if (more) |
449 |
o.print('|'); |
o.print("\\u00A6"); |
450 |
} |
} |
451 |
o.println("\";"); |
o.println("\";"); |
452 |
o.println(); |
o.println(); |
458 |
String key = (String) keys.nextElement(); |
String key = (String) keys.nextElement(); |
459 |
String value = (String) table.get(key); |
String value = (String) table.get(key); |
460 |
value = convertToJavaString(value); |
value = convertToJavaString(value); |
461 |
if (value.indexOf("|") != -1) |
if (value.indexOf("\u00A6") != -1) |
462 |
{ |
{ |
463 |
System.err.println(name + " value: '" + value + "' contains |"); |
System.err.println(name + " value: '" + value + "' contains \u00A6"); |
464 |
System.exit(-1); |
System.exit(-1); |
465 |
} |
} |
466 |
o.print(value); |
o.print(value); |
467 |
more = keys.hasMoreElements(); |
more = keys.hasMoreElements(); |
468 |
if (more) |
if (more) |
469 |
o.print('|'); |
o.print("\\u00A6"); |
470 |
} |
} |
471 |
o.println("\";"); |
o.println("\";"); |
472 |
o.println(); |
o.println(); |
475 |
o.println(" {"); |
o.println(" {"); |
476 |
o.println(" " + name + " = new Hashtable();"); |
o.println(" " + name + " = new Hashtable();"); |
477 |
o.println(" Enumeration keys = new StringTokenizer(" + name |
o.println(" Enumeration keys = new StringTokenizer(" + name |
478 |
+ "Keys, \"|\");"); |
+ "Keys, \"\\u00A6\");"); |
479 |
o.println(" Enumeration values = new StringTokenizer(" + name |
o.println(" Enumeration values = new StringTokenizer(" + name |
480 |
+ "Values, \"|\");"); |
+ "Values, \"\\u00A6\");"); |
481 |
o.println(" while (keys.hasMoreElements())"); |
o.println(" while (keys.hasMoreElements())"); |
482 |
o.println(" {"); |
o.println(" {"); |
483 |
o.println(" String key = (String) keys.nextElement();"); |
o.println(" String key = (String) keys.nextElement();"); |
486 |
o.println(" }"); |
o.println(" }"); |
487 |
o.println(" }"); |
o.println(" }"); |
488 |
} |
} |
489 |
|
|
490 |
|
public boolean isUsable() |
491 |
|
{ |
492 |
|
return true; |
493 |
|
} |
494 |
} |
} |
495 |
|
|
496 |
/* |
/* |
799 |
for (int i = 0; i < localeContents.size(); i++) |
for (int i = 0; i < localeContents.size(); i++) |
800 |
{ |
{ |
801 |
JavaContent content = (JavaContent) localeContents.get(i); |
JavaContent content = (JavaContent) localeContents.get(i); |
802 |
if (content.isPackage()) |
if (content.isUsable()) |
803 |
o.print(" { \"" + content.getName() + "\", " + content.getName() |
{ |
804 |
+ " }"); |
if (content.isPackage()) |
805 |
else |
o.print(" { \"" + content.getName() + "\", " + content.getName() |
806 |
o.print(" { \"" + content.getName() + "\", \"" |
+ " }"); |
807 |
+ convertToJavaString(content.getData()) + "\" }"); |
else |
808 |
o.println(","); |
o.print(" { \"" + content.getName() + "\", \"" |
809 |
|
+ convertToJavaString(content.getData()) + "\" }"); |
810 |
|
o.println(","); |
811 |
|
} |
812 |
} |
} |
813 |
o.println(" };"); |
o.println(" };"); |
814 |
o.println(); |
o.println(); |