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();
}
}
}
}