User: andreas 
  Date: 00/10/14 22:27:00

  Modified:    src/main/com/dreambean/ejx/editor About.java EJX.java
                        Preferences.java
  Added:       src/main/com/dreambean/ejx/editor ResourceManagerViewer.java
  Removed:     src/main/com/dreambean/ejx/editor FileManagerViewer.java
  Log:
  Replaced FileManager and FileManagerFactory by the new
  ResourceManager and ResourceManagerFactory supporting
  URL instead of just files.
  ATTENTION:
  - At the moment you can still only use files to open and store
  Data because of unresolved issues (FilterFilter and JFile-
  Chooser)
  - These changes are NOT PORTED to jBoss CVS module
  
  Revision  Changes    Path
  1.2       +3 -3      ejx/src/main/com/dreambean/ejx/editor/About.java
  
  Index: About.java
  ===================================================================
  RCS file: /products/cvs/ejboss/ejx/src/main/com/dreambean/ejx/editor/About.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- About.java        2000/07/27 13:52:50     1.1
  +++ About.java        2000/10/15 05:26:59     1.2
  @@ -13,7 +13,7 @@
    *      
    *   @see <related>
    *   @author Rickard Oberg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class About
      extends JPanel
  @@ -33,7 +33,7 @@
                
                add("North",new JLabel(new 
ImageIcon(getClass().getResource("/images/dreambean300.gif"))));
         
  -      Collection facts = EJX.getFileManagerFactories();
  +      Collection facts = EJX.getResourceManagerFactories();
         JPanel packages = new JPanel(new GridLayout(facts.size()+4,1));
         Package p = getClass().getPackage();
         packages.add(new JLabel(p.getSpecificationTitle()+", 
"+p.getSpecificationVersion()+", "+p.getSpecificationVendor()));
  @@ -69,4 +69,4 @@
      // Private -------------------------------------------------------
   
      // Inner classes -------------------------------------------------
  -}
  \ No newline at end of file
  +}
  
  
  
  1.2       +38 -37    ejx/src/main/com/dreambean/ejx/editor/EJX.java
  
  Index: EJX.java
  ===================================================================
  RCS file: /products/cvs/ejboss/ejx/src/main/com/dreambean/ejx/editor/EJX.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- EJX.java  2000/07/27 13:52:50     1.1
  +++ EJX.java  2000/10/15 05:26:59     1.2
  @@ -20,11 +20,12 @@
   import com.dreambean.ejx.xml.*;
   
   /**
  - *   <description> 
  + *   Core GUI deliverer. Creates the Frame EJX is displayed within,
  + *   defines the menu and its actions and the Toolbar.
    *      
    *   @see <related>
    *   @author Rickard Oberg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class EJX
        extends BeanContextServicesSupport
  @@ -46,11 +47,11 @@
                                if (idx == -1) 
                                        return; // Cancel
                                                
  -                             FileManagerFactory fmf = 
(FileManagerFactory)factories.elementAt(idx);
  -                             FileManager fm = fmf.createFileManager();
  -                             add(fm);
  -                             fm.createNew();
  -                             add(new FileManagerViewer(fm));
  +                             ResourceManagerFactory rmf = 
(ResourceManagerFactory)factories.elementAt(idx);
  +                             ResourceManager rm = rmf.createResourceManager();
  +                             add(rm);
  +                             rm.createNew();
  +                             add(new ResourceManagerViewer(rm));
                        } catch (Exception e)
                        {
                                e.printStackTrace();
  @@ -73,13 +74,13 @@
                                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                                
                                // Add filters - one per file type supported
  -                             Iterator enum = getFileManagerFactories().iterator();
  +                             Iterator enum = 
getResourceManagerFactories().iterator();
                                Hashtable filters = new Hashtable();
                                while (enum.hasNext())
                                {
  -                                     FileManagerFactory fmf = 
(FileManagerFactory)enum.next();
  -                                     FileFilter ff = fmf.getFileFilter();
  -                                     filters.put(ff,fmf);
  +                                     ResourceManagerFactory rmf = 
(ResourceManagerFactory)enum.next();
  +                                     FileFilter ff = rmf.getFileFilter();
  +                                     filters.put(ff,rmf);
                                        chooser.addChoosableFileFilter(ff);
                                }
   
  @@ -90,11 +91,11 @@
                                if (returnVal == JFileChooser.APPROVE_OPTION) 
                                {
                                        // Create file manager, add it to application 
structure, and load the file
  -                                     FileManagerFactory fmf = 
(FileManagerFactory)filters.get(chooser.getFileFilter());
  -                                     FileManager fm = 
(FileManager)fmf.createFileManager();
  -                                     add(fm);
  -                                     fm.load(chooser.getSelectedFile());
  -                                     add(new FileManagerViewer(fm));
  +                                     ResourceManagerFactory rmf = 
(ResourceManagerFactory)filters.get(chooser.getFileFilter());
  +                                     ResourceManager rm = 
(ResourceManager)rmf.createResourceManager();
  +                                     add(rm);
  +                                     rm.load(chooser.getSelectedFile().toURL());
  +                                     add(new ResourceManagerViewer(rm));
               }
                        } catch (Exception e)
                        {
  @@ -110,12 +111,12 @@
                {
                        try
                        {
  -                             FileManager fm = getActiveFileManager();
  -                             if (fm == null)
  +                             ResourceManager rm = getActiveResourceManager();
  +                             if (rm == null)
                                        return;
                                        
  -                             File f = fm.getFile();
  -                             if (f == null)
  +                             URL r = rm.getResource();
  +                             if (r == null)
                                {
                  // Fix for JFileChooser/SecurityManager bug (#4264750)
                  SecurityManager s = System.getSecurityManager();
  @@ -125,7 +126,7 @@
                                        JFileChooser chooser = new 
JFileChooser(System.getProperty("user.dir"));
                                        
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                                        
  -                                     
chooser.setFileFilter(fm.getFactory().getFileFilter()); 
  +                                     
chooser.setFileFilter(rm.getFactory().getFileFilter()); 
                  
                  int returnVal = chooser.showSaveDialog(frame); 
                  System.setSecurityManager(s);
  @@ -133,10 +134,10 @@
                                        {
                                                return;
                                        }
  -                                     f = chooser.getSelectedFile();
  +                                     r = chooser.getSelectedFile().toURL();
                                }
                                
  -                             fm.save(f);
  +                             rm.save(r);
                        } catch (DOMException e)
                        {
                                System.out.println("DOM error:"+e.code);
  @@ -154,8 +155,8 @@
                {
                        try
                        {
  -                             FileManager fm = getActiveFileManager();
  -                             if (fm == null)
  +                             ResourceManager rm = getActiveResourceManager();
  +                             if (rm == null)
                                        return;
                                        
               // Fix for JFileChooser/SecurityManager bug (#4264750)
  @@ -165,7 +166,7 @@
                                // Choose file
                                JFileChooser chooser = new 
JFileChooser(System.getProperty("user.dir"));
                                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
  -                             
chooser.setFileFilter(fm.getFactory().getFileFilter()); 
  +                             
chooser.setFileFilter(rm.getFactory().getFileFilter()); 
               
               int returnVal = chooser.showSaveDialog(frame); 
               System.setSecurityManager(s);
  @@ -173,7 +174,7 @@
                                {
                                        return;
                                }
  -                             fm.save(chooser.getSelectedFile());
  +                             rm.save(chooser.getSelectedFile().toURL());
                        } catch (DOMException e)
                        {
                                System.out.println("DOM error:"+e.code);
  @@ -221,7 +222,7 @@
      // Static --------------------------------------------------------
      static Vector factories;
      
  -   public static Collection getFileManagerFactories()
  +   public static Collection getResourceManagerFactories()
      {
         return factories;
      }
  @@ -280,7 +281,7 @@
                frame.setVisible(true);
                
                // Load factories
  -             StringTokenizer enum = new 
StringTokenizer(prefs.getFilemanagerFactories(),", ");
  +             StringTokenizer enum = new 
StringTokenizer(prefs.getResourceManagerFactories(),", ");
                factories = new Vector();
                while (enum.hasMoreElements())
                {
  @@ -320,22 +321,22 @@
        public JFrame getFrame() { return frame; }
        public JToolBar getToolBar() { return toolBar; }
   
  -     public FileManager getActiveFileManager()
  +     public ResourceManager getActiveResourceManager()
        {
                // Find file to save
                Iterator enum = iterator();
  -             FileManagerViewer fmv;
  -             FileManager fm = null;
  +             ResourceManagerViewer rmv;
  +             ResourceManager rm = null;
                while(enum.hasNext())
                {
                        Object obj = enum.next();
  -                     if (obj instanceof FileManagerViewer)
  +                     if (obj instanceof ResourceManagerViewer)
                        {
  -                             fmv = (FileManagerViewer)obj;
  -                             JInternalFrame frame = 
(JInternalFrame)fmv.getComponent();
  +                             rmv = (ResourceManagerViewer)obj;
  +                             JInternalFrame frame = 
(JInternalFrame)rmv.getComponent();
                                if (frame.isSelected())
                                {
  -                                     return fmv.getFileManager();
  +                                     return rmv.getResourceManager();
                                }
                        }
                }
  @@ -355,4 +356,4 @@
      // Private -------------------------------------------------------
   
      // Inner classes -------------------------------------------------
  -}
  \ No newline at end of file
  +}
  
  
  
  1.2       +3 -3      ejx/src/main/com/dreambean/ejx/editor/Preferences.java
  
  Index: Preferences.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/ejx/src/main/com/dreambean/ejx/editor/Preferences.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Preferences.java  2000/07/27 13:52:50     1.1
  +++ Preferences.java  2000/10/15 05:26:59     1.2
  @@ -20,7 +20,7 @@
    *      
    *   @see <related>
    *   @author Rickard Oberg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class Preferences
        extends BeanContextChildSupport
  @@ -59,7 +59,7 @@
      public void setXmlManager(String className) { xmlManager = className; }
      public String getXmlManager() { return xmlManager; }
   
  -   public String getFilemanagerFactories() { return mgrFactories; }
  +   public String getResourceManagerFactories() { return mgrFactories; }
   
      public void show()
        {
  @@ -232,4 +232,4 @@
                
        }
      // Inner classes -------------------------------------------------
  -}
  \ No newline at end of file
  +}
  
  
  
  1.1                  ejx/src/main/com/dreambean/ejx/editor/ResourceManagerViewer.java
  
  Index: ResourceManagerViewer.java
  ===================================================================
  /*
   * Copyright 1999 by dreamBean Software,
   * All rights reserved.
   */
  package com.dreambean.ejx.editor;
  
  import java.awt.*;
  import java.awt.event.*;
  import java.io.*;
  import java.net.URL;
  import java.beans.*;
  import java.beans.beancontext.*;
  import java.util.*;
  import javax.swing.*;
  import javax.swing.event.*;
  
  import org.w3c.dom.Document;
  
  import com.dreambean.awt.*;
  
  import com.dreambean.ejx.*;
  
  /**
   *   <description> 
   *      
   *   @see <related>
   *   @author Rickard Oberg ([EMAIL PROTECTED])
   *   @version $Revision: 1.1 $
   */
  public class ResourceManagerViewer
        extends BeanContextServicesSupport
  {
     // Constants -----------------------------------------------------
     private final static ResourceBundle res = ResourceBundle.getBundle("ejx");
      
     // Attributes ----------------------------------------------------
        ResourceManager rm;
     JInternalFrame frame;
     
     Action windowAction;
     JMenuItem menuItem;
     
     // Static --------------------------------------------------------
  
     // Constructors --------------------------------------------------
     public ResourceManagerViewer(ResourceManager rm)
        {
                this.rm = rm;
                rm.addPropertyChangeListener("File",this);
        }
        
     // Public --------------------------------------------------------
     public ResourceManager getResourceManager()
        {
                return rm;
        }
     
        public Component getComponent()
        {
                return frame;
        }
        
        public void propertyChange(PropertyChangeEvent e)
        {
                URL r = (URL)e.getNewValue();
                if (r != null)
                {
                        frame.setTitle(r.toString());
                        windowAction.putValue(AbstractAction.NAME,r.getFile());
                }
        }
  
     // Package protected ---------------------------------------------
  
     // Protected -----------------------------------------------------
        protected void initializeBeanContextResources()
        {
                try
                {
                        Container desktop = 
((BeanContextContainerProxy)getBeanContext()).getContainer();
                        
                        frame = new JInternalFrame("", true, true, true, true);
                        frame.addInternalFrameListener(new ViewerManager());
                        frame.getContentPane().add(rm.getComponent());
                        frame.setSize(400,300);
                        frame.validate();
                        frame.setVisible(true);
                        if (rm.getResource() != null)
                                frame.setTitle(rm.getResource().toString());
                        else
                                frame.setTitle("Untitled");
                                
                        desktop.add(frame);
                        frame.setMaximum(true);
  
                        JFrame main = ((EJX)getBeanContext()).getFrame();
                        JMenuBar menu = main.getJMenuBar();
                        for (int i = 0; i < menu.getMenuCount(); i++)
                        {
                                JMenu m = menu.getMenu(i);
                                if 
(m.getText().equals(res.getString("menu.window.title")))
                                {
                                        menuItem = m.add(
                                                windowAction = new AbstractAction(
                                                        rm.getResource() == null ? 
"Untitled" : rm.getResource().getFile()
                                                )
                                        {
                                                public void 
actionPerformed(ActionEvent evt)
                                                {
                                                        try
                                                        {
                                                                
frame.getDesktopPane().getDesktopManager().activateFrame(frame);
                                                                
frame.setSelected(true);
                                                        } catch (Exception e) {}
                                                }
                                        });
                                }
                        }
                } catch (Exception e)
                {
                        e.printStackTrace();
                }
        }
  
        protected void releaseBeanContextResources()
        {
                try
                {
                        JFrame main = ((EJX)getBeanContext()).getFrame();
                        JMenuBar menu = main.getJMenuBar();
                        for (int i = 0; i < menu.getMenuCount(); i++)
                        {
                                JMenu m = menu.getMenu(i);
                                if 
(m.getText().equals(res.getString("menu.window.title")))
                                {
                                        m.remove(menuItem);
                                }
                        }
                } catch (Exception e)
                {
                        e.printStackTrace();
                }
        }
     // Private -------------------------------------------------------
  
     // Inner classes -------------------------------------------------
     class ViewerManager
        extends InternalFrameAdapter
        {
                public void internalFrameClosed(InternalFrameEvent e)
                {
                        try
                        {
                                setBeanContext(null);
                                rm.setBeanContext(null);
                        } catch (Exception ex)
                        {
                                ex.printStackTrace();
                        }
                }
        }
  }
  
  
  

Reply via email to