geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vamsavardhana Reddy" <c1vams...@gmail.com>
Subject Re: svn commit: r486734 - in /geronimo/server: branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ branches/1.2/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/ branches/2.0-M1/modules/geronim
Date Wed, 13 Dec 2006 17:18:44 GMT
Yes.  It removes the config.xml entry unconditionally.  Once the
configuration is deleted is it necessary to retain the config.xml entry?
Should we skip those entries that have gbean elements inside?  Will these
entries be useful (used automatically) at a later deployment of the same
configuration?

--vamsi

On 12/13/06, David Jencks <david_jencks@yahoo.com> wrote:
>
> Does this unconditionally remove the config.xml entry?  The original
> idea was to only remove the config.xml entry if it had no
> customizations: if it has customizations we tried to leave it with
> load="false"
>
> thanks
> david jencks
>
> On Dec 13, 2006, at 8:54 AM, vamsic007@apache.org wrote:
>
> > Author: vamsic007
> > Date: Wed Dec 13 08:54:14 2006
> > New Revision: 486734
> >
> > URL: http://svn.apache.org/viewvc?view=rev&rev=486734
> > Log:
> > GERONIMO-2437 Empty dirs and config.xml entries left behind after
> > undeploy
> >   o Removes the uninstalled configurations from
> > PersistentConfigurationList
> >   o Checks for parent directories upto 3 levels and deletes empty
> > directories
> >   o FIXME: Repository is assumed to be Maven2Repository (thus
> > checking 3 levels up).  May need a mechanism to determine the
> > repository type and the number of directory levels to check for
> > empty dirs.
> >
> > Modified:
> >     geronimo/server/branches/1.1/modules/system/src/java/org/apache/
> > geronimo/system/configuration/RepositoryConfigurationStore.java
> >     geronimo/server/branches/1.2/modules/geronimo-system/src/main/
> > java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java
> >     geronimo/server/branches/2.0-M1/modules/geronimo-system/src/
> > main/java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java
> >     geronimo/server/trunk/modules/geronimo-system/src/main/java/org/
> > apache/geronimo/system/configuration/RepositoryConfigurationStore.java
> >
> > Modified: geronimo/server/branches/1.1/modules/system/src/java/org/
> > apache/geronimo/system/configuration/RepositoryConfigurationStore.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/branches/1.1/
> > modules/system/src/java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java?
> > view=diff&rev=486734&r1=486733&r2=486734
> > ======================================================================
> > ========
> > --- geronimo/server/branches/1.1/modules/system/src/java/org/apache/
> > geronimo/system/configuration/RepositoryConfigurationStore.java
> > (original)
> > +++ geronimo/server/branches/1.1/modules/system/src/java/org/apache/
> > geronimo/system/configuration/RepositoryConfigurationStore.java Wed
> > Dec 13 08:54:14 2006
> > @@ -46,6 +46,7 @@
> >  import org.apache.geronimo.kernel.config.InvalidConfigException;
> >  import org.apache.geronimo.kernel.config.NoSuchConfigException;
> >  import org.apache.geronimo.kernel.config.IOUtil;
> > +import org.apache.geronimo.kernel.config.PersistentConfigurationList;
> >  import org.apache.geronimo.kernel.repository.Artifact;
> >  import org.apache.geronimo.kernel.repository.FileWriteMonitor;
> >  import
> > org.apache.geronimo.kernel.repository.WritableListableRepository;
> > @@ -338,7 +339,37 @@
> >          }
> >          File location = repository.getLocation(configId);
> >          IOUtil.recursiveDelete(location);
> > -        //todo: for Maven 2 repo, delete the version directory if
> > there's nothing left in it (probably the case)
> > +        // Number of directory levels up, to check and delete
> > empty parent directories in the repo
> > +        int dirDepth = 0;
> > +
> > +        // FIXME: Determine the repository type
> > +        // For now assume the repo is a Maven2Repository.  This
> > should not cause any harm even if it is an
> > +        // Maven1Repository, for it would be deleting the
> > 'repository' directory if it happens to be empty.
> > +        boolean m2repo = true;
> > +
> > +        if(m2repo) {
> > +            // Check version, artifact and group directories, i.e.
> > 3 levels up
> > +            dirDepth = 3;
> > +        }
> > +
> > +        File temp = location;
> > +        for(int i = 0; i < dirDepth; ++i) {
> > +            if((temp = temp.getParentFile()).listFiles().length ==
> > 0) {
> > +                // Directory is empty.  Remove it.
> > +                temp.delete();
> > +            } else {
> > +                // Directory is not empty.  No need to check any
> > more parent directories
> > +                break;
> > +            }
> > +        }
> > +
> > +        try {
> > +            // Is this the right way to get hold of
> > PersistentConfigurationList?
> > +            PersistentConfigurationList configList =
> > (PersistentConfigurationList) kernel.getGBean
> > (PersistentConfigurationList.class);
> > +            configList.removeConfiguration(configId);
> > +        } catch (Exception e) {
> > +            log.warn("Unable to remove configuration from
> > persistent configurations. id = "+configId, e);
> > +        }
> >
> >          if (configurationInfo != null) {
> >              IOException ioException = null;
> >
> > Modified: geronimo/server/branches/1.2/modules/geronimo-system/src/
> > main/java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/branches/1.2/
> > modules/geronimo-system/src/main/java/org/apache/geronimo/system/
> > configuration/RepositoryConfigurationStore.java?
> > view=diff&rev=486734&r1=486733&r2=486734
> > ======================================================================
> > ========
> > --- geronimo/server/branches/1.2/modules/geronimo-system/src/main/
> > java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java (original)
> > +++ geronimo/server/branches/1.2/modules/geronimo-system/src/main/
> > java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java Wed Dec 13 08:54:14 2006
> > @@ -45,6 +45,7 @@
> >  import org.apache.geronimo.kernel.config.InvalidConfigException;
> >  import org.apache.geronimo.kernel.config.NoSuchConfigException;
> >  import org.apache.geronimo.kernel.config.IOUtil;
> > +import org.apache.geronimo.kernel.config.PersistentConfigurationList;
> >  import org.apache.geronimo.kernel.repository.Artifact;
> >  import org.apache.geronimo.kernel.repository.FileWriteMonitor;
> >  import
> > org.apache.geronimo.kernel.repository.WritableListableRepository;
> > @@ -333,7 +334,36 @@
> >          }
> >          File location = repository.getLocation(configId);
> >          IOUtil.recursiveDelete(location);
> > -        //todo: for Maven 2 repo, delete the version directory if
> > there's nothing left in it (probably the case)
> > +        // Number of directory levels up, to check and delete
> > empty parent directories in the repo
> > +        int dirDepth = 0;
> > +
> > +        // FIXME: Determine the repository type
> > +        // For now assume the repo is a Maven2Repository.  This
> > should not cause any harm even if it is an
> > +        // Maven1Repository, for it would be deleting the
> > 'repository' directory if it happens to be empty.
> > +        boolean m2repo = true;
> > +        if(m2repo) {
> > +            // Check version, artifact and group directories, i.e.
> > 3 levels up
> > +            dirDepth = 3;
> > +        }
> > +
> > +        File temp = location;
> > +        for(int i = 0; i < dirDepth; ++i) {
> > +            if((temp = temp.getParentFile()).listFiles().length ==
> > 0) {
> > +                // Directory is empty.  Remove it.
> > +                temp.delete();
> > +            } else {
> > +                // Directory is not empty.  No need to check any
> > more parent directories
> > +                break;
> > +            }
> > +        }
> > +
> > +        try {
> > +            // Is this the right way to get hold of
> > PersistentConfigurationList?
> > +            PersistentConfigurationList configList =
> > (PersistentConfigurationList) kernel.getGBean
> > (PersistentConfigurationList.class);
> > +            configList.removeConfiguration(configId);
> > +        } catch (Exception e) {
> > +            log.warn("Unable to remove configuration from
> > persistent configurations. id = "+configId, e);
> > +        }
> >
> >          if (configurationInfo != null) {
> >              IOException ioException = null;
> >
> > Modified: geronimo/server/branches/2.0-M1/modules/geronimo-system/
> > src/main/java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M1/
> > modules/geronimo-system/src/main/java/org/apache/geronimo/system/
> > configuration/RepositoryConfigurationStore.java?
> > view=diff&rev=486734&r1=486733&r2=486734
> > ======================================================================
> > ========
> > --- geronimo/server/branches/2.0-M1/modules/geronimo-system/src/
> > main/java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java (original)
> > +++ geronimo/server/branches/2.0-M1/modules/geronimo-system/src/
> > main/java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java Wed Dec 13 08:54:14 2006
> > @@ -45,6 +45,7 @@
> >  import org.apache.geronimo.kernel.config.InvalidConfigException;
> >  import org.apache.geronimo.kernel.config.NoSuchConfigException;
> >  import org.apache.geronimo.kernel.config.IOUtil;
> > +import org.apache.geronimo.kernel.config.PersistentConfigurationList;
> >  import org.apache.geronimo.kernel.repository.Artifact;
> >  import org.apache.geronimo.kernel.repository.FileWriteMonitor;
> >  import
> > org.apache.geronimo.kernel.repository.WritableListableRepository;
> > @@ -333,7 +334,37 @@
> >          }
> >          File location = repository.getLocation(configId);
> >          IOUtil.recursiveDelete(location);
> > -        //todo: for Maven 2 repo, delete the version directory if
> > there's nothing left in it (probably the case)
> > +        // Number of directory levels up, to check and delete
> > empty parent directories in the repo
> > +        int dirDepth = 0;
> > +
> > +        // FIXME: Determine the repository type
> > +        // For now assume the repo is a Maven2Repository.  This
> > should not cause any harm even if it is an
> > +        // Maven1Repository, for it would be deleting the
> > 'repository' directory if it happens to be empty.
> > +        boolean m2repo = true;
> > +
> > +        if(m2repo) {
> > +            // Check version, artifact and group directories, i.e.
> > 3 levels up
> > +            dirDepth = 3;
> > +        }
> > +
> > +        File temp = location;
> > +        for(int i = 0; i < dirDepth; ++i) {
> > +            if((temp = temp.getParentFile()).listFiles().length ==
> > 0) {
> > +                // Directory is empty.  Remove it.
> > +                temp.delete();
> > +            } else {
> > +                // Directory is not empty.  No need to check any
> > more parent directories
> > +                break;
> > +            }
> > +        }
> > +
> > +        try {
> > +            // Is this the right way to get hold of
> > PersistentConfigurationList?
> > +            PersistentConfigurationList configList =
> > (PersistentConfigurationList) kernel.getGBean
> > (PersistentConfigurationList.class);
> > +            configList.removeConfiguration(configId);
> > +        } catch (Exception e) {
> > +            log.warn("Unable to remove configuration from
> > persistent configurations. id = "+configId, e);
> > +        }
> >
> >          if (configurationInfo != null) {
> >              IOException ioException = null;
> >
> > Modified: geronimo/server/trunk/modules/geronimo-system/src/main/
> > java/org/apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
> > geronimo-system/src/main/java/org/apache/geronimo/system/
> > configuration/RepositoryConfigurationStore.java?
> > view=diff&rev=486734&r1=486733&r2=486734
> > ======================================================================
> > ========
> > --- geronimo/server/trunk/modules/geronimo-system/src/main/java/org/
> > apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java (original)
> > +++ geronimo/server/trunk/modules/geronimo-system/src/main/java/org/
> > apache/geronimo/system/configuration/
> > RepositoryConfigurationStore.java Wed Dec 13 08:54:14 2006
> > @@ -45,6 +45,7 @@
> >  import org.apache.geronimo.kernel.config.InvalidConfigException;
> >  import org.apache.geronimo.kernel.config.NoSuchConfigException;
> >  import org.apache.geronimo.kernel.config.IOUtil;
> > +import org.apache.geronimo.kernel.config.PersistentConfigurationList;
> >  import org.apache.geronimo.kernel.repository.Artifact;
> >  import org.apache.geronimo.kernel.repository.FileWriteMonitor;
> >  import
> > org.apache.geronimo.kernel.repository.WritableListableRepository;
> > @@ -333,7 +334,37 @@
> >          }
> >          File location = repository.getLocation(configId);
> >          IOUtil.recursiveDelete(location);
> > -        //todo: for Maven 2 repo, delete the version directory if
> > there's nothing left in it (probably the case)
> > +        // Number of directory levels up, to check and delete
> > empty parent directories in the repo
> > +        int dirDepth = 0;
> > +
> > +        // FIXME: Determine the repository type
> > +        // For now assume the repo is a Maven2Repository.  This
> > should not cause any harm even if it is an
> > +        // Maven1Repository, for it would be deleting the
> > 'repository' directory if it happens to be empty.
> > +        boolean m2repo = true;
> > +
> > +        if(m2repo) {
> > +            // Check version, artifact and group directories, i.e.
> > 3 levels up
> > +            dirDepth = 3;
> > +        }
> > +
> > +        File temp = location;
> > +        for(int i = 0; i < dirDepth; ++i) {
> > +            if((temp = temp.getParentFile()).listFiles().length ==
> > 0) {
> > +                // Directory is empty.  Remove it.
> > +                temp.delete();
> > +            } else {
> > +                // Directory is not empty.  No need to check any
> > more parent directories
> > +                break;
> > +            }
> > +        }
> > +
> > +        try {
> > +            // Is this the right way to get hold of
> > PersistentConfigurationList?
> > +            PersistentConfigurationList configList =
> > (PersistentConfigurationList) kernel.getGBean
> > (PersistentConfigurationList.class);
> > +            configList.removeConfiguration(configId);
> > +        } catch (Exception e) {
> > +            log.warn("Unable to remove configuration from
> > persistent configurations. id = "+configId, e);
> > +        }
> >
> >          if (configurationInfo != null) {
> >              IOException ioException = null;
> >
> >
>
>

Mime
View raw message