/[classpath]/cp-tools/src/gnu/localegen/JavaGenerator.java
ViewVC logotype

Diff of /cp-tools/src/gnu/localegen/JavaGenerator.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.24 by cbj, Sun Jan 30 02:33:09 2005 UTC revision 1.25 by gnu_andrew, Mon Jan 31 02:35:58 2005 UTC
# Line 68  public class JavaGenerator Line 68  public class JavaGenerator
68      boolean isPackage();      boolean isPackage();
69    
70      void generateContent(PrintWriter o);      void generateContent(PrintWriter o);
71    
72        boolean isUsable();
73    }    }
74    
75    /*    /*
# Line 137  public class JavaGenerator Line 139  public class JavaGenerator
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    /*    /*
# Line 194  public class JavaGenerator Line 201  public class JavaGenerator
201          }          }
202        o.println("\";");        o.println("\";");
203      }      }
204    
205        public boolean isUsable()
206        {
207          return true;
208        }
209    }    }
210    
211    /*    /*
# Line 238  public class JavaGenerator Line 250  public class JavaGenerator
250          }          }
251        o.println("  };");        o.println("  };");
252      }      }
253    
254        public boolean isUsable()
255        {
256          return true;
257        }
258    }    }
259    
260    /*    /*
# Line 298  public class JavaGenerator Line 315  public class JavaGenerator
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()
# Line 327  public class JavaGenerator Line 351  public class JavaGenerator
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    
# Line 386  public class JavaGenerator Line 438  public class JavaGenerator
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();
# Line 406  public class JavaGenerator Line 458  public class JavaGenerator
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();
# Line 423  public class JavaGenerator Line 475  public class JavaGenerator
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();");
# Line 434  public class JavaGenerator Line 486  public class JavaGenerator
486        o.println("      }");        o.println("      }");
487        o.println("  }");        o.println("  }");
488      }      }
489    
490        public boolean isUsable()
491        {
492          return true;
493        }
494    }    }
495    
496    /*    /*
# Line 742  public class JavaGenerator Line 799  public class JavaGenerator
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();

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26