home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xa / ErrorWindow.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  6.4 KB  |  138 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.app.BaseAction;
  4. import com.extensibility.app.BaseDocument;
  5. import com.extensibility.app.BaseWindow;
  6. import com.extensibility.app.UI;
  7. import com.extensibility.rock.BaseMenu;
  8. import com.extensibility.rock.RAction;
  9. import com.extensibility.xml.ParserException;
  10. import java.awt.BorderLayout;
  11. import java.awt.Component;
  12. import java.text.MessageFormat;
  13. import java.util.Enumeration;
  14. import java.util.Vector;
  15. import javax.swing.JFrame;
  16. import javax.swing.JList;
  17. import javax.swing.JMenuBar;
  18. import javax.swing.JScrollPane;
  19. import javax.swing.JSplitPane;
  20. import javax.swing.JTextArea;
  21.  
  22. public class ErrorWindow extends BaseWindow {
  23.    static final String LARGE_STRING = ">< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< ";
  24.    static final String WRITE_BREAK = ">< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< ";
  25.    JScrollPane scroller;
  26.    JList list;
  27.    Vector errors;
  28.    JSplitPane split;
  29.    JTextArea details;
  30.    JScrollPane detailScroll;
  31.    static final MessageFormat mf1 = new MessageFormat(UI.getString("err.encounter.pe"));
  32.    static final MessageFormat mf2 = new MessageFormat(UI.getString("err.encounter.uri"));
  33.    static final MessageFormat mf3 = new MessageFormat(UI.getString("err.encounter.pe.within"));
  34.    static final MessageFormat mf4 = new MessageFormat(UI.getString("err.encounter.uri.within"));
  35.  
  36.    public static boolean available(SchemaDoc var0) {
  37.       return !var0.getParseErrors().isEmpty();
  38.    }
  39.  
  40.    public String getText() {
  41.       return "PRINTING NOT SUPPORTED";
  42.    }
  43.  
  44.    public ErrorWindow(SchemaDoc var1) {
  45.       super(var1);
  46.       ((Component)this).setVisible(false);
  47.       ((JFrame)this).getContentPane().setLayout(new BorderLayout());
  48.       this.errors = var1.getParseErrors();
  49.       this.details = new JTextArea();
  50.       this.details.setEditable(false);
  51.       this.details.setLineWrap(true);
  52.       this.details.setWrapStyleWord(true);
  53.       this.detailScroll = new JScrollPane(this.details);
  54.       this.list = new JList(this.errors);
  55.       if (this.errors.size() > 0) {
  56.          this.list.addListSelectionListener(new 1(this));
  57.       }
  58.  
  59.       this.list.setPrototypeCellValue(new ParserException(101, ">< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< >< "));
  60.       this.list.setCellRenderer(new ErrorCell(((BaseDocument)var1).getURI()));
  61.       JScrollPane var2 = new JScrollPane(this.list);
  62.       this.split = new JSplitPane(0, var2, this.detailScroll);
  63.       ((JFrame)this).getContentPane().add(this.split, "Center");
  64.       ((JFrame)this).setJMenuBar(this.createMenuBar());
  65.       this.list.setSelectedIndex(0);
  66.       this.list.requestFocus();
  67.    }
  68.  
  69.    public String getClassName() {
  70.       return "com.extensibility.xa.ErrorWindow";
  71.    }
  72.  
  73.    public String formatDetails(ParserException var1) {
  74.       StringBuffer var2 = new StringBuffer();
  75.       var2.append(var1.getMessage());
  76.       boolean var3 = true;
  77.       Enumeration var4 = var1.getContext();
  78.       var2.append(" ");
  79.  
  80.       while(var4.hasMoreElements()) {
  81.          ParserException.Context var5 = (ParserException.Context)var4.nextElement();
  82.          if (var3) {
  83.             if (var5.isInternal()) {
  84.                var2.append(mf1.format(new String[]{var5.getName()}));
  85.             } else if (!var5.getURI().hasPersistence()) {
  86.                var2.append(UI.getString("err.recurse", "pe."));
  87.             } else {
  88.                var2.append(mf2.format(new String[]{(new Integer(var5.getColumn())).toString(), (new Integer(var5.getLine())).toString(), var5.getURI().getFullName()}));
  89.             }
  90.  
  91.             var3 = false;
  92.          } else if (var5.isInternal()) {
  93.             var2.append(mf3.format(new String[]{var5.getName()}));
  94.          } else if (var5.getURI().hasPersistence()) {
  95.             String var6 = var5.getURI().getFullName();
  96.             var2.append(mf4.format(new String[]{(new Integer(var5.getLine())).toString(), var6}));
  97.          }
  98.       }
  99.  
  100.       var2.append(UI.getString("err.decl.source"));
  101.       var2.append(System.getProperty("line.separator"));
  102.       var2.append(System.getProperty("line.separator"));
  103.       var2.append(var1.getSource());
  104.       return var2.toString();
  105.    }
  106.  
  107.    protected JMenuBar createMenuBar() {
  108.       JMenuBar var1 = new JMenuBar();
  109.       super.muFile = (BaseMenu)var1.add(new BaseMenu(UI.getString("menu.file")));
  110.       super.muFile.setMnemonic(UI.getMnemonic("menu.file"));
  111.       this.createCloseAction().addToMenu(super.muFile);
  112.       super.muFile.addSeparator();
  113.       this.createSaveAsAction().addToMenu(super.muFile);
  114.       super.muFile.addSeparator();
  115.       this.createPrintSetupAction().addToMenu(super.muFile);
  116.       this.createPrintAction().addToMenu(super.muFile);
  117.       super.muFile.addSeparator();
  118.       ((BaseWindow)this).createExitAction().addToMenu(super.muFile);
  119.       return var1;
  120.    }
  121.  
  122.    protected BaseAction createCloseAction() {
  123.       return new 2(this, "file.item.close", 'W');
  124.    }
  125.  
  126.    protected RAction createSaveAsAction() {
  127.       return new 3(this, "file.item.save.as");
  128.    }
  129.  
  130.    protected RAction createPrintSetupAction() {
  131.       return new 4((ErrorWindow)null, "file.item.print.setup");
  132.    }
  133.  
  134.    protected RAction createPrintAction() {
  135.       return new 5((ErrorWindow)null, "file.item.print", 'P');
  136.    }
  137. }
  138.