You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by ha...@apache.org on 2001/11/05 14:55:53 UTC

cvs commit: jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/services DesktopKernelService.java KernelConfigManager.java

hammant     01/11/05 05:55:53

  Modified:    apps/jesktop build.xml
               apps/jesktop/lib jesktop-api.jar
               apps/jesktop/src/conf jesktop-assembly.xml
                        jesktop-config.xml
               apps/jesktop/src/java/org/apache/avalon/jesktop/builtinapps/config
                        ControlPanel.java
               apps/jesktop/src/java/org/apache/avalon/jesktop/core
                        AppLauncherImpl.java ConfigManagerImpl.java
                        DesktopKernelImpl.java DesktopKernelImpl.xinfo
  Added:       apps/jesktop/src/java/org/apache/avalon/jesktop/core
                        ConfigManagerImpl.xinfo
               apps/jesktop/src/java/org/apache/avalon/jesktop/services
                        DesktopKernelService.java KernelConfigManager.java
  Log:
  new Jesktop service - ConfigManager
  
  Revision  Changes    Path
  1.13      +5 -6      jakarta-avalon-cornerstone/apps/jesktop/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/build.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- build.xml	2001/10/27 13:14:24	1.12
  +++ build.xml	2001/11/05 13:55:53	1.13
  @@ -45,6 +45,7 @@
     <property name="phoenix.apps" value="${phoenix.home}/apps"/>
     <property name="install.dir" value="${phoenix.home}"/>
     <property name="install.bin.dir" value="${install.dir}/bin"/>
  +  <property name="install.var.dir" value="${install.dir}/var"/>  
     <property name="install.lib.dir" value="${install.dir}/lib"/>
     <property name="install.data.dir" value="${install.dir}/conf"/>
     <property name="install.doc.dir" value="${install.dir}/docs"/>
  @@ -448,12 +449,10 @@
          ===================================================================
     -->
     <target name="install" depends="all,check-phoenix" description="Installs Jesktop into Phoenix">
  -    <delete dir="${phoenix.apps}/${jar.name}/" />
  -    <copy todir="${phoenix.apps}" filtering="off">
  -      <fileset dir="dist">
  -        <include name="${jar.name}.sar"/>
  -      </fileset>
  -    </copy>
  +    <echo message="Installing to ${install.dir}" />    
  +    <copy file="${build.lib}/jesktop.sar" todir="${install.dir}" />
  +    <delete file="${install.var.dir}/jesktop-install.log" />     
  +    <delete dir="${install.dir}/jesktop" />
     </target>
   
     <target name="check-phoenix" unless="phoenix.apps">
  
  
  
  1.4       +45 -41    jakarta-avalon-cornerstone/apps/jesktop/lib/jesktop-api.jar
  
  	<<Binary file>>
  
  
  1.4       +11 -2     jakarta-avalon-cornerstone/apps/jesktop/src/conf/jesktop-assembly.xml
  
  Index: jesktop-assembly.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/conf/jesktop-assembly.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jesktop-assembly.xml	2001/10/02 17:47:04	1.3
  +++ jesktop-assembly.xml	2001/11/05 13:55:53	1.4
  @@ -33,14 +33,23 @@
                role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
     </block>
   
  +  <block class="org.apache.avalon.cornerstone.blocks.dom.DOMBuilderFactory" name="dom-builder-factory" />
  + 
  +
     <!--                 -->
     <!-- Jesktops blocks -->
     <!--                 -->
  +  
  +  <block class="org.apache.avalon.jesktop.core.ConfigManagerImpl" name="cfg-mgr">
  +      <provide name="dom-builder-factory" role="org.apache.avalon.cornerstone.services.dom.DocumentBuilderFactory" />
  +      <provide name="objectstorage" role="org.apache.avalon.cornerstone.services.store.Store"/>
  +  </block>  
  +  
     <block class="org.apache.avalon.jesktop.windowmanagers.windoze.WindozeWindowManager1"
            name="jesktop-windowmanager"/>
   
  -  <block class="org.apache.avalon.jesktop.core.DesktopKernelImpl"
  -         name="jesktop-kernel" >
  +  <block class="org.apache.avalon.jesktop.core.DesktopKernelImpl" name="jesktop-kernel" >
  +    <provide name="cfg-mgr" role="org.apache.avalon.jesktop.services.KernelConfigManager"/>
       <provide name="jesktop-windowmanager" role="org.jesktop.api.WindowManager"/>
       <provide name="objectstorage" role="org.apache.avalon.cornerstone.services.store.Store"/>
       <provide name="thread-manager" role="org.apache.avalon.cornerstone.services.threads.ThreadManager"/>
  
  
  
  1.4       +8 -0      jakarta-avalon-cornerstone/apps/jesktop/src/conf/jesktop-config.xml
  
  Index: jesktop-config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/conf/jesktop-config.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jesktop-config.xml	2001/10/06 16:58:54	1.3
  +++ jesktop-config.xml	2001/11/05 13:55:53	1.4
  @@ -87,5 +87,13 @@
                   model="SYNCHRONOUS">
         </repository>
     </jesktop-kernel>
  +    
  +  <cfg-mgr>
  +  </cfg-mgr>
  +    
  +  <dom-builder-factory>
  +      <domClass>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</domClass>
  +  </dom-builder-factory>  
  +  
   
   </config>
  
  
  
  1.3       +8 -7      jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/builtinapps/config/ControlPanel.java
  
  Index: ControlPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/builtinapps/config/ControlPanel.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ControlPanel.java	2001/10/10 13:26:37	1.2
  +++ ControlPanel.java	2001/11/05 13:55:53	1.3
  @@ -18,6 +18,7 @@
   import org.w3c.dom.Document;
   import org.apache.avalon.jesktop.core.LaunchableTargetHolder;
   import org.apache.avalon.jesktop.core.ConfigManagerImpl;
  +import org.apache.avalon.jesktop.services.KernelConfigManager;
   
   import javax.swing.JTabbedPane;
   import javax.swing.JPanel;
  @@ -41,7 +42,7 @@
    *
    *
    * @author <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a> Dec 2000.
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   public class ControlPanel extends JFrimble implements DesktopKernelAware, PropertyChangeListener {
   
  @@ -56,7 +57,7 @@
       private Vector tryableConfigs = new Vector();
       private Vector triedConfigs = new Vector();
       private LaunchableTargetHolder mLaunchableTargetHolder;
  -    private ConfigManagerImpl mConfigManager;
  +    private KernelConfigManager mConfigManager;
       private ControlPanelConfigManager cpConfigManger;
       private Configlet selectedConfiglet;
       private Vector configletWrappers = new Vector(); 
  @@ -98,7 +99,7 @@
        * @param mConfigManager
        *
        */
  -    public void setConfigManager(ConfigManagerImpl cm) {
  +    public void setConfigManager(KernelConfigManager cm) {
           this.mConfigManager = cm;
           this.cpConfigManger = new ControlPanelConfigManager();
       }
  @@ -226,7 +227,7 @@
        *
        *
        * @author <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a> Dec 2000.
  -     * @version $Revision: 1.2 $
  +     * @version $Revision: 1.3 $
        */
       private class OKBtn extends JButton {
   
  @@ -261,7 +262,7 @@
        *
        *
        * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  -     * @version $Revision: 1.2 $
  +     * @version $Revision: 1.3 $
        */
       private class TryBtn extends JButton {
   
  @@ -296,7 +297,7 @@
        *
        *
        * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  -     * @version $Revision: 1.2 $
  +     * @version $Revision: 1.3 $
        */
       private class RevertBtn extends JButton {
   
  @@ -340,7 +341,7 @@
        *
        *
        * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  -     * @version $Revision: 1.2 $
  +     * @version $Revision: 1.3 $
        */
       private class ControlPanelConfigManager implements ConfigManager {
   
  
  
  
  1.6       +16 -13    jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/AppLauncherImpl.java
  
  Index: AppLauncherImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/AppLauncherImpl.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AppLauncherImpl.java	2001/10/28 12:50:33	1.5
  +++ AppLauncherImpl.java	2001/11/05 13:55:53	1.6
  @@ -17,6 +17,7 @@
   import org.jesktop.api.AlreadyLaunchedException;
   import org.jesktop.api.DesktopKernelAware;
   import org.jesktop.api.LaunchedTarget;
  +import org.jesktop.api.DesktopKernel;
   import org.jesktop.frimble.FrimbleCallback;
   import org.jesktop.frimble.Frimble;
   import org.jesktop.frimble.JFrimble;
  @@ -24,6 +25,8 @@
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.jesktop.builtinapps.config.ControlPanel;
  +import org.apache.avalon.jesktop.services.DesktopKernelService;
  +import org.apache.avalon.jesktop.services.KernelConfigManager;
   
   import javax.swing.JComponent;
   import javax.swing.JLabel;
  @@ -43,30 +46,30 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.5 $
  + * @version $Revision: 1.6 $
    */
   public class AppLauncherImpl extends AppBase implements AppLauncher, FrimbleCallback {
   
       private static int TEMPAPPSUFFIX = 1;
       private WindowManager mWindowManager;
       private LaunchableTargetHolder mLaunchableTargetHolder;
  -    private DesktopKernelImpl mDesktopKernelImpl;
  +    private DesktopKernelService mDesktopKernelService;
       private Vector mLaunchedTargets;
       private ImageRepository mImageRepository;
       private Decorator mDecorator;
  -    private ConfigManagerImpl mConfigManagerImpl;
  +    private KernelConfigManager mConfigManager;
   
       protected AppLauncherImpl(final WindowManager windowManager,
                                 final LaunchableTargetHolder launchableTargetHolder,
  -                              final DesktopKernelImpl desktopKernelImpl,
  -                              final ConfigManagerImpl configManagerImpl, final Vector launchedTargets,
  +                              final DesktopKernelService desktopKernelService,
  +                              final KernelConfigManager configManager, final Vector launchedTargets,
                                 final ImageRepository imageRepository, final Decorator decorator,
                                 final File baseDir) {
           super(baseDir);
           mLaunchableTargetHolder = launchableTargetHolder;
           mWindowManager = windowManager;
  -        mDesktopKernelImpl = desktopKernelImpl;
  -        mConfigManagerImpl = configManagerImpl;
  +        mDesktopKernelService = desktopKernelService;
  +        mConfigManager = configManager;
           mLaunchedTargets = launchedTargets;
           mImageRepository = imageRepository;
           mDecorator = decorator;
  @@ -214,7 +217,7 @@
               if (instantiatedApp instanceof ControlPanel) {
                   ((ControlPanel) instantiatedApp)
                       .setLaunchableTargetHolder(mLaunchableTargetHolder);
  -                ((ControlPanel) instantiatedApp).setConfigManager(mConfigManagerImpl);
  +                ((ControlPanel) instantiatedApp).setConfigManager(mConfigManager);
                   
               }
   
  @@ -270,7 +273,7 @@
   
           if (instantiatedApp instanceof DesktopKernelAware) {
               DesktopKernelAware dak = (DesktopKernelAware) instantiatedApp;
  -            dak.setDesktopKernel(mDesktopKernelImpl.getProxy());
  +            dak.setDesktopKernel(mDesktopKernelService.getProxy());
           }
   
           if (frimble != null) {
  @@ -282,11 +285,11 @@
   
               //frimble.pack();
               frimble.setVisible(true);
  -            frimble.addFrimbleListener(mDesktopKernelImpl.getKernelFrimbleListener());
  +            frimble.addFrimbleListener(mDesktopKernelService.getKernelFrimbleListener());
           }
   
           if (fullClosable) {
  -            LaunchedTarget lchd = mDesktopKernelImpl.makeKernelLaunchedTarget(frimble,
  +            LaunchedTarget lchd = mDesktopKernelService.makeKernelLaunchedTarget(frimble,
                                         instantiatedApp, launchableTarget);
   
               mWindowManager.addLaunchedTarget(lchd);
  @@ -300,11 +303,11 @@
                   ShutdownConfirmer sc = new ShutdownConfirmer() {
   
                       public void shutdownJesktopOnly(boolean force) throws PropertyVetoException {
  -                        mDesktopKernelImpl.shutdownJesktopOnly(force);
  +                        mDesktopKernelService.shutdownJesktopOnly(force);
                       }
   
                       public void shutdownAvalon(boolean force) throws PropertyVetoException {
  -                        mDesktopKernelImpl.shutdownAvalon(force);
  +                        mDesktopKernelService.shutdownAvalon(force);
                       }
                   };
   
  
  
  
  1.5       +71 -21    jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/ConfigManagerImpl.java
  
  Index: ConfigManagerImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/ConfigManagerImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ConfigManagerImpl.java	2001/10/10 15:50:57	1.4
  +++ ConfigManagerImpl.java	2001/11/05 13:55:53	1.5
  @@ -20,12 +20,27 @@
   import org.jesktop.api.Decorator;
   
   import org.apache.avalon.cornerstone.services.store.ObjectRepository;
  +import org.apache.avalon.cornerstone.services.dom.DocumentBuilderFactory;
  +import org.apache.avalon.framework.component.ComponentManager;
  +import org.apache.avalon.framework.component.ComponentException;
  +import org.apache.avalon.framework.component.Composable;
  +import org.apache.avalon.framework.logger.AbstractLoggable;
  +import org.apache.avalon.framework.context.Contextualizable;
  +import org.apache.avalon.framework.context.Context;
  +import org.apache.avalon.framework.context.ContextException;
  +import org.apache.avalon.framework.configuration.Configurable;
  +import org.apache.avalon.framework.configuration.Configuration;
  +import org.apache.avalon.framework.configuration.ConfigurationException;
  +import org.apache.avalon.phoenix.Block;
  +import org.apache.avalon.jesktop.services.KernelConfigManager;
   import org.apache.xerces.dom.DocumentImpl;
   
   import org.w3c.dom.Document;
   import org.w3c.dom.Element;
   
   import javax.swing.JComponent;
  +import javax.xml.parsers.ParserConfigurationException;
  +import javax.xml.parsers.DocumentBuilder;
   
   import java.util.HashMap;
   import java.util.Set;
  @@ -40,23 +55,58 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
  -public class ConfigManagerImpl implements ConfigManager {
  +public class ConfigManagerImpl extends AbstractLoggable
  +        implements Block, KernelConfigManager, ConfigManager, Contextualizable, Composable, Configurable  {
   
       private final static String CFG = "cfg-";
       private ObjectRepository mObjectRepository;
       private LaunchableTargetHolder mLaunchableTargetHolder;
       private PropertyChangeSupport propChgSupport = new PropertyChangeSupport("DummyBean");
       //private HashMap configListeners = new HashMap();
  -    private org.apache.xerces.parsers.DOMParser parser =
  -        new org.apache.xerces.parsers.DOMParser();
  -    
  -    protected ConfigManagerImpl(final ObjectRepository rep, final LaunchableTargetHolder lth) {
  -        this.mObjectRepository = rep;
  +    private DocumentBuilderFactory mDocumentBuilderFactory;
  +    private DocumentBuilder mDocumentBuilder;
  +
  +    private ConfigManagerImpl() {
  +    }
  +
  +    public void setLaunchableTargetHolder(final LaunchableTargetHolder lth) {
           this.mLaunchableTargetHolder = lth;
       }
   
  +    public void contextualize(Context context)
  +            throws ContextException {
  +    }
  +
  +    public void configure(Configuration configuration)
  +            throws ConfigurationException {
  +    }
  +
  +    /**
  +     * Method compose
  +     *
  +     *
  +     * @param componentManager
  +     *
  +     * @throws ComponentException
  +     *
  +     */
  +    public void compose(ComponentManager componentManager) throws ComponentException {
  +        mObjectRepository = (ObjectRepository) componentManager.lookup(ObjectRepository.class.getName());
  +        mDocumentBuilderFactory =
  +            (DocumentBuilderFactory) componentManager.lookup(DocumentBuilderFactory.class.getName());
  +        try
  +        {
  +            mDocumentBuilder = mDocumentBuilderFactory.newDocumentBuilder();
  +        }
  +        catch (ParserConfigurationException pce)
  +        {
  +            throw new ComponentException("ParserConfiguration Exception in compose()",pce);
  +        }
  +    }
  +
  +
       /**
        * Method getObjConfig
        *
  @@ -102,7 +152,7 @@
           }
       }
   
  -    protected String getStringConfig(final String configPath, final String defaultVal) {
  +    public String getStringConfig(final String configPath, final String defaultVal) {
   
           if (mObjectRepository.containsKey(CFG + configPath)) {
               return (String) mObjectRepository.get(CFG + configPath);
  @@ -113,54 +163,54 @@
           }
       }
       
  -    protected void registerConfigInterest(final Configlet clet, final String configPath) {
  +    public void registerConfigInterest(final Configlet clet, final String configPath) {
           propChgSupport.addPropertyChangeListener(ConfigManager.PROPCHG_PREFIX + configPath, clet);      
       }
   
  -    protected void unRegisterConfigInterest(final Configlet clet) {
  +    public void unRegisterConfigInterest(final Configlet clet) {
           propChgSupport.removePropertyChangeListener(clet);
       }
   
  -    protected void registerConfigInterest(final DesktopKernelImpl dki, final String configPath) {
  +    public void registerConfigInterest(final DesktopKernel dk, final String configPath) {
           
  -        propChgSupport.addPropertyChangeListener(ConfigManager.PROPCHG_PREFIX + configPath, dki);        
  +        propChgSupport.addPropertyChangeListener(ConfigManager.PROPCHG_PREFIX + configPath, dk);
           
       }
   
  -    protected void unRegisterConfigInterest(final DesktopKernelImpl dki) {
  -        propChgSupport.removePropertyChangeListener(dki);
  +    public void unRegisterConfigInterest(final DesktopKernel dk) {
  +        propChgSupport.removePropertyChangeListener(dk);
       }
   
  -    protected void registerConfigInterest(final WindowManager wm, final String configPath) {
  +    public void registerConfigInterest(final WindowManager wm, final String configPath) {
           
           propChgSupport.addPropertyChangeListener(ConfigManager.PROPCHG_PREFIX + configPath, wm);        
       }
   
  -    protected void unRegisterConfigInterest(final WindowManager wm) {
  +    public void unRegisterConfigInterest(final WindowManager wm) {
           propChgSupport.removePropertyChangeListener(wm);
       }
       
  -    protected void registerConfigInterest(final Decorator dec, final String configPath) {
  +    public void registerConfigInterest(final Decorator dec, final String configPath) {
           propChgSupport.addPropertyChangeListener(ConfigManager.PROPCHG_PREFIX + configPath, (PropertyChangeListener) dec);      
       }    
       
  -    protected void unRegisterConfigInterest(final Decorator dec) {
  +    public void unRegisterConfigInterest(final Decorator dec) {
           propChgSupport.removePropertyChangeListener((PropertyChangeListener) dec);
       }    
   
  -    private void notifyInterested(final String configPath, final Configlet sendingConfiglet,
  +    public void notifyInterested(final String configPath, final Configlet sendingConfiglet,
                                     final Object config) {
           propChgSupport.firePropertyChange(ConfigManager.PROPCHG_PREFIX + configPath,null,config);
       }
   
  -     protected void notifyObjConfig(final String configPath, ClassLoader classLoader) {
  +    public void notifyObjConfig(final String configPath, ClassLoader classLoader) {
   
           Object obj = getObjConfig(configPath, classLoader);         
           notifyInterested(configPath,null,obj);
   
       } 
       
  -     protected void notifyXMLConfig(final String configPath, ClassLoader classLoader) {
  +    public void notifyXMLConfig(final String configPath, ClassLoader classLoader) {
   
           Document doc = this.getXMLConfig(configPath, classLoader);         
           notifyInterested(configPath,null,doc);
  
  
  
  1.11      +26 -23    jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/DesktopKernelImpl.java
  
  Index: DesktopKernelImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/DesktopKernelImpl.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DesktopKernelImpl.java	2001/10/23 08:50:19	1.10
  +++ DesktopKernelImpl.java	2001/11/05 13:55:53	1.11
  @@ -23,6 +23,8 @@
   import org.apache.avalon.cornerstone.services.threads.ThreadManager;
   import org.apache.avalon.jesktop.builtinapps.installer.ConfirmInstallation;
   import org.apache.avalon.jesktop.builtinapps.sys.ErrorApp;
  +import org.apache.avalon.jesktop.services.DesktopKernelService;
  +import org.apache.avalon.jesktop.services.KernelConfigManager;
   import org.apache.avalon.excalibur.thread.ThreadPool;
   import org.apache.avalon.excalibur.proxy.DynamicProxy;
   import org.jesktop.api.*;
  @@ -59,11 +61,11 @@
    * @version 1.0
    */
   public class DesktopKernelImpl extends AbstractLoggable
  -        implements Block, DesktopKernel, ShutdownConfirmer, Contextualizable, Composable, 
  +        implements Block, DesktopKernelService, DesktopKernel, ShutdownConfirmer, Contextualizable, Composable,
                      Initializable, Configurable, PropertyChangeListener {
       
       private ComponentManager mCompManager;
  -    private Configuration configuration;
  +    private Configuration phoenixConfiguration;
   
       //  protected final static Logger LOGGER = LogKit.getLoggerFor("jesktop-kernel");
       private static boolean LOG = true;
  @@ -74,7 +76,7 @@
       private AppLauncher mAppLauncherProxy, mAppLauncher;
       private ImageRepository mImageRepository;
       private ImageRepository mImageRepositoryProxy;
  -    private ConfigManagerImpl configManager;
  +    private KernelConfigManager mConfigManager;
       private DecoratorLaunchableTarget currentDecoratorLaunchableTarget;
       private Decorator mCurrentDecorator;
       private final KernelFrimbleListener kernelFrimbleListener = new KernelFrimbleListener();
  @@ -108,7 +110,7 @@
        *
        */
       public DesktopKernelImpl() {
  -        propertyChangeSupport = new PropertyChangeSupport(DesktopKernel.ROLE);
  +        propertyChangeSupport = new PropertyChangeSupport(DesktopKernel.class.getName());
       }
   
       
  @@ -153,11 +155,11 @@
           propertyChangeSupport.removePropertyChangeListener(propertyName, listener);
       }
   
  -    protected FrimbleListener getKernelFrimbleListener() {
  +    public FrimbleListener getKernelFrimbleListener() {
           return kernelFrimbleListener;
       }
   
  -    protected LaunchedTarget makeKernelLaunchedTarget(final Frimble frimble, final Object instantiatedApp,
  +    public LaunchedTarget makeKernelLaunchedTarget(final Frimble frimble, final Object instantiatedApp,
                                                         final LaunchableTarget launchableTarget) {
           return new KernelLaunchedTarget(frimble, instantiatedApp, launchableTarget);
       }
  @@ -187,7 +189,7 @@
        *
        */
       public void configure(final Configuration confManager) {
  -        this.configuration = confManager;
  +        this.phoenixConfiguration = confManager;
       }
   
       /**
  @@ -228,11 +230,12 @@
           try {
               mWindowManager = (WindowManager) mCompManager.lookup(WindowManager.ROLE);
               mJesktopStore =  (Store) mCompManager.lookup(Store.ROLE);
  -            mThreadManager = (ThreadManager) mCompManager.lookup(ThreadManager.ROLE);            
  +            mThreadManager = (ThreadManager) mCompManager.lookup(ThreadManager.ROLE);
  +            mConfigManager = (KernelConfigManager) mCompManager.lookup(ConfigManager.class.getName());
   
               Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
   
  -            Configuration repConf = configuration.getChild("repository");
  +            Configuration repConf = phoenixConfiguration.getChild("repository");
   
               if (mJesktopStore != null) {
                   repository = (ObjectRepository) mJesktopStore.select(repConf);
  @@ -259,14 +262,14 @@
               mAppInstaller = new AppInstallerImpl(propertyChangeSupport, this,
                                                   launchableTargetHolder, mImageRepository, mBaseDirectory);
               mAppInstallerProxy = (AppInstaller) DynamicProxy.newInstance(mAppInstaller, new Class[] {AppInstaller.class});
  -            configManager = new ConfigManagerImpl(repository, launchableTargetHolder);
  +            mConfigManager.setLaunchableTargetHolder(launchableTargetHolder);
   
  -            configManager.registerConfigInterest(this, "decorator/currentDecorator");
  -            configManager.registerConfigInterest(mWindowManager, "desktop/settings");
  +            mConfigManager.registerConfigInterest(this, "decorator/currentDecorator");
  +            mConfigManager.registerConfigInterest(mWindowManager, "desktop/settings");
               setDecoratorLaunchableTarget(defaultDecorator);
   
               initializeDecorator();
  -            configManager.notifyObjConfig("decorator/currentDecorator", getClass().getClassLoader());
  +            mConfigManager.notifyObjConfig("decorator/currentDecorator", getClass().getClassLoader());
               mWindowManager.setKernelCallback(mDesktopKernelProxy);
               mWindowManager
                   .setPersistableConfig(new PersistableConfigImpl(repository,
  @@ -275,7 +278,7 @@
                                                                       .getName().hashCode()));
               notifyLaunchableTargetListeners();
               mWindowManager.initializeView();
  -            configManager.notifyXMLConfig("desktop/settings", getClass().getClassLoader());
  +            mConfigManager.notifyXMLConfig("desktop/settings", getClass().getClassLoader());
   
               new File("Jesktop/Temp").mkdir();
   
  @@ -512,7 +515,7 @@
       }
   
       protected ConfigManager getConfigManager() {
  -        return configManager;
  +        return mConfigManager;
       }
   
       private LaunchableTarget getAssociatedViewer(final URL url) {
  @@ -693,21 +696,21 @@
   
               if (mCurrentDecorator instanceof ObjConfigurable) {
                   ((ObjConfigurable) mCurrentDecorator)
  -                    .setConfig(configManager.getObjConfig(dlt.getConfigPath(), cLoader));
  +                    .setConfig(mConfigManager.getObjConfig(dlt.getConfigPath(), cLoader));
               }
   
               currentDecoratorLaunchableTarget = dlt;
               
               if (oldDecorator instanceof PropertyChangeListener) {
  -                configManager.unRegisterConfigInterest(oldDecorator);
  +                mConfigManager.unRegisterConfigInterest(oldDecorator);
               }
   
               if (mCurrentDecorator instanceof PropertyChangeListener) {
  -                configManager.registerConfigInterest(mCurrentDecorator,currentDecoratorLaunchableTarget.getConfigPath());
  +                mConfigManager.registerConfigInterest(mCurrentDecorator,currentDecoratorLaunchableTarget.getConfigPath());
               }            
               
               mAppLauncher = new AppLauncherImpl(mWindowManager, launchableTargetHolder, this,
  -                                              configManager, launchedTargets, mImageRepository,
  +                                              mConfigManager, launchedTargets, mImageRepository,
                                                 mCurrentDecorator, mBaseDirectory);
               
               mAppLauncherProxy = (AppLauncher) DynamicProxy.newInstance(mAppLauncher, new Class[] {AppLauncher.class});
  @@ -722,13 +725,13 @@
           }
       }
   
  -    protected DesktopKernel getProxy() {
  +    public DesktopKernel getProxy() {
         return mDesktopKernelProxy;        
       }
       
       private void initializeDecorator() {
   
  -        String targetName = configManager.getStringConfig("decorator/currentDecorator", DFT_DECORATOR);
  +        String targetName = mConfigManager.getStringConfig("decorator/currentDecorator", DFT_DECORATOR);
          
           //if (targetName.equals(DFT_DECORATOR)) {
           //    setDecoratorLaunchableTarget(defaultDecorator);
  @@ -780,7 +783,7 @@
        *
        *
        * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  -     * @version $Revision: 1.10 $
  +     * @version $Revision: 1.11 $
        */
       private class KernelLaunchedTarget extends LaunchedTargetImpl {
   
  @@ -841,7 +844,7 @@
        *
        *
        * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  -     * @version $Revision: 1.10 $
  +     * @version $Revision: 1.11 $
        */
       private class KernelFrimbleListener extends FrimbleAdapter {
   
  
  
  
  1.5       +6 -3      jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/DesktopKernelImpl.xinfo
  
  Index: DesktopKernelImpl.xinfo
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/DesktopKernelImpl.xinfo,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DesktopKernelImpl.xinfo	2001/10/02 17:46:45	1.4
  +++ DesktopKernelImpl.xinfo	2001/11/05 13:55:53	1.5
  @@ -9,7 +9,7 @@
   
     <!-- services that are offered by this block -->
     <services>
  -    <service name="org.jesktop.api.DesktopKernel" version="1.0" />
  +    <service name="org.apache.avalon.jesktop.services.DesktopKernelService" version="1.0" />
     </services>
     <dependencies>
       <dependency>
  @@ -17,9 +17,12 @@
       </dependency>
       <dependency>
         <service name="org.apache.avalon.cornerstone.services.store.Store" version="1.0"/>
  -    </dependency>    
  +    </dependency>
       <dependency>
         <service name="org.apache.avalon.cornerstone.services.threads.ThreadManager" version="1.0"/>
  -    </dependency>     
  +    </dependency>
  +    <dependency>
  +      <service name="org.apache.avalon.jesktop.services.KernelConfigManager" version="1.0"/>
  +    </dependency>
     </dependencies> 
   </blockinfo>
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/core/ConfigManagerImpl.xinfo
  
  Index: ConfigManagerImpl.xinfo
  ===================================================================
  <?xml version="1.0"?>
  
  <blockinfo>
  
    <!-- section to describe block -->
    <block>
      <version>1.0</version>
    </block>
  
    <!-- services that are offered by this block -->
    <services>
      <service name="org.jesktop.config.ConfigManager" version="1.0" />
    </services>
    <dependencies>
      <dependency>
        <service name="org.apache.avalon.cornerstone.services.store.Store" version="1.0"/>
      </dependency>    
      <dependency>
        <service name="org.apache.avalon.cornerstone.services.dom.DocumentBuilderFactory" version="1.0"/>
      </dependency>    
    </dependencies> 
  </blockinfo>
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/services/DesktopKernelService.java
  
  Index: DesktopKernelService.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.jesktop.services;
  
  import org.jesktop.api.DesktopKernel;
  import org.jesktop.api.LaunchedTarget;
  import org.jesktop.frimble.FrimbleListener;
  import org.jesktop.frimble.Frimble;
  import org.jesktop.launchable.LaunchableTarget;
  
  import java.beans.PropertyVetoException;
  
  public interface DesktopKernelService extends DesktopKernel {
  
      DesktopKernel getProxy();
  
      FrimbleListener getKernelFrimbleListener();
  
      LaunchedTarget makeKernelLaunchedTarget(Frimble frimble, Object instantiatedApp, LaunchableTarget launchableTarget);
  
      void shutdownJesktopOnly(boolean force) throws PropertyVetoException;
  
      void shutdownAvalon(boolean force) throws PropertyVetoException;
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/jesktop/src/java/org/apache/avalon/jesktop/services/KernelConfigManager.java
  
  Index: KernelConfigManager.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.jesktop.services;
  
  import org.jesktop.api.WindowManager;
  import org.jesktop.api.Decorator;
  import org.jesktop.api.DesktopKernel;
  import org.jesktop.config.ConfigManager;
  import org.jesktop.config.Configlet;
  import org.jesktop.config.XMLConfiglet;
  import org.jesktop.config.ObjConfiglet;
  import org.w3c.dom.Document;
  import org.apache.avalon.jesktop.core.LaunchableTargetHolder;
  
  import java.beans.PropertyChangeListener;
  
  /**
   * @author  Paul_Hammant <Pa...@yahoo.com>
   * @version 1.0
   */
  public interface KernelConfigManager extends ConfigManager {
  
      void registerConfigInterest(final Configlet clet, final String configPath);
  
      void unRegisterConfigInterest(final Configlet clet);
  
      void registerConfigInterest(final DesktopKernel dk, final String configPath);
  
      void unRegisterConfigInterest(final DesktopKernel dk);
  
      void registerConfigInterest(final WindowManager wm, final String configPath);
  
      void unRegisterConfigInterest(final WindowManager wm);
  
      void registerConfigInterest(final Decorator dec, final String configPath);
  
      void unRegisterConfigInterest(final Decorator dec);
  
      void notifyInterested(final String configPath, final Configlet sendingConfiglet, final Object config);
  
      void notifyObjConfig(final String configPath, ClassLoader classLoader);
  
      void notifyXMLConfig(final String configPath, ClassLoader classLoader);
  
      Object getObjConfig(final String configPath, final ClassLoader classLoader);
  
      Document getXMLConfig(final String configPath, final ClassLoader classLoader);
  
      String getStringConfig(final String configPath, final String defaultVal);
  
      void notifyUpdated(final XMLConfiglet clet);
  
      void notifyUpdated(final ObjConfiglet clet);
  
      void notifyUpdatedNoSave(final ObjConfiglet clet);
  
      void notifyUpdatedNoSave(final XMLConfiglet clet);
  
      void setLaunchableTargetHolder(LaunchableTargetHolder lth);
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>