home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / rmi / rmic / BatchEnvironment.class (.txt) next >
Encoding:
Java Class File  |  1997-07-08  |  2.8 KB  |  98 lines

  1. package sun.rmi.rmic;
  2.  
  3. import java.io.BufferedInputStream;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.OutputStream;
  8. import java.text.MessageFormat;
  9. import java.util.MissingResourceException;
  10. import java.util.Properties;
  11. import java.util.ResourceBundle;
  12. import sun.tools.java.ClassPath;
  13.  
  14. public class BatchEnvironment extends sun.tools.javac.BatchEnvironment {
  15.    boolean propsLoaded = false;
  16.    private static ResourceBundle resources;
  17.  
  18.    public BatchEnvironment(ClassPath var1) {
  19.       super(var1);
  20.    }
  21.  
  22.    public BatchEnvironment(OutputStream var1, ClassPath var2) {
  23.       super(var1, var2);
  24.    }
  25.  
  26.    public String getProperty(String var1) {
  27.       if (!this.propsLoaded) {
  28.          String var2 = System.getProperty("java.home");
  29.          String var3 = System.getProperty("rmi.home");
  30.          if (var3 == null || var3.length() == 0) {
  31.             var3 = var2;
  32.          }
  33.  
  34.          try {
  35.             resources = ResourceBundle.getBundle("sun.tools.javac.resources.javac");
  36.          } catch (MissingResourceException var5) {
  37.             throw new Error("Fatal: Resource for javac is missing");
  38.          }
  39.  
  40.          this.pushPropFile(var3, "rmic.properties");
  41.          this.propsLoaded = true;
  42.       }
  43.  
  44.       String var6;
  45.       try {
  46.          var6 = resources.getString(var1);
  47.       } catch (MissingResourceException var4) {
  48.          var6 = System.getProperty(var1);
  49.       }
  50.  
  51.       return var6;
  52.    }
  53.  
  54.    void pushPropFile(String var1, String var2) {
  55.       String var3 = var1 + System.getProperty("file.separator") + "lib" + System.getProperty("file.separator") + var2;
  56.  
  57.       try {
  58.          Properties var4 = new Properties(System.getProperties());
  59.          BufferedInputStream var5 = new BufferedInputStream(new FileInputStream(var3));
  60.          var4.load(var5);
  61.          ((InputStream)var5).close();
  62.          System.setProperties(var4);
  63.       } catch (IOException var6) {
  64.          ((sun.tools.javac.BatchEnvironment)this).output("failed to read: " + var3);
  65.          ((Throwable)var6).printStackTrace();
  66.       }
  67.    }
  68.  
  69.    public String errorString(String var1, Object var2, Object var3, Object var4) {
  70.       String var5 = null;
  71.       if (var1.startsWith("warn.")) {
  72.          var5 = this.getProperty("javac." + var1);
  73.       }
  74.  
  75.       if (var5 == null) {
  76.          var5 = this.getProperty("javac.err." + var1);
  77.       }
  78.  
  79.       if (var5 == null) {
  80.          var5 = this.getProperty(var1);
  81.       }
  82.  
  83.       if (var5 == null) {
  84.          return "error message '" + var1 + "' not found";
  85.       } else {
  86.          Object[] var6 = new Object[]{var2, var3, var4};
  87.  
  88.          for(int var7 = 0; var7 < var6.length; ++var7) {
  89.             if (var6[var7] != null & !(var6[var7] instanceof String)) {
  90.                var6[var7] = var6[var7].toString();
  91.             }
  92.          }
  93.  
  94.          return MessageFormat.format(var5, var6);
  95.       }
  96.    }
  97. }
  98.