notify-dpml AT lists.ibiblio.org
Subject: DPML Notify
List archive
svn commit: r2929 - in development/main: depot/prefs/src/main/net/dpml/depot/prefs transit/core/handler transit/core/handler/src/main/net/dpml/transit/model transit/core/handler/src/main/net/dpml/transit/store transit/core/handler/src/main/net/dpml/transit/unit
- From: mcconnell AT dpml.net
- To: notify-dpml AT lists.ibiblio.org
- Subject: svn commit: r2929 - in development/main: depot/prefs/src/main/net/dpml/depot/prefs transit/core/handler transit/core/handler/src/main/net/dpml/transit/model transit/core/handler/src/main/net/dpml/transit/store transit/core/handler/src/main/net/dpml/transit/unit
- Date: Mon, 27 Jun 2005 14:42:05 -0400
Author: mcconnell AT dpml.net
Date: Mon Jun 27 14:42:05 2005
New Revision: 2929
Added:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitHomePanel.java
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitListModel.java
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitPanel.java
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitRegistryModel.java
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryEvent.java
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryListener.java
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryModel.java
Modified:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesFrame.java
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesPanel.java
development/main/transit/core/handler/build.xml
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitModel.java
development/main/transit/core/handler/src/main/net/dpml/transit/model/ModelReferenceException.java
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitModel.java
development/main/transit/core/handler/src/main/net/dpml/transit/store/TransitHome.java
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageHome.java
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageUnit.java
Log:
Addition of a Transit profile registry and supporting HCI.
Modified:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesFrame.java
==============================================================================
---
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesFrame.java
(original)
+++
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesFrame.java
Mon Jun 27 14:42:05 2005
@@ -58,7 +58,7 @@
/**
* The default dialog height.
*/
- private static final int DEFAULT_DIALOG_HEIGHT = 550;
+ private static final int DEFAULT_DIALOG_HEIGHT = 600;
/**
* Empty boarder offset.
Modified:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesPanel.java
==============================================================================
---
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesPanel.java
(original)
+++
development/main/depot/prefs/src/main/net/dpml/depot/prefs/DepotPreferencesPanel.java
Mon Jun 27 14:42:05 2005
@@ -42,11 +42,15 @@
import javax.swing.border.EmptyBorder;
import net.dpml.transit.Transit;
+import net.dpml.transit.adapter.LoggingAdapter;
import net.dpml.transit.model.TransitModel;
+import net.dpml.transit.model.TransitRegistryModel;
+import net.dpml.transit.model.DefaultTransitRegistryModel;
import net.dpml.transit.model.LayoutRegistryModel;
import net.dpml.transit.model.CacheModel;
import net.dpml.transit.model.ContentRegistryModel;
import net.dpml.transit.model.ProxyModel;
+import net.dpml.transit.unit.TransitStorageHome;
import net.dpml.depot.profile.DepotProfile;
@@ -79,6 +83,7 @@
private ButtonPanel m_buttons;
+ private TransitRegistryModel m_home;
private TransitModel m_model;
private LayoutRegistryModelPanel m_layoutPanel;
private CacheModelPanel m_cachePanel;
@@ -86,6 +91,7 @@
private ProxyModelPanel m_proxyPanel;
private ApplicationsRegistryPanel m_depotPanel;
private GroupsPanel m_groups;
+ private TransitHomePanel m_transitPanel;
private final Window m_window;
private final DepotProfile m_depot;
@@ -99,6 +105,10 @@
m_model = model;
m_depot = depot;
+ net.dpml.transit.model.Logger logger = new LoggingAdapter(
"depot.prefs" );
+ TransitStorageHome home = new TransitStorageHome();
+ m_home = new DefaultTransitRegistryModel( logger, home );
+
JLabel label =
IconHelper.createImageIconJLabel(
getClass().getClassLoader(), DPML_ICON_FILENAME, "", "DPML
Depot" );
@@ -119,13 +129,13 @@
{
try
{
- m_depotPanel = new ApplicationsRegistryPanel( m_window,
m_depot );
- tabbedPane.addTab( "Applications", m_depotPanel );
+ m_transitPanel = new TransitHomePanel( m_window, m_home );
+ tabbedPane.addTab( "Transit", m_transitPanel );
}
catch( Throwable e )
{
final String error =
- "Unexpected during depot panel establishment.";
+ "Unexpected during transit home panel establishment.";
Logger logger = Logger.getLogger( "depot.prefs" );
logger.log( Level.SEVERE, error, e );
}
@@ -153,25 +163,19 @@
}
);
-
SwingUtilities.invokeLater(
new Runnable() {
public void run()
{
try
{
- final CacheModel cache = m_model.getCacheModel();
- final LayoutRegistryModel layouts =
cache.getLayoutRegistryModel();
- m_layoutPanel = new LayoutRegistryModelPanel( m_window,
layouts );
- m_cachePanel = new CacheModelPanel( m_window, cache,
layouts );
- tabbedPane.addTab( "Cache", m_cachePanel );
- tabbedPane.addTab( "Layout", m_layoutPanel );
- tabbedPane.revalidate();
+ m_depotPanel = new ApplicationsRegistryPanel( m_window,
m_depot );
+ tabbedPane.addTab( "Applications", m_depotPanel );
}
catch( Throwable e )
{
- final String error =
- "Unexpected during cache panel establishment.";
+ final String error =
+ "Unexpected during depot panel establishment.";
Logger logger = Logger.getLogger( "depot.prefs" );
logger.log( Level.SEVERE, error, e );
}
@@ -179,50 +183,6 @@
}
);
- SwingUtilities.invokeLater(
- new Runnable() {
- public void run()
- {
- try
- {
- final ContentRegistryModel content =
m_model.getContentRegistryModel();
- m_registryPanel = new ContentRegistryModelPanel(
m_window, content );
- tabbedPane.addTab( "Content", m_registryPanel );
- }
- catch( Throwable e )
- {
- final String error =
- "Unexpected during content registry panel
establishment.";
- Logger logger = Logger.getLogger( "depot.prefs" );
- logger.log( Level.SEVERE, error, e );
- }
- }
- }
- );
-
- SwingUtilities.invokeLater(
- new Runnable() {
- public void run()
- {
- try
- {
- final ProxyModel proxy = m_model.getProxyModel();
- m_proxyPanel = new ProxyModelPanel( m_window, proxy );
- tabbedPane.addTab( "Proxy", m_proxyPanel );
- }
- catch( Throwable e )
- {
- final String error =
- "Unexpected during proxy panel establishment.";
- Logger logger = Logger.getLogger( "depot.prefs" );
- logger.log( Level.SEVERE, error, e );
- }
- }
- }
- );
-
- //tabbedPane.addTab( "Logging", new JPanel() );
-
//
// add the Close button
//
@@ -241,10 +201,6 @@
public void dispose()
{
- m_layoutPanel.dispose();
- m_cachePanel.dispose();
- m_registryPanel.dispose();
- m_proxyPanel.dispose();
}
public JButton getDefaultButton()
@@ -252,7 +208,7 @@
return m_buttons.getDefaultButton();
}
- private static class ButtonPanel extends Box
+ private class ButtonPanel extends Box
{
private JButton m_close;
@@ -261,7 +217,7 @@
super( BoxLayout.Y_AXIS );
m_close = new JButton( );
- Action closeAction = new CancelAction( "Close", panel );
+ Action closeAction = new CancelAction( "Close" );
m_close.setAction( closeAction );
JPanel buttonPanel = new JPanel( new FlowLayout(
FlowLayout.RIGHT ) );
buttonPanel.add( m_close );
@@ -274,14 +230,11 @@
}
}
- private static class CancelAction extends AbstractAction
+ private class CancelAction extends AbstractAction
{
- private final DepotPreferencesPanel m_panel;
-
- public CancelAction( String label, DepotPreferencesPanel panel )
+ public CancelAction( String label )
{
super( label );
- m_panel = panel;
}
/**
@@ -290,7 +243,7 @@
*/
public void actionPerformed( ActionEvent event )
{
- m_panel.dispose();
+ dispose();
System.exit(0);
}
}
Added:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitHomePanel.java
==============================================================================
--- (empty file)
+++
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitHomePanel.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,205 @@
+/*
+ * Copyright 2004 Stephen J. McConnell.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.depot.prefs;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dialog;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.Window;
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.rmi.RemoteException;
+import java.util.logging.Logger;
+import java.util.logging.Level;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.AbstractAction;
+import javax.swing.SwingConstants;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTable;
+import javax.swing.JScrollPane;
+import javax.swing.border.CompoundBorder;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.TitledBorder;
+import javax.swing.table.DefaultTableColumnModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+import javax.swing.JSplitPane;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableModel;
+import javax.swing.ListSelectionModel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+import javax.swing.ImageIcon;
+
+import net.dpml.transit.model.TransitModel;
+import net.dpml.transit.model.TransitRegistryModel;
+import net.dpml.transit.model.DuplicateKeyException;
+import net.dpml.transit.model.UnknownKeyException;
+
+/**
+ * Runnable plugin that handles DPML environment setup.
+ *
+ * @author <a href="mailto:mcconnell AT osm.net";>OSM</a>
+ */
+class TransitHomePanel extends ClassicPanel implements ListSelectionListener
+{
+ //--------------------------------------------------------------
+ // state
+ //--------------------------------------------------------------
+
+ private final Window m_parent;
+
+ private TransitRegistryModel m_model;
+ private TransitListModel m_data;
+ private JList m_list;
+ private TransitModel m_selection;
+ private JSplitPane m_splitPane;
+
+ //--------------------------------------------------------------
+ // constructor
+ //--------------------------------------------------------------
+
+ public TransitHomePanel( Window parent, TransitRegistryModel model )
throws Exception
+ {
+ super();
+
+ m_model = model;
+ m_parent = parent;
+
+ m_data = new TransitListModel( model );
+ m_list = new JList( m_data );
+ m_list.setCellRenderer( new TransitCellRenderer() );
+ m_splitPane = new JSplitPane();
+ JScrollPane scroller = new JScrollPane();
+ scroller.getViewport().setBackground( Color.WHITE );
+ scroller.setViewportView( m_list );
+ m_splitPane.setLeftComponent( scroller );
+ if( model.getTransitModelCount() > 0 )
+ {
+ TransitModel profile = model.getTransitModels()[0];
+ TransitPanel panel = new TransitPanel( m_parent, profile );
+ m_list.setSelectedIndex( 0 );
+ m_splitPane.setRightComponent( panel );
+ }
+ m_splitPane.setDividerLocation( 100 );
+ m_list.getSelectionModel().addListSelectionListener( this );
+ getBody().add( m_splitPane );
+ }
+
+ public void dispose()
+ {
+ m_list.getSelectionModel().removeListSelectionListener( this );
+ m_data.dispose();
+ }
+
+
//--------------------------------------------------------------------------
+ // ListSelectionListener
+
//--------------------------------------------------------------------------
+
+ /**
+ * Listens to changes in the selected state of the table and
+ * propergates a <code>ContextEvent</code> referencing this table as
+ * the event's panel when the table selection changes.
+ * @param event a list selection event
+ */
+ public void valueChanged( ListSelectionEvent event )
+ {
+ if( !event.getValueIsAdjusting() )
+ {
+ ListSelectionModel model = m_list.getSelectionModel();
+ synchronized( model )
+ {
+ Object old = m_selection;
+ m_selection = (TransitModel) m_list.getSelectedValue();
+ if( null != m_selection )
+ {
+ try
+ {
+ TransitPanel panel =
+ new TransitPanel( m_parent, m_selection );
+ m_splitPane.setRightComponent( panel );
+ m_splitPane.setDividerLocation( 100 );
+ }
+ catch( Throwable e )
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+
+ //--------------------------------------------------------------
+ // utilities
+ //--------------------------------------------------------------
+
+ private class TransitCellRenderer extends JLabel implements
ListCellRenderer
+ {
+ public Component getListCellRendererComponent(
+ JList list, Object object, int index, boolean selected, boolean
focus )
+ {
+ try
+ {
+ TransitModel profile = (TransitModel) object;
+ setIcon( MISC_ICON );
+ setText( profile.getID() );
+ setHorizontalAlignment( SwingConstants.CENTER );
+ setVerticalTextPosition( JLabel.BOTTOM );
+ setHorizontalTextPosition( JLabel.CENTER );
+ setBorder( border );
+ if( selected )
+ {
+ if( focus )
+ {
+ setBackground( ENABLED_COLOR );
+ }
+ else
+ {
+ setBackground( DISABLED_COLOR );
+ }
+ }
+ return this;
+ }
+ catch( Throwable e )
+ {
+ e.printStackTrace();
+ return this;
+ }
+ }
+ }
+
+ private static String MISC_IMG_PATH =
"net/dpml/depot/prefs/images/process.png";
+ private ImageIcon MISC_ICON =
+ IconHelper.createImageIcon( GroupsPanel.class.getClassLoader(),
MISC_IMG_PATH, "" );
+ static EmptyBorder border = new EmptyBorder( 5, 5, 5, 5);
+ static final Color ENABLED_COLOR = new Color( 204, 204, 255 );
+ static final Color DISABLED_COLOR = new Color( 228, 228, 255 );
+}
Added:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitListModel.java
==============================================================================
--- (empty file)
+++
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitListModel.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2005 Stephen McConnell
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.depot.prefs;
+
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+
+import javax.swing.Icon;
+import javax.swing.AbstractListModel;
+
+import net.dpml.transit.Transit;
+import net.dpml.transit.model.TransitRegistryListener;
+import net.dpml.transit.model.TransitRegistryEvent;
+import net.dpml.transit.model.TransitRegistryModel;
+
+/**
+ * Table model that maps table rows to child nodes of a supplied preferences
node.
+ */
+public class TransitListModel extends AbstractListModel
+{
+
//--------------------------------------------------------------------------
+ // state
+
//--------------------------------------------------------------------------
+
+ private final TransitRegistryModel m_model;
+ private final RemoteListener m_listener;
+
+
//--------------------------------------------------------------------------
+ // constructor
+
//--------------------------------------------------------------------------
+
+ /**
+ * Creation of a new table model that presents children of the supplied
preference
+ * node as table entries.
+ *
+ * @param model the registry of application profiles
+ */
+ public TransitListModel( TransitRegistryModel model ) throws Exception
+ {
+ super();
+ m_model = model;
+ m_listener = new RemoteListener();
+ model.addTransitRegistryListener( m_listener );
+ }
+
+ protected void dispose()
+ {
+ try
+ {
+ m_model.removeTransitRegistryListener( m_listener );
+ }
+ catch( Throwable e )
+ {
+ }
+ }
+
+
//--------------------------------------------------------------------------
+ // DepotListener
+
//--------------------------------------------------------------------------
+
+ private class RemoteListener extends UnicastRemoteObject implements
TransitRegistryListener
+ {
+ public RemoteListener() throws RemoteException
+ {
+ super();
+ }
+
+ /**
+ * Notify all listeners of the addition of an application profile.
+ * @param event the depot event
+ */
+ public void modelAdded( TransitRegistryEvent event ) throws
RemoteException
+ {
+ fireContentsChanged( this, -1, getSize() );
+ }
+
+ /**
+ * Notify all listeners of the removal of an application profile.
+ * @param event the depot event
+ */
+ public void modelRemoved( TransitRegistryEvent event ) throws
RemoteException
+ {
+ fireContentsChanged( this, -1, getSize() );
+ }
+ }
+
+
//--------------------------------------------------------------------------
+ // ListModel
+
//--------------------------------------------------------------------------
+
+ /**
+ * Returns the number of rows in the model.
+ */
+ public int getSize()
+ {
+ try
+ {
+ return m_model.getTransitModelCount();
+ }
+ catch( Throwable e )
+ {
+ return 0;
+ }
+ }
+
+ /**
+ * Returns the activation profile at the requested index.
+ * @param index the list index
+ * @return Object
+ */
+ public Object getElementAt( int index )
+ {
+ try
+ {
+ return m_model.getTransitModels()[ index ];
+ }
+ catch( Throwable e )
+ {
+ return null;
+ }
+ }
+
+}
Added:
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitPanel.java
==============================================================================
--- (empty file)
+++
development/main/depot/prefs/src/main/net/dpml/depot/prefs/TransitPanel.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2004 Stephen J. McConnell.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.depot.prefs;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dialog;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.Window;
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.rmi.RemoteException;
+import java.util.logging.Logger;
+import java.util.logging.Level;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.Action;
+import javax.swing.AbstractAction;
+import javax.swing.Box;
+import javax.swing.SwingConstants;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTable;
+import javax.swing.JScrollPane;
+import javax.swing.border.CompoundBorder;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.TitledBorder;
+import javax.swing.table.DefaultTableColumnModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+import javax.swing.JSplitPane;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableModel;
+import javax.swing.ListSelectionModel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+import javax.swing.ImageIcon;
+import javax.swing.JTabbedPane;
+import javax.swing.SwingUtilities;
+
+import net.dpml.transit.model.DuplicateKeyException;
+import net.dpml.transit.model.UnknownKeyException;
+import net.dpml.transit.model.TransitModel;
+import net.dpml.transit.model.CacheModel;
+import net.dpml.transit.model.LayoutRegistryModel;
+import net.dpml.transit.model.ContentRegistryModel;
+import net.dpml.transit.model.ProxyModel;
+
+/**
+ * Runnable plugin that handles DPML environment setup.
+ *
+ * @author <a href="mailto:mcconnell AT osm.net";>OSM</a>
+ */
+class TransitPanel extends ClassicPanel
+{
+ //--------------------------------------------------------------
+ // state
+ //--------------------------------------------------------------
+
+ private final Window m_parent;
+
+ private TransitModel m_model;
+ private LayoutRegistryModelPanel m_layoutPanel;
+ private CacheModelPanel m_cachePanel;
+ private ContentRegistryModelPanel m_registryPanel;
+ private ProxyModelPanel m_proxyPanel;
+
+ //--------------------------------------------------------------
+ // constructor
+ //--------------------------------------------------------------
+
+ public TransitPanel( Window parent, TransitModel model ) throws Exception
+ {
+ super();
+
+ m_model = model;
+ m_parent = parent;
+
+ final JTabbedPane tabbedPane = new JTabbedPane();
+ tabbedPane.setBorder( new EmptyBorder( 0, OFFSET, OFFSET, OFFSET ) );
+
+ //
+ // add the different management models to the tabbed pane
+ //
+
+ JPanel panel = new JPanel();
+
+ SwingUtilities.invokeLater(
+ new Runnable() {
+ public void run()
+ {
+ try
+ {
+ final CacheModel cache = m_model.getCacheModel();
+ final LayoutRegistryModel layouts =
cache.getLayoutRegistryModel();
+ m_layoutPanel = new LayoutRegistryModelPanel( m_parent,
layouts );
+ m_cachePanel = new CacheModelPanel( m_parent, cache,
layouts );
+ tabbedPane.addTab( "Cache", m_cachePanel );
+ tabbedPane.addTab( "Layout", m_layoutPanel );
+ tabbedPane.revalidate();
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Unexpected during cache panel establishment.";
+ Logger logger = Logger.getLogger( "depot.prefs" );
+ logger.log( Level.SEVERE, error, e );
+ }
+ }
+ }
+ );
+
+ SwingUtilities.invokeLater(
+ new Runnable() {
+ public void run()
+ {
+ try
+ {
+ final ContentRegistryModel content =
m_model.getContentRegistryModel();
+ m_registryPanel = new ContentRegistryModelPanel(
m_parent, content );
+ tabbedPane.addTab( "Content", m_registryPanel );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Unexpected during content registry panel
establishment.";
+ Logger logger = Logger.getLogger( "depot.prefs" );
+ logger.log( Level.SEVERE, error, e );
+ }
+ }
+ }
+ );
+
+ SwingUtilities.invokeLater(
+ new Runnable() {
+ public void run()
+ {
+ try
+ {
+ final ProxyModel proxy = m_model.getProxyModel();
+ m_proxyPanel = new ProxyModelPanel( m_parent, proxy );
+ tabbedPane.addTab( "Proxy", m_proxyPanel );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Unexpected during proxy panel establishment.";
+ Logger logger = Logger.getLogger( "depot.prefs" );
+ logger.log( Level.SEVERE, error, e );
+ }
+ }
+ }
+ );
+
+ //
+ // package
+ //
+
+ add( tabbedPane, BorderLayout.CENTER );
+ }
+
+ public void dispose()
+ {
+ }
+
+ private class ButtonPanel extends Box
+ {
+ private JButton m_close;
+
+ ButtonPanel()
+ {
+ super( BoxLayout.Y_AXIS );
+
+ m_close = new JButton( );
+ Action closeAction = new CancelAction( "Close" );
+ m_close.setAction( closeAction );
+ JPanel buttonPanel = new JPanel( new FlowLayout(
FlowLayout.RIGHT ) );
+ buttonPanel.add( m_close );
+ add( buttonPanel );
+ }
+
+ JButton getDefaultButton()
+ {
+ return m_close;
+ }
+ }
+
+ private class CancelAction extends AbstractAction
+ {
+ public CancelAction( String label )
+ {
+ super( label );
+ }
+
+ /**
+ * Called when the cancel button is trigged.
+ * @param event the action event
+ */
+ public void actionPerformed( ActionEvent event )
+ {
+ dispose();
+ System.exit(0);
+ }
+ }
+
+ /**
+ * Empty boarder offset.
+ */
+ private static final int OFFSET = 10;
+}
Modified: development/main/transit/core/handler/build.xml
==============================================================================
--- development/main/transit/core/handler/build.xml (original)
+++ development/main/transit/core/handler/build.xml Mon Jun 27 14:42:05
2005
@@ -58,6 +58,7 @@
<include name="**/DefaultRepositoryModel.class"/>
<include name="**/DefaultTransitModel.class"/>
<include name="**/DefaultProxyModel.class"/>
+ <include name="**/DefaultTransitRegistryModel.class"/>
</rmic>
<rmic base="${basedir}/target/classes">
<include name="**/DefaultCacheHandler.class"/>
Modified:
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitModel.java
==============================================================================
---
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitModel.java
(original)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitModel.java
Mon Jun 27 14:42:05 2005
@@ -24,18 +24,19 @@
import net.dpml.transit.adapter.LoggingAdapter;
import net.dpml.transit.model.DefaultProxyModel;
import net.dpml.transit.model.DefaultLayoutRegistryModel;
-import net.dpml.transit.model.DefaultContentRegistryModel ;
-import net.dpml.transit.model.DefaultRepositoryModel ;
+import net.dpml.transit.model.DefaultContentRegistryModel;
+import net.dpml.transit.model.DefaultRepositoryModel;
import net.dpml.transit.model.LayoutRegistryModel;
-import net.dpml.transit.model.ContentRegistryModel ;
-import net.dpml.transit.model.RepositoryModel ;
-import net.dpml.transit.model.ProxyModel ;
+import net.dpml.transit.model.ContentRegistryModel;
+import net.dpml.transit.model.RepositoryModel;
+import net.dpml.transit.model.ProxyModel;
import net.dpml.transit.store.TransitStorage;
import net.dpml.transit.store.CodeBaseStorage;
import net.dpml.transit.store.LayoutRegistryHome;
import net.dpml.transit.store.ContentRegistryHome;
import net.dpml.transit.store.ProxyStorage;
import net.dpml.transit.store.CacheHome;
+import net.dpml.transit.store.Removable;
import net.dpml.transit.unit.TransitStorageUnit;
/**
@@ -88,6 +89,97 @@
m_repository = createRepositoryModel();
}
+ //
------------------------------------------------------------------------
+ // TransitModel
+ //
------------------------------------------------------------------------
+
+ /**
+ * Return the model identifier.
+ * @return the model id
+ */
+ public String getID()
+ {
+ return m_store.getID();
+ }
+
+ /**
+ * Return the proxy model.
+ * @return the proxy configuration model.
+ */
+ public ProxyModel getProxyModel()
+ {
+ return m_proxy;
+ }
+
+ /**
+ * Return the cache model.
+ * @return the cache model
+ */
+ public CacheModel getCacheModel()
+ {
+ return m_cache;
+ }
+
+ /**
+ * Return the content registry model.
+ *
+ * @return the content Model
+ */
+ public ContentRegistryModel getContentRegistryModel()
+ {
+ return m_content;
+ }
+
+ /**
+ * Return the repository model.
+ *
+ * @return the repository director
+ */
+ public RepositoryModel getRepositoryModel()
+ {
+ return m_repository;
+ }
+
+ //
------------------------------------------------------------------------
+ // Disposable
+ //
------------------------------------------------------------------------
+
+ /**
+ * Add a disposal listener to the model.
+ * @param listener the listener to add
+ */
+ public void addDisposalListener( DisposalListener listener ) throws
RemoteException
+ {
+ super.addListener( listener );
+ }
+
+ /**
+ * Remove a disposal listener from the model.
+ * @param listener the listener to remove
+ */
+ public void removeDisposalListener( DisposalListener listener ) throws
RemoteException
+ {
+ super.removeListener( listener );
+ }
+
+
+ public void dispose() throws RemoteException
+ {
+ VetoableDisposalEvent veto = new VetoableDisposalEvent( this );
+ enqueueEvent( veto, false );
+ DisposalEvent disposal = new DisposalEvent( this );
+ enqueueEvent( disposal, false );
+ if( ( null != m_store ) && ( m_store instanceof Removable ) )
+ {
+ Removable store = (Removable) m_store;
+ store.remove();
+ }
+ }
+
+ //
------------------------------------------------------------------------
+ // impl
+ //
------------------------------------------------------------------------
+
private ProxyModel createProxyModel()
{
try
@@ -168,56 +260,12 @@
}
}
-
- //
------------------------------------------------------------------------
- // TransitMananger
- //
------------------------------------------------------------------------
-
- /**
- * Return the model identifier.
- * @return the model id
- */
- public String getID()
- {
- return m_store.getID();
- }
-
- /**
- * Return the proxy model.
- * @return the proxy configuration model.
- */
- public ProxyModel getProxyModel()
+ private static class VetoableDisposalEvent extends DisposalEvent
{
- return m_proxy;
- }
-
- /**
- * Return the cache model.
- * @return the cache model
- */
- public CacheModel getCacheModel()
- {
- return m_cache;
- }
-
- /**
- * Return the content registry model.
- *
- * @return the content Model
- */
- public ContentRegistryModel getContentRegistryModel()
- {
- return m_content;
- }
-
- /**
- * Return the repository model.
- *
- * @return the repository director
- */
- public RepositoryModel getRepositoryModel()
- {
- return m_repository;
+ public VetoableDisposalEvent( TransitModel source )
+ {
+ super( source );
+ }
}
}
Added:
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitRegistryModel.java
==============================================================================
--- (empty file)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/DefaultTransitRegistryModel.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,260 @@
+/*
+ * Copyright 2005 Stephen J. McConnell.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.transit.model;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.EventObject;
+import java.util.EventListener;
+import java.rmi.RemoteException;
+
+import net.dpml.transit.TransitError;
+import net.dpml.transit.store.TransitStorage;
+import net.dpml.transit.store.TransitHome;
+import net.dpml.transit.unit.TransitStorageUnit;
+
+/**
+ * The DefaultTransitRegistryModel class maintains the set of
+ * registered Transit configurations.
+ *
+ * @author <a href="http://www.dpml.net">The Digital Product Meta Library</a>
+ */
+public class DefaultTransitRegistryModel extends DefaultModel implements
TransitRegistryModel
+{
+ //
------------------------------------------------------------------------
+ // state
+ //
------------------------------------------------------------------------
+
+ private final TransitHome m_home;
+
+ private final List m_list = Collections.synchronizedList( new
LinkedList() );
+
+ //
------------------------------------------------------------------------
+ // constructor
+ //
------------------------------------------------------------------------
+
+ public DefaultTransitRegistryModel( Logger logger, TransitHome home )
+ throws RemoteException, DuplicateKeyException
+ {
+ super( logger );
+
+ m_home = home;
+
+ TransitStorage[] stores = m_home.getInitialTransitStores();
+ for( int i=0; i<stores.length; i++ )
+ {
+ TransitStorage store = stores[i];
+ addTransitModel( store, false );
+ }
+ }
+
+ //
------------------------------------------------------------------------
+ // TransitRegistryModel
+ //
------------------------------------------------------------------------
+
+
+ public int getTransitModelCount()
+ {
+ synchronized( m_lock )
+ {
+ return m_list.size();
+ }
+ }
+
+ /**
+ * Add a regstry change listener.
+ * @param listener the registry change listener to add
+ */
+ public void addTransitRegistryListener( TransitRegistryListener listener
) throws RemoteException
+ {
+ super.addListener( listener );
+ }
+
+ /**
+ * Remove a regstry change listener.
+ * @param listener the registry change listener to remove
+ */
+ public void removeTransitRegistryListener( TransitRegistryListener
listener ) throws RemoteException
+ {
+ super.removeListener( listener );
+ }
+
+ public void addTransitModel( String id ) throws DuplicateKeyException,
RemoteException
+ {
+ TransitStorage store = m_home.getTransitStorage( id );
+ addTransitModel( store, true );
+ }
+
+ public void addTransitModel( TransitModel model ) throws
DuplicateKeyException, RemoteException
+ {
+ addTransitModel( model, true );
+ }
+
+ private void addTransitModel( TransitStorage store, boolean notify )
+ throws DuplicateKeyException, RemoteException
+ {
+ String id = store.getID();
+ Logger logger = getLogger().getChildLogger( id );
+ TransitModel model = new DefaultTransitModel( logger, store );
+ addTransitModel( model, notify );
+ }
+
+ private void addTransitModel( TransitModel model, boolean notify )
+ throws DuplicateKeyException, RemoteException
+ {
+ synchronized( m_lock )
+ {
+ String id = model.getID();
+ try
+ {
+ TransitModel m = getTransitModel( id );
+ throw new DuplicateKeyException( id );
+ }
+ catch( UnknownKeyException e )
+ {
+ m_list.add( model );
+ if( notify )
+ {
+ ModelAddedEvent event = new ModelAddedEvent( this, model
);
+ enqueueEvent( event );
+ }
+ }
+ }
+ }
+
+ public TransitModel[] getTransitModels() throws RemoteException
+ {
+ synchronized( m_lock )
+ {
+ return (TransitModel[]) m_list.toArray( new TransitModel[0] );
+ }
+ }
+
+ public TransitModel getTransitModel( String id ) throws
UnknownKeyException, RemoteException
+ {
+ synchronized( m_lock )
+ {
+ if( null == id )
+ {
+ throw new NullPointerException( "id" );
+ }
+ TransitModel[] models = getTransitModels();
+ for( int i=0; i<models.length; i++ )
+ {
+ TransitModel model = models[i];
+ if( id.equals( model.getID() ) )
+ {
+ return model;
+ }
+ }
+ throw new UnknownKeyException( id );
+ }
+ }
+
+ public void removeTransitModel( TransitModel model ) throws
ModelReferenceException, RemoteException
+ {
+ synchronized( m_lock )
+ {
+ try
+ {
+ model.dispose();
+ m_list.remove( model );
+ ModelRemovedEvent event = new ModelRemovedEvent( this, model
);
+ enqueueEvent( event );
+ }
+ catch( VetoDisposalException e )
+ {
+ throw new ModelReferenceException( this, model );
+ }
+ }
+ }
+
+ //
------------------------------------------------------------------------
+ // impl
+ //
------------------------------------------------------------------------
+
+ public void processEvent( EventObject event )
+ {
+ if( event instanceof TransitRegistryEvent )
+ {
+ processTransitRegistryEvent( (TransitRegistryEvent) event );
+ }
+ else
+ {
+ super.processEvent( event );
+ }
+ }
+
+ private void processTransitRegistryEvent( TransitRegistryEvent event )
+ {
+ EventListener[] listeners = super.listeners();
+ for( int i=0; i<listeners.length; i++ )
+ {
+ EventListener listener = listeners[i];
+ if( listener instanceof TransitRegistryListener )
+ {
+ TransitRegistryListener rl = (TransitRegistryListener)
listener;
+ if( event instanceof ModelAddedEvent )
+ {
+ try
+ {
+ rl.modelAdded( event );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "TransitRegistryListener model addition
notification error.";
+ getLogger().error( error, e );
+ }
+ }
+ else if( event instanceof ModelRemovedEvent )
+ {
+ try
+ {
+ rl.modelRemoved( event );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "TransitRegistryListener model removed
notification error.";
+ getLogger().error( error, e );
+ }
+ }
+ }
+ }
+ }
+
+ static class ModelAddedEvent extends TransitRegistryEvent
+ {
+ public ModelAddedEvent( TransitRegistryModel source, TransitModel
handler )
+ {
+ super( source, handler );
+ }
+ }
+
+ static class ModelRemovedEvent extends TransitRegistryEvent
+ {
+ public ModelRemovedEvent( TransitRegistryModel source, TransitModel
handler )
+ {
+ super( source, handler );
+ }
+ }
+}
+
Modified:
development/main/transit/core/handler/src/main/net/dpml/transit/model/ModelReferenceException.java
==============================================================================
---
development/main/transit/core/handler/src/main/net/dpml/transit/model/ModelReferenceException.java
(original)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/ModelReferenceException.java
Mon Jun 27 14:42:05 2005
@@ -26,30 +26,30 @@
*/
public class ModelReferenceException extends ModelException
{
- private final Model m_source;
- private final LayoutModel m_layout;
+ private final Model m_consumer;
+ private final Model m_reference;
/**
* Construct a new <code>ModelReferenceException</code> instance.
*
- * @param source the source model
- * @param layout the layout model
+ * @param consumer the model that references the reference model
+ * @param reference the model referenced by the consumer
*/
- public ModelReferenceException( final Model source, final LayoutModel
layout )
+ public ModelReferenceException( final Model consumer, final Model
reference )
{
super( "Referential integrity error." );
- m_source = source;
- m_layout = layout;
+ m_consumer = consumer;
+ m_reference = reference;
}
- public Model getModel()
+ public Model getConsumerModel()
{
- return m_source;
+ return m_consumer;
}
- public LayoutModel getLayoutModel()
+ public Model getReferencedModel()
{
- return m_layout;
+ return m_reference;
}
}
Modified:
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitModel.java
==============================================================================
---
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitModel.java
(original)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitModel.java
Mon Jun 27 14:42:05 2005
@@ -25,7 +25,7 @@
* The TransitModel is an interface implemented by objects that
* manage the configuration of a running transit system.
*/
-public interface TransitModel extends Model
+public interface TransitModel extends Model, Disposable
{
/**
* Return the model identifier.
Added:
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryEvent.java
==============================================================================
--- (empty file)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryEvent.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2005 Stephen J. McConnell.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.transit.model;
+
+import java.util.EventObject;
+
+/**
+ * An event issued by a registry signalling changes tye addition or removal
+ * of a content model.
+ */
+public abstract class TransitRegistryEvent extends EventObject
+{
+ private final TransitModel m_model;
+
+ /**
+ * Creation of a new TransitRegistryEvent signalling the addition
+ * or removal of a transit model.
+ *
+ * @param registry the Transit model registry
+ * @param resolver the layout resolver model that was added or removed
+ */
+ public TransitRegistryEvent( TransitRegistryModel registry, TransitModel
model )
+ {
+ super( registry );
+ m_model = model;
+ }
+
+ /**
+ * Return the model initiating the event.
+ * @return the layout model
+ */
+ public TransitRegistryModel getTransitRegistryModel()
+ {
+ return (TransitRegistryModel) getSource();
+ }
+
+ /**
+ * Return the resolver model that was added or removed.
+ * @return the resolver model
+ */
+ public TransitModel getTransitModel()
+ {
+ return m_model;
+ }
+}
+
Added:
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryListener.java
==============================================================================
--- (empty file)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryListener.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2005 Stephen McConnell
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.transit.model;
+
+import java.util.EventListener;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+/**
+ * A RegistryListener maintains information about the configuration of a
Transit
+ * content management system. An implementation of this interface would be
supplied
+ * a ContentRegistry implementation.
+ */
+public interface TransitRegistryListener extends EventListener, Remote
+{
+ /**
+ * Notify all listeners of the addition of a model to the registry.
+ * @param event the registry event
+ */
+ void modelAdded( TransitRegistryEvent event ) throws RemoteException;
+
+ /**
+ * Notify all listeners of the removal of a model from the registry.
+ * @param event the registry event
+ */
+ void modelRemoved( TransitRegistryEvent event ) throws RemoteException;
+
+}
Added:
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryModel.java
==============================================================================
--- (empty file)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/model/TransitRegistryModel.java
Mon Jun 27 14:42:05 2005
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2005 Stephen McConnell
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.dpml.transit.model;
+
+import java.rmi.RemoteException;
+
+
+/**
+ * The TransitRegistryModel is an interface implemented by objects that
+ * manage a collection of TransitModel instances.
+ */
+public interface TransitRegistryModel extends Model
+{
+ /**
+ * Return the number of registered transit profiles.
+ * @return the number of registered models
+ */
+ int getTransitModelCount() throws RemoteException;
+
+ /**
+ * Add a registry change listener.
+ * @param listener the registry change listener to add
+ */
+ void addTransitRegistryListener( TransitRegistryListener listener )
throws RemoteException;
+
+ /**
+ * Remove a registry change listener.
+ * @param listener the registry change listener to remove
+ */
+ void removeTransitRegistryListener( TransitRegistryListener listener )
throws RemoteException;
+
+ void addTransitModel( String id ) throws DuplicateKeyException,
RemoteException;
+
+ void addTransitModel( TransitModel model ) throws DuplicateKeyException,
RemoteException;
+
+ TransitModel[] getTransitModels() throws RemoteException;
+
+ TransitModel getTransitModel( String id ) throws UnknownKeyException,
RemoteException;
+
+ void removeTransitModel( TransitModel model ) throws
ModelReferenceException, RemoteException;
+}
Modified:
development/main/transit/core/handler/src/main/net/dpml/transit/store/TransitHome.java
==============================================================================
---
development/main/transit/core/handler/src/main/net/dpml/transit/store/TransitHome.java
(original)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/store/TransitHome.java
Mon Jun 27 14:42:05 2005
@@ -25,7 +25,7 @@
*/
public interface TransitHome
{
- TransitStorage getDefaultTransitStorage();
+ TransitStorage[] getInitialTransitStores();
TransitStorage getTransitStorage( String id );
Modified:
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageHome.java
==============================================================================
---
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageHome.java
(original)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageHome.java
Mon Jun 27 14:42:05 2005
@@ -49,9 +49,16 @@
// TransitHome
//
------------------------------------------------------------------------
- public TransitStorage getDefaultTransitStorage()
+ public TransitStorage[] getInitialTransitStores()
{
- return new TransitStorageUnit();
+ String[] names = getProfileNames();
+ TransitStorage[] stores = new TransitStorage[ names.length ];
+ for( int i=0; i<names.length; i++ )
+ {
+ String id = names[i];
+ stores[i] = getTransitStorage( id );
+ }
+ return stores;
}
public TransitStorage getTransitStorage( String id )
Modified:
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageUnit.java
==============================================================================
---
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageUnit.java
(original)
+++
development/main/transit/core/handler/src/main/net/dpml/transit/unit/TransitStorageUnit.java
Mon Jun 27 14:42:05 2005
@@ -79,7 +79,7 @@
Preferences layout = getPreferences().node( "cache" ).node(
"layout" );
m_layout = new LayoutRegistryStorageUnit( layout );
Preferences content = getPreferences().node( "content" );
- m_content = new ContentRegistryStorageUnit( prefs );
+ m_content = new ContentRegistryStorageUnit( content );
Preferences repo = getPreferences().node( "repository" );
m_repository = new RepositoryStorageUnit( repo );
}
- svn commit: r2929 - in development/main: depot/prefs/src/main/net/dpml/depot/prefs transit/core/handler transit/core/handler/src/main/net/dpml/transit/model transit/core/handler/src/main/net/dpml/transit/store transit/core/handler/src/main/net/dpml/transit/unit, mcconnell, 06/27/2005
Archive powered by MHonArc 2.6.24.