About to remove catalog package

This commit is contained in:
Denis Molony 2016-12-15 18:27:38 +11:00
parent 29a577839b
commit 528c4418ba
9 changed files with 68 additions and 68 deletions

View File

@ -1,14 +1,5 @@
package com.bytezone.diskbrowser.catalog; package com.bytezone.diskbrowser.catalog;
/*******************************************************************************
* Factory object that determines whether iText is available, and creates a
* CatalogLister and a DiskLister accordingly. Also links the two xxxListers to
* menu items.
******************************************************************************/
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import com.bytezone.diskbrowser.gui.MenuHandler; import com.bytezone.diskbrowser.gui.MenuHandler;
public class DocumentCreatorFactory public class DocumentCreatorFactory
@ -16,7 +7,7 @@ public class DocumentCreatorFactory
public CatalogLister catalogLister; public CatalogLister catalogLister;
public DiskLister diskLister; public DiskLister diskLister;
public DocumentCreatorFactory (MenuHandler mh) private DocumentCreatorFactory (MenuHandler mh)
{ {
// try // try
// { // {
@ -25,28 +16,28 @@ public class DocumentCreatorFactory
// diskLister = new PDFDiskCreator (); // diskLister = new PDFDiskCreator ();
// } // }
// catch (ClassNotFoundException e) // catch (ClassNotFoundException e)
{ // {
catalogLister = new TextCatalogCreator (); // catalogLister = new TextCatalogCreator ();
diskLister = new TextDiskCreator (); // diskLister = new TextDiskCreator ();
} // }
mh.createCatalogFileItem.setText (catalogLister.getMenuText ()); // mh.createCatalogFileItem.setText (catalogLister.getMenuText ());
mh.createDiskFileItem.setText (diskLister.getMenuText ()); // mh.createDiskFileItem.setText (diskLister.getMenuText ());
//
// mh.createCatalogFileItem.addActionListener (new ActionListener ()
// {
// public void actionPerformed (ActionEvent e)
// {
// catalogLister.createCatalog ();
// }
// });
mh.createCatalogFileItem.addActionListener (new ActionListener () // mh.createDiskFileItem.addActionListener (new ActionListener ()
{ // {
public void actionPerformed (ActionEvent e) // public void actionPerformed (ActionEvent e)
{ // {
catalogLister.createCatalog (); // diskLister.createDisk ();
} // }
}); // });
mh.createDiskFileItem.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent e)
{
diskLister.createDisk ();
}
});
} }
} }

View File

@ -13,7 +13,7 @@ import com.bytezone.diskbrowser.disk.DiskFactory;
import com.bytezone.diskbrowser.disk.FormattedDisk; import com.bytezone.diskbrowser.disk.FormattedDisk;
import com.bytezone.diskbrowser.gui.TreeBuilder.FileNode; import com.bytezone.diskbrowser.gui.TreeBuilder.FileNode;
public class TextCatalogCreator extends AbstractCatalogCreator class TextCatalogCreator extends AbstractCatalogCreator
{ {
@Override @Override
public void createCatalog () public void createCatalog ()
@ -22,13 +22,14 @@ public class TextCatalogCreator extends AbstractCatalogCreator
if (!(o instanceof FileNode)) if (!(o instanceof FileNode))
{ {
JOptionPane.showMessageDialog (null, "Please select a folder from the Disk Tree", JOptionPane.showMessageDialog (null, "Please select a folder from the Disk Tree",
"Info", JOptionPane.INFORMATION_MESSAGE); "Info", JOptionPane.INFORMATION_MESSAGE);
return; return;
} }
File f = ((FileNode) o).file; File f = ((FileNode) o).file;
final File f2 = new File (f.getAbsolutePath () + "/Catalog.txt"); final File f2 = new File (f.getAbsolutePath () + "/Catalog.txt");
JOptionPane.showMessageDialog (null, "About to create file : " + f2.getAbsolutePath (), JOptionPane.showMessageDialog (null,
"Info", JOptionPane.INFORMATION_MESSAGE); "About to create file : " + f2.getAbsolutePath (), "Info",
JOptionPane.INFORMATION_MESSAGE);
EventQueue.invokeLater (new Runnable () EventQueue.invokeLater (new Runnable ()
{ {
@ -43,8 +44,9 @@ public class TextCatalogCreator extends AbstractCatalogCreator
} }
catch (IOException e) catch (IOException e)
{ {
JOptionPane.showMessageDialog (null, "Error creating catalog : " + e.getMessage (), JOptionPane.showMessageDialog (null,
"Bugger", JOptionPane.INFORMATION_MESSAGE); "Error creating catalog : " + e.getMessage (), "Bugger",
JOptionPane.INFORMATION_MESSAGE);
} }
finally finally
{ {
@ -61,7 +63,7 @@ public class TextCatalogCreator extends AbstractCatalogCreator
} }
private void printDescendants (DefaultMutableTreeNode root, FileWriter out) private void printDescendants (DefaultMutableTreeNode root, FileWriter out)
throws IOException throws IOException
{ {
Object o = root.getUserObject (); Object o = root.getUserObject ();
if (o instanceof FileNode) if (o instanceof FileNode)
@ -70,7 +72,8 @@ public class TextCatalogCreator extends AbstractCatalogCreator
if (!f.isDirectory ()) if (!f.isDirectory ())
{ {
FormattedDisk fd = DiskFactory.createDisk (f.getAbsolutePath ()); FormattedDisk fd = DiskFactory.createDisk (f.getAbsolutePath ());
out.write (fd.getCatalog ().getDataSource ().getText () + String.format ("%n")); out.write (
fd.getCatalog ().getDataSource ().getText () + String.format ("%n"));
} }
} }

View File

@ -9,7 +9,7 @@ import javax.swing.tree.DefaultMutableTreeNode;
import com.bytezone.diskbrowser.applefile.AppleFileSource; import com.bytezone.diskbrowser.applefile.AppleFileSource;
public class TextDiskCreator extends AbstractDiskCreator class TextDiskCreator extends AbstractDiskCreator
{ {
@Override @Override
public void createDisk () public void createDisk ()

View File

@ -12,15 +12,11 @@ public class DiskTableModel extends AbstractTableModel
static final String[] headers = static final String[] headers =
{ "Path", "Name", "Type", "Size", "# names", "Checksum", "# checksums" }; { "Path", "Name", "Type", "Size", "# names", "Checksum", "# checksums" };
// Map<String, DiskDetails> fileNameMap;
// Map<Long, DiskDetails> checkSumMap;
private final List<TableLine> lines = new ArrayList<DiskTableModel.TableLine> (); private final List<TableLine> lines = new ArrayList<DiskTableModel.TableLine> ();
private final RootFolderData rootFolderData; private final RootFolderData rootFolderData;
public DiskTableModel (RootFolderData rootFolderData) public DiskTableModel (RootFolderData rootFolderData)
{ {
// fileNameMap = rootFolderData.fileNameMap;
// checkSumMap = rootFolderData.checksumMap;
this.rootFolderData = rootFolderData; this.rootFolderData = rootFolderData;
for (String key : rootFolderData.fileNameMap.keySet ()) for (String key : rootFolderData.fileNameMap.keySet ())

View File

@ -42,7 +42,6 @@ public class DisksWindow extends JFrame
{ {
super ("Disk List - " + rootFolderData.getRootFolder ().getAbsolutePath ()); super ("Disk List - " + rootFolderData.getRootFolder ().getAbsolutePath ());
this.rootFolderData = rootFolderData; this.rootFolderData = rootFolderData;
// rootFolderData.progressPanel.cancelled = false;
table = new JTable (); table = new JTable ();
JScrollPane scrollPane = JScrollPane scrollPane =
@ -105,14 +104,14 @@ public class DisksWindow extends JFrame
diskTableModel = new DiskTableModel (rootFolderData); diskTableModel = new DiskTableModel (rootFolderData);
table.setModel (diskTableModel); table.setModel (diskTableModel);
int[] columnWidths = { 300, 300, 30, 40, 40, 100 }; int[] columnWidths = { 300, 300, 30, 50, 30, 100 };
TableColumnModel tcm = table.getColumnModel (); TableColumnModel tcm = table.getColumnModel ();
for (int i = 0; i < columnWidths.length; i++) for (int i = 0; i < columnWidths.length; i++)
tcm.getColumn (i).setPreferredWidth (columnWidths[i]); tcm.getColumn (i).setPreferredWidth (columnWidths[i]);
// extra column if doing checksums // extra column if doing checksums
if (rootFolderData.doChecksums) if (rootFolderData.doChecksums)
tcm.getColumn (6).setPreferredWidth (40); tcm.getColumn (6).setPreferredWidth (tcm.getColumn (4).getPreferredWidth ());
tcm.getColumn (3).setCellRenderer (NumberRenderer.getIntegerRenderer ()); tcm.getColumn (3).setCellRenderer (NumberRenderer.getIntegerRenderer ());

View File

@ -50,10 +50,6 @@ public class RootFolderData
JButton btnCancel; JButton btnCancel;
JButton btnOK; JButton btnOK;
// public RootFolderData ()
// {
// }
private void createWindows () private void createWindows ()
{ {
southPanel = new JPanel (); southPanel = new JPanel ();
@ -65,7 +61,7 @@ public class RootFolderData
dialogTotals = new JDialog (disksWindow); dialogTotals = new JDialog (disksWindow);
dialogTotals.add (progressPanel, BorderLayout.CENTER); dialogTotals.add (progressPanel, BorderLayout.CENTER);
southPanel.add (btnCancel); southPanel.add (btnCancel); // needs to be here for the pack()
dialogTotals.add (southPanel, BorderLayout.SOUTH); dialogTotals.add (southPanel, BorderLayout.SOUTH);
dialogTotals.setTitle ("Disk Totals"); dialogTotals.setTitle ("Disk Totals");
dialogTotals.pack (); dialogTotals.pack ();
@ -135,7 +131,6 @@ public class RootFolderData
this.rootFolder = rootFolder; this.rootFolder = rootFolder;
rootFolderNameLength = rootFolder.getAbsolutePath ().length (); rootFolderNameLength = rootFolder.getAbsolutePath ().length ();
disksWindow = null; // force a recount disksWindow = null; // force a recount
// clear ();
} }
private void clear () private void clear ()
@ -226,8 +221,12 @@ public class RootFolderData
System.out.println (line); System.out.println (line);
System.out.printf ("Total %,7d %,7d %,7d %,7d%n%n", grandTotal[0], System.out.printf ("Total %,7d %,7d %,7d %,7d%n%n", grandTotal[0],
grandTotal[1], grandTotal[2], grandTotal[3]); grandTotal[1], grandTotal[2], grandTotal[3]);
System.out.printf ("Unique checksums: %,d%n", checksumMap.size ());
System.out.printf ("Duplicate disks : %,d%n", totalDisks - checksumMap.size ()); if (doChecksums)
{
System.out.printf ("Unique checksums: %,7d%n", checksumMap.size ());
System.out.printf ("Duplicate disks : %,7d%n", totalDisks - checksumMap.size ());
}
} }
class ProgressPanel extends JPanel class ProgressPanel extends JPanel

View File

@ -28,7 +28,6 @@ import com.bytezone.common.FontAction.FontChangeEvent;
import com.bytezone.common.FontAction.FontChangeListener; import com.bytezone.common.FontAction.FontChangeListener;
import com.bytezone.common.QuitAction.QuitListener; import com.bytezone.common.QuitAction.QuitListener;
import com.bytezone.diskbrowser.applefile.AppleFileSource; import com.bytezone.diskbrowser.applefile.AppleFileSource;
import com.bytezone.diskbrowser.catalog.DocumentCreatorFactory;
import com.bytezone.diskbrowser.disk.DualDosDisk; import com.bytezone.diskbrowser.disk.DualDosDisk;
import com.bytezone.diskbrowser.disk.FormattedDisk; import com.bytezone.diskbrowser.disk.FormattedDisk;
import com.bytezone.diskbrowser.duplicates.DiskDetails; import com.bytezone.diskbrowser.duplicates.DiskDetails;
@ -52,7 +51,7 @@ class CatalogPanel extends JTabbedPane
private Font font; private Font font;
private FileSystemTab fileTab; private FileSystemTab fileTab;
private final List<AppleDiskTab> diskTabs = new ArrayList<AppleDiskTab> (); private final List<AppleDiskTab> diskTabs = new ArrayList<AppleDiskTab> ();
private final DocumentCreatorFactory lister; // private final DocumentCreatorFactory lister;
private final DiskAndFileSelector selector = new DiskAndFileSelector (); private final DiskAndFileSelector selector = new DiskAndFileSelector ();
private final RedoHandler redoHandler; private final RedoHandler redoHandler;
private CloseTabAction closeTabAction; private CloseTabAction closeTabAction;
@ -66,10 +65,10 @@ class CatalogPanel extends JTabbedPane
// prefs.getInt (PreferencesDialog.prefsCatalogFontSize, // prefs.getInt (PreferencesDialog.prefsCatalogFontSize,
// PreferencesDialog.defaultFontSize); // PreferencesDialog.defaultFontSize);
// this.font = new Font (catalogFontName, Font.PLAIN, catalogFontSize); // this.font = new Font (catalogFontName, Font.PLAIN, catalogFontSize);
this.lister = new DocumentCreatorFactory (mh); // this.lister = new DocumentCreatorFactory (mh);
this.redoHandler = redoHandler; this.redoHandler = redoHandler;
selector.addDiskSelectionListener (lister.diskLister); // selector.addDiskSelectionListener (lister.diskLister);
setTabPlacement (SwingConstants.BOTTOM); setTabPlacement (SwingConstants.BOTTOM);
setPreferredSize (new Dimension (360, 802)); // width, height setPreferredSize (new Dimension (360, 802)); // width, height
@ -178,7 +177,7 @@ class CatalogPanel extends JTabbedPane
fileTab = new FileSystemTab (rootFolderData.getRootFolder (), selector, redoHandler, fileTab = new FileSystemTab (rootFolderData.getRootFolder (), selector, redoHandler,
font, diskEvent); font, diskEvent);
fileTab.addTreeMouseListener (new MouseListener ()); // listen for disk selection fileTab.addTreeMouseListener (new MouseListener ()); // listen for disk selection
lister.catalogLister.setNode (fileTab.getRootNode ()); // lister.catalogLister.setNode (fileTab.getRootNode ());
insertTab ("Disk Tree", null, fileTab, "Display Apple disks", 0); insertTab ("Disk Tree", null, fileTab, "Display Apple disks", 0);
} }
@ -435,7 +434,9 @@ class CatalogPanel extends JTabbedPane
(DefaultMutableTreeNode) tp.getLastPathComponent (); (DefaultMutableTreeNode) tp.getLastPathComponent ();
FileNode node = (FileNode) selectedNode.getUserObject (); FileNode node = (FileNode) selectedNode.getUserObject ();
if (node.file.isDirectory ()) if (node.file.isDirectory ())
lister.catalogLister.setNode (selectedNode); {
// lister.catalogLister.setNode (selectedNode);
}
else if (e.getClickCount () == 2) else if (e.getClickCount () == 2)
addDiskPanel (node.getFormattedDisk (), null, true); addDiskPanel (node.getFormattedDisk (), null, true);
} }

View File

@ -22,6 +22,7 @@ public class DiskBrowser extends JFrame implements DiskSelectionListener, QuitLi
public DiskBrowser () public DiskBrowser ()
{ {
super (windowTitle); super (windowTitle);
long start = System.currentTimeMillis ();
if (false) if (false)
{ {
@ -30,7 +31,9 @@ public class DiskBrowser extends JFrame implements DiskSelectionListener, QuitLi
} }
JToolBar toolBar = new JToolBar ("Toolbar", JToolBar.HORIZONTAL); JToolBar toolBar = new JToolBar ("Toolbar", JToolBar.HORIZONTAL);
System.out.printf ("0: %d%n", System.currentTimeMillis () - start);
MenuHandler menuHandler = new MenuHandler (prefs); MenuHandler menuHandler = new MenuHandler (prefs);
System.out.printf ("1: %d%n", System.currentTimeMillis () - start);
setJMenuBar (menuHandler.menuBar); setJMenuBar (menuHandler.menuBar);
setLayout (new BorderLayout ()); setLayout (new BorderLayout ());
@ -72,6 +75,7 @@ public class DiskBrowser extends JFrame implements DiskSelectionListener, QuitLi
ShowFreeSectorsAction showFreeAction = ShowFreeSectorsAction showFreeAction =
new ShowFreeSectorsAction (menuHandler, diskLayoutPanel); new ShowFreeSectorsAction (menuHandler, diskLayoutPanel);
CloseTabAction closeTabAction = new CloseTabAction (catalogPanel); CloseTabAction closeTabAction = new CloseTabAction (catalogPanel);
System.out.printf ("2: %d%n", System.currentTimeMillis () - start);
// add action buttons to toolbar // add action buttons to toolbar
toolBar.add (rootDirectoryAction); toolBar.add (rootDirectoryAction);
@ -120,6 +124,7 @@ public class DiskBrowser extends JFrame implements DiskSelectionListener, QuitLi
menuHandler.showFreeSectorsItem.setAction (showFreeAction); menuHandler.showFreeSectorsItem.setAction (showFreeAction);
menuHandler.duplicateItem.setAction (duplicateAction); menuHandler.duplicateItem.setAction (duplicateAction);
menuHandler.closeTabItem.setAction (closeTabAction); menuHandler.closeTabItem.setAction (closeTabAction);
System.out.printf ("3: %d%n", System.currentTimeMillis () - start);
final QuitAction quitAction = Platform.setQuit (this, prefs, menuHandler.fileMenu); final QuitAction quitAction = Platform.setQuit (this, prefs, menuHandler.fileMenu);
@ -132,6 +137,7 @@ public class DiskBrowser extends JFrame implements DiskSelectionListener, QuitLi
catalogPanel.setCloseTabAction (closeTabAction); catalogPanel.setCloseTabAction (closeTabAction);
pack (); pack ();
System.out.printf ("4: %d%n", System.currentTimeMillis () - start);
// restore the menuHandler items before they are referenced // restore the menuHandler items before they are referenced
quitAction.restore (); quitAction.restore ();
@ -144,6 +150,7 @@ public class DiskBrowser extends JFrame implements DiskSelectionListener, QuitLi
// activate the highest panel now that the listeners are ready // activate the highest panel now that the listeners are ready
catalogPanel.activate (); catalogPanel.activate ();
System.out.printf ("5: %d%n", System.currentTimeMillis () - start);
} }
private JPanel addPanel (JComponent pane, String title, String location) private JPanel addPanel (JComponent pane, String title, String location)

View File

@ -41,9 +41,9 @@ public class MenuHandler
JMenuItem refreshTreeItem = new JMenuItem ("Refresh current tree"); JMenuItem refreshTreeItem = new JMenuItem ("Refresh current tree");
JMenuItem executeDiskItem; JMenuItem executeDiskItem;
JMenuItem printItem = new JMenuItem ("Print output panel..."); JMenuItem printItem = new JMenuItem ("Print output panel...");
public final JMenuItem createCatalogFileItem = new JMenuItem ("Create catalog file..."); // public final JMenuItem createCatalogFileItem = new JMenuItem ("Create catalog file...");
public final JMenuItem createDiskFileItem = new JMenuItem ("Create disk file..."); // public final JMenuItem createDiskFileItem = new JMenuItem ("Create disk file...");
JMenuItem dbItem = new JMenuItem (new CreateDatabaseAction ()); // JMenuItem dbItem = new JMenuItem (new CreateDatabaseAction ());
JMenuItem closeTabItem = new JMenuItem (); JMenuItem closeTabItem = new JMenuItem ();
JMenuItem duplicateItem = new JMenuItem (); JMenuItem duplicateItem = new JMenuItem ();
FontAction fontAction; FontAction fontAction;
@ -68,6 +68,7 @@ public class MenuHandler
public MenuHandler (Preferences prefs) public MenuHandler (Preferences prefs)
{ {
long start = System.currentTimeMillis ();
menuBar.add (fileMenu); menuBar.add (fileMenu);
menuBar.add (formatMenu); menuBar.add (formatMenu);
menuBar.add (helpMenu); menuBar.add (helpMenu);
@ -85,7 +86,9 @@ public class MenuHandler
fileMenu.addSeparator (); fileMenu.addSeparator ();
fileMenu.add (closeTabItem); fileMenu.add (closeTabItem);
System.out.printf ("MenuHandler 0: %d%n", System.currentTimeMillis () - start);
fontAction = new FontAction (); fontAction = new FontAction ();
System.out.printf ("MenuHandler 1: %d%n", System.currentTimeMillis () - start);
JMenuItem fontItem = new JMenuItem (fontAction); JMenuItem fontItem = new JMenuItem (fontAction);
fileMenu.add (fontItem); fileMenu.add (fontItem);
fontAction.setSampleText ("120 FOR Z = 14 TO 24:\n" + " VTAB 5:\n" + " HTAB Z:\n" fontAction.setSampleText ("120 FOR Z = 14 TO 24:\n" + " VTAB 5:\n" + " HTAB Z:\n"
@ -95,9 +98,9 @@ public class MenuHandler
if (false) if (false)
{ {
fileMenu.add (createCatalogFileItem); // fileMenu.add (createCatalogFileItem);
fileMenu.add (createDiskFileItem); // fileMenu.add (createDiskFileItem);
fileMenu.add (dbItem); // fileMenu.add (dbItem);
} }
fileMenu.add (duplicateItem); fileMenu.add (duplicateItem);
@ -143,7 +146,8 @@ public class MenuHandler
interleaveGroup.add (interleave2Item); interleaveGroup.add (interleave2Item);
interleaveGroup.add (interleave3Item); interleaveGroup.add (interleave3Item);
dbItem.setEnabled (false); // dbItem.setEnabled (false);
System.out.printf ("MenuHandler 2: %d%n", System.currentTimeMillis () - start);
} }
void addHelpMenuAction (Action action, String functionName) void addHelpMenuAction (Action action, String functionName)