geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Please reverse these commits...Re: svn commit: r412604 - in /geronimo/branches/1.1: applications/console-standard/src/java/org/apache/geronimo/console/car/ assemblies/j2ee-jetty-server/src/var/config/ assemblies/j2ee-tomcat-server/src/var/config/
Date Thu, 08 Jun 2006 07:18:51 GMT

On Jun 7, 2006, at 9:23 PM, Aaron Mulder wrote:

> On 6/7/06, Matt Hogstrom <matt@hogstrom.org> wrote:
>> Its been a long day and I've caught up on the JIRAs you created.   
>> I think I'm ok with your fixes
>> given the JIRA entries I read through.
>
> OK

I'm OK with these bug fixes too.
>
>> I think the PluginRepositoryExporter.java should not be hardcoding  
>> values in it.  Can you look at
>> moving this to a property file in the future?  Geronimo has way  
>> too many configuration items hard
>> coded in the server (or requires a server rebuild to make  
>> changes).  I would prefer not to see any
>> other changes in this area for 1.1.
>
> Yes, it was just going to be a bigger change to put in a properties
> file and get it to read from that.
>
>> Are there any other bugs that you are aware of that we need to be  
>> tracking?
>
> http://issues.apache.org/jira/browse/GERONIMO-1434
>
> There's an OpenEJB patch listed as pending.  I think this was the one
> that caused all the problems when the repo was down and has now been
> applied, but I'm not sure.  David J, can you confirm?

Kevan applied the patch for me, I've closed this one.
>
> http://issues.apache.org/jira/browse/GERONIMO-1451
>
> There's an ActiveMQ patch that hasn't been applied because it needs to
> be done against the *-g1_1 module not the 1.0 module.  Perhaps not
> tremendously important, but if it fixes the problem it would be nice
> to put into ActiveMQ 3.2.4 instead of immediately going to a new
> ActiveMQ SNAPSHOT.
>
> http://issues.apache.org/jira/browse/GERONIMO-1884
>
> Should change the terminology on the plugin screen in the console to
> be consistent (there's a patch for this in
> http://issues.apache.org/jira/browse/GERONIMO-1938), and perhaps add a
> few words about removing plugins.  I don't think we need to do
> anything else for this issue.
>
> http://issues.apache.org/jira/browse/GERONIMO-1791
> http://issues.apache.org/jira/browse/GERONIMO-1817
>
> Trivial patches to avoid NPEs in the LDAP realm.
>
> http://issues.apache.org/jira/browse/GERONIMO-1781
>
> Reportedly, the repository blows up on a module like foo-1.jar
>
> NO URL
>
> There's no Jira for this, but we should remove the "old keystore"
> portlet from the console for the 1.1 release (but leave it there for
> 1.1.1, until all the functionality is replaced).
>
> http://issues.apache.org/jira/browse/GERONIMO-1887
>
> The console has 1.7 MB of (potentially) unnecessary JARs.
>
> http://issues.apache.org/jira/browse/GERONIMO-2083
>
> Should we upgrade to the current HOWL?

no, we'd need an upload to ibiblio for this.  I got a nice m2 build  
for howl working and created an m2 compliant upload request, but  
maven is not accepting them until it gets a new piece of hardware set  
up.

thanks for looking through all of these!

david jencks

>
> http://issues.apache.org/jira/browse/GERONIMO-1922
>
> Would be nice to force a plugin export to fail if you've used the
> SharedLib dependency.  I thought we had done this, but I don't see the
> code.  So for now it's a "training issue".
>
>
> I can look at most of these before noon on 6/8 if you are OK with
> that.  Anything that you don't want to see go in?
>
>> Also, if you could take a whack at the JIRAs you moved into 1.1  
>> and move them out that would be
>> really helpful.
>
> Hmm... thought you were going to do that.  :)
>
> Thanks,
>     Aaron
>
>> Matt Hogstrom wrote:
>> > Aaron,
>> >
>> > We are in the process of releasing 1.1.  In the release note I  
>> requested
>> > that people please let me know before commiting changes to 1.1.   
>> The
>> > number of changes you've made below are significant changes.   
>> Can you
>> > please revert this change as well as 412621 and hold them for  
>> 1.1 please.
>> >
>> > For specific issues with 1.1 please post a note about the change  
>> so we
>> > can discuss the content of hte change before applying it to the  
>> build.
>> >
>> > If you would like to bring these issues forward for discussion that
>> > would be fine but I'm inclinced to get 1.1 out and have these in  
>> 1.1.1.
>> >
>> > Thanks.
>> >
>> > Matt
>> >
>> > ammulder@apache.org wrote:
>> >> Author: ammulder
>> >> Date: Wed Jun  7 15:56:52 2006
>> >> New Revision: 412604
>> >>
>> >> URL: http://svn.apache.org/viewvc?rev=412604&view=rev
>> >> Log:
>> >> Fixes to config.xml, plugins, plugin repo list, plugin installer
>> >>  - Plugin exporter can map current version to a set of  
>> supported versions
>> >>    to help with problems caused by plugins not running on new  
>> test builds
>> >>    of Geronimo
>> >>  - config.xml has placeholder for user-added plugin repositories
>> >>    GERONIMO-2076
>> >>  - Removed Apache directory content from config.xml for 4 main  
>> assemblies
>> >>  - Added directory config.xml content to directory plugin metadata
>> >>  - Plugin installer writes correct elements for config.xml content
>> >>    GERONIMO-2088
>> >>  - Plugin exporter includes file copy and config.xml content
>> >>    GERONIMO-2089
>> >>  - Plugin repository list points to a version-specific file (so  
>> 1.1 and
>> >>    1.2 can point to different repositories)
>> >>  - Trim entries in plugin repository list, just in case
>> >>  - Remove some extraneous logging during console plugin download
>> >>
>> >> Modified:
>> >>
>> >> geronimo/branches/1.1/applications/console-standard/src/java/ 
>> org/apache/geronimo/console/car/DownloadCARHandler.java
>> >>
>> >>
>> >> geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/ 
>> config/config.xml
>> >>
>> >>
>> >> geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/ 
>> config/config.xml
>> >>
>> >>
>> >> geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/ 
>> config/config.xml
>> >>
>> >>
>> >> geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/ 
>> config/config.xml
>> >>
>> >>
>> >> geronimo/branches/1.1/assemblies/zzzzj2ee-installer/src/var/ 
>> config/config.xml
>> >>
>> >>     geronimo/branches/1.1/configs/directory/src/conf/geronimo- 
>> plugin.xml
>> >>
>> >> geronimo/branches/1.1/modules/common/src/test/org/apache/ 
>> geronimo/common/propertyeditor/AbstractCollectionEditorTest.java
>> >>
>> >>
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginInstallerGBean.java
>> >>
>> >>
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginRepositoryDownloader.java
>> >>
>> >>
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/util/PluginRepositoryExporter.java
>> >>
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/applications/console-standard/src/java/ 
>> org/apache/geronimo/console/car/DownloadCARHandler.java
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/applications/ 
>> console-standard/src/java/org/apache/geronimo/console/car/ 
>> DownloadCARHandler.java?rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/applications/console-standard/src/java/ 
>> org/apache/geronimo/console/car/DownloadCARHandler.java
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/applications/console-standard/src/java/ 
>> org/apache/geronimo/console/car/DownloadCARHandler.java
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -152,9 +152,9 @@
>> >>
>> >> progressInfo.setMainMessage(results.getCurrentMessage());
>> >>
>> >> progressInfo.setProgressPercent(results.getCurrentFilePercent());
>> >>                  progressInfo.setFinished(results.isFinished());
>> >> -                log.info(progressInfo.getMainMessage());
>> >> +                log.debug(progressInfo.getMainMessage());
>> >>                  if (results.isFinished()) {
>> >> -                    log.info("Installation finished");
>> >> +                    log.debug("Installation finished");
>> >>
>> >> session.setAttribute(DOWNLOAD_RESULTS_SESSION_KEY, results);
>> >>                      break;
>> >>                  } else {
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/ 
>> config/config.xml
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/assemblies/ 
>> j2ee-jetty-server/src/var/config/config.xml? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/ 
>> config/config.xml
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/assemblies/j2ee-jetty-server/src/var/ 
>> config/config.xml
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -15,6 +15,10 @@
>> >>              <!-- Check whether this really works if host name is
>> >> 0.0.0.0 -->
>> >>              <attribute
>> >> name="namingProviderUrl">rmi://${PlanServerHostname}:$ 
>> {PlanNamingPort}</attribute>
>> >>
>> >>          </gbean>
>> >> +        <gbean name="DownloadedPluginRepos">
>> >> +          <attribute
>> >> name="repositoryList">http://people.apache.org/~ammulder/plugin- 
>> repository-list-1.1.txt</attribute>
>> >>
>> >> +          <attribute name="userRepositories">[]</attribute>
>> >> +        </gbean>
>> >>      </module>
>> >>      <module name="geronimo/j2ee-server/${pom.currentVersion}/ 
>> car">
>> >>      </module>
>> >> @@ -62,13 +66,6 @@
>> >>          </gbean>
>> >>      </module>
>> >>      <module name="geronimo/activemq/${pom.currentVersion}/car"/>
>> >> -    <module name="geronimo/directory/${pom.currentVersion}/car"
>> >> load="false">
>> >> -        <gbean name="geronimo.server:name=DirectoryService">
>> >> -            <attribute name="host">${PlanServerHostname}</ 
>> attribute>
>> >> -            <attribute name="port">${PlanLdapPort}</attribute>
>> >> -        </gbean>
>> >> -    </module>
>> >> -    <module name="geronimo/ldap-realm/${pom.currentVersion}/car"
>> >> load="false"/>
>> >>      <module name="geronimo/jetty/${pom.currentVersion}/car">
>> >>          <gbean name="JettyWebConnector">
>> >>              <attribute name="host">${PlanServerHostname}</ 
>> attribute>
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/ 
>> config/config.xml
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/assemblies/ 
>> j2ee-tomcat-server/src/var/config/config.xml? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/ 
>> config/config.xml
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/assemblies/j2ee-tomcat-server/src/var/ 
>> config/config.xml
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -15,6 +15,10 @@
>> >>              <!-- Check whether this really works if host name is
>> >> 0.0.0.0 -->
>> >>              <attribute
>> >> name="namingProviderUrl">rmi://${PlanServerHostname}:$ 
>> {PlanNamingPort}</attribute>
>> >>
>> >>          </gbean>
>> >> +        <gbean name="DownloadedPluginRepos">
>> >> +          <attribute
>> >> name="repositoryList">http://people.apache.org/~ammulder/plugin- 
>> repository-list-1.1.txt</attribute>
>> >>
>> >> +          <attribute name="userRepositories">[]</attribute>
>> >> +        </gbean>
>> >>      </module>
>> >>      <module name="geronimo/j2ee-server/${pom.currentVersion}/ 
>> car">
>> >>      </module>
>> >> @@ -62,13 +66,6 @@
>> >>          </gbean>
>> >>      </module>
>> >>      <module name="geronimo/activemq/${pom.currentVersion}/car"/>
>> >> -    <module name="geronimo/directory/${pom.currentVersion}/car"
>> >> load="false">
>> >> -        <gbean name="geronimo.server:name=DirectoryService">
>> >> -            <attribute name="host">${PlanServerHostname}</ 
>> attribute>
>> >> -            <attribute name="port">${PlanLdapPort}</attribute>
>> >> -        </gbean>
>> >> -    </module>
>> >> -    <module name="geronimo/ldap-realm/${pom.currentVersion}/car"
>> >> load="false"/>
>> >>      <module name="geronimo/tomcat/${pom.currentVersion}/car">
>> >>          <gbean name="TomcatEngine">
>> >>              <reference name="TomcatValveChain" />
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/ 
>> config/config.xml
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/assemblies/ 
>> minimal-jetty-server/src/var/config/config.xml? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/ 
>> config/config.xml
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/assemblies/minimal-jetty-server/src/var/ 
>> config/config.xml
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -15,6 +15,10 @@
>> >>              <!-- Check whether this really works if host name is
>> >> 0.0.0.0 -->
>> >>              <attribute
>> >> name="namingProviderUrl">rmi://${PlanServerHostname}:$ 
>> {PlanNamingPort}</attribute>
>> >>
>> >>          </gbean>
>> >> +        <gbean name="DownloadedPluginRepos">
>> >> +          <attribute
>> >> name="repositoryList">http://people.apache.org/~ammulder/plugin- 
>> repository-list-1.1.txt</attribute>
>> >>
>> >> +          <attribute name="userRepositories">[]</attribute>
>> >> +        </gbean>
>> >>      </module>
>> >>      <module name="geronimo/j2ee-server/${pom.currentVersion}/ 
>> car"/>
>> >>      <module name="geronimo/j2ee-security/${pom.currentVersion}/ 
>> car">
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/ 
>> config/config.xml
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/assemblies/ 
>> minimal-tomcat-server/src/var/config/config.xml? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/ 
>> config/config.xml
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/assemblies/minimal-tomcat-server/src/var/ 
>> config/config.xml
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -15,6 +15,10 @@
>> >>              <!-- Check whether this really works if host name is
>> >> 0.0.0.0 -->
>> >>              <attribute
>> >> name="namingProviderUrl">rmi://${PlanServerHostname}:$ 
>> {PlanNamingPort}</attribute>
>> >>
>> >>          </gbean>
>> >> +        <gbean name="DownloadedPluginRepos">
>> >> +          <attribute
>> >> name="repositoryList">http://people.apache.org/~ammulder/plugin- 
>> repository-list-1.1.txt</attribute>
>> >>
>> >> +          <attribute name="userRepositories">[]</attribute>
>> >> +        </gbean>
>> >>      </module>
>> >>      <module name="geronimo/j2ee-server/${pom.currentVersion}/ 
>> car"/>
>> >>      <module name="geronimo/j2ee-security/${pom.currentVersion}/ 
>> car">
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/assemblies/zzzzj2ee-installer/src/var/ 
>> config/config.xml
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/assemblies/ 
>> zzzzj2ee-installer/src/var/config/config.xml? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/assemblies/zzzzj2ee-installer/src/var/ 
>> config/config.xml
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/assemblies/zzzzj2ee-installer/src/var/ 
>> config/config.xml
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -15,6 +15,10 @@
>> >>              <!-- Check whether this really works if host name is
>> >> 0.0.0.0 -->
>> >>              <attribute
>> >> name="namingProviderUrl">rmi://${PlanServerHostname}:$ 
>> {PlanNamingPort}</attribute>
>> >>
>> >>          </gbean>
>> >> +        <gbean name="DownloadedPluginRepos">
>> >> +          <attribute
>> >> name="repositoryList">http://people.apache.org/~ammulder/plugin- 
>> repository-list-1.1.txt</attribute>
>> >>
>> >> +          <attribute name="userRepositories">[]</attribute>
>> >> +        </gbean>
>> >>      </module>
>> >>      <module name="geronimo/j2ee-server/${pom.currentVersion}/car"
>> >> load="${J2EE.Features.enable}">
>> >>          <gbean name="geronimo:name=EJB,type=NetworkService">
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/configs/directory/src/conf/geronimo- 
>> plugin.xml
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/configs/ 
>> directory/src/conf/geronimo-plugin.xml? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/configs/directory/src/conf/geronimo- 
>> plugin.xml
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/configs/directory/src/conf/geronimo- 
>> plugin.xml
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -26,4 +26,11 @@
>> >>  <dependency>geronimo/geronimo-directory//jar</dependency>
>> >>  <source-repository>http://www.geronimoplugins.com/repository/ 
>> geronimo-1.1/</source-repository>
>> >>
>> >>  <source-repository>http://www.ibiblio.org/maven2/</source- 
>> repository>
>> >> +<config-xml-content>
>> >> +  <gbean xmlns="http://geronimo.apache.org/xml/ns/attributes-1.1"
>> >> +         name="DirectoryService">
>> >> +    <attribute name="host">0.0.0.0</attribute>
>> >> +    <attribute name="port">1389</attribute>
>> >> +  </gbean>
>> >> +</config-xml-content>
>> >>  </geronimo-plugin>
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/modules/common/src/test/org/apache/ 
>> geronimo/common/propertyeditor/AbstractCollectionEditorTest.java
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/modules/ 
>> common/src/test/org/apache/geronimo/common/propertyeditor/ 
>> AbstractCollectionEditorTest.java? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/modules/common/src/test/org/apache/ 
>> geronimo/common/propertyeditor/AbstractCollectionEditorTest.java
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/modules/common/src/test/org/apache/ 
>> geronimo/common/propertyeditor/AbstractCollectionEditorTest.java
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -59,6 +59,16 @@
>> >>          checkContents(collection);
>> >>      }
>> >>
>> >> +    public void testEmpty() {
>> >> +        String input = "[]";
>> >> +        editor.setAsText(input);
>> >> +        Object output = editor.getValue();
>> >> +        assertNotNull(output);
>> >> +        checkType(output);
>> >> +        Collection collection = (Collection) output;
>> >> +        assertEquals(0, collection.size());
>> >> +    }
>> >> +
>> >>      private void checkContents(Collection collection) {
>> >>          assertEquals(2, collection.size());
>> >>          Iterator iterator = collection.iterator();
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginInstallerGBean.java
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/modules/ 
>> system/src/java/org/apache/geronimo/system/plugin/ 
>> PluginInstallerGBean.java?rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginInstallerGBean.java
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginInstallerGBean.java
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -21,6 +21,7 @@
>> >>  import java.io.FileOutputStream;
>> >>  import java.io.IOException;
>> >>  import java.io.InputStream;
>> >> +import java.io.BufferedOutputStream;
>> >>  import java.net.HttpURLConnection;
>> >>  import java.net.MalformedURLException;
>> >>  import java.net.URL;
>> >> @@ -37,8 +38,11 @@
>> >>  import java.util.Map;
>> >>  import java.util.Set;
>> >>  import java.util.SortedSet;
>> >> +import java.util.Enumeration;
>> >>  import java.util.jar.JarEntry;
>> >>  import java.util.jar.JarFile;
>> >> +import java.util.jar.JarOutputStream;
>> >> +import java.util.jar.Manifest;
>> >>  import java.util.zip.ZipEntry;
>> >>  import javax.security.auth.login.FailedLoginException;
>> >>  import javax.xml.parsers.DocumentBuilder;
>> >> @@ -174,6 +178,15 @@
>> >>       *                 The configId must be fully resolved
>> >> (isResolved() == true)
>> >>       */
>> >>      public PluginMetadata getPluginMetadata(Artifact moduleId) {
>> >> +        if(configManager != null) {
>> >> +            if(!configManager.isConfiguration(moduleId)) {
>> >> +                return null;
>> >> +            }
>> >> +        } else {
>> >> +            if(!configStore.containsConfiguration(moduleId)) {
>> >> +                return null;
>> >> +            }
>> >> +        }
>> >>          File dir = writeableRepo.getLocation(moduleId);
>> >>          Document doc;
>> >>          ConfigurationData configData;
>> >> @@ -216,8 +229,10 @@
>> >>              overrideDependencies(configData, result);
>> >>              return result;
>> >>          } catch (InvalidConfigException e) {
>> >> +            e.printStackTrace();
>> >>              log.warn("Unable to generate metadata for  
>> "+moduleId, e);
>> >>          } catch (Exception e) {
>> >> +            e.printStackTrace();
>> >>              log.warn("Invalid XML at "+source, e);
>> >>          }
>> >>          return null;
>> >> @@ -238,25 +253,73 @@
>> >>          if(dir == null) {
>> >>              throw new
>> >> IllegalArgumentException(metadata.getModuleId()+" is not  
>> installed!");
>> >>          }
>> >> -        File meta = new File(dir, "META-INF");
>> >> -        if(!meta.isDirectory() || !meta.canRead()) {
>> >> -            throw new
>> >> IllegalArgumentException(metadata.getModuleId()+" is not a  
>> plugin!");
>> >> -        }
>> >> -        File xml = new File(meta, "geronimo-plugin.xml");
>> >> -        try {
>> >> -            if(!xml.isFile()) {
>> >> -                if(!xml.createNewFile()) {
>> >> -                    throw new RuntimeException("Cannot create  
>> plugin
>> >> metadata file for "+metadata.getModuleId());
>> >> +        if(!dir.isDirectory()) { // must be a packed (JAR- 
>> formatted)
>> >> plugin
>> >> +            try {
>> >> +                File temp = new File(dir.getParentFile(),
>> >> dir.getName()+".temp");
>> >> +                JarFile input = new JarFile(dir);
>> >> +                Manifest manifest = input.getManifest();
>> >> +                JarOutputStream out = manifest == null ? new
>> >> JarOutputStream(new BufferedOutputStream(new FileOutputStream 
>> (temp)))
>> >> +                        : new JarOutputStream(new
>> >> BufferedOutputStream(new FileOutputStream(temp)), manifest);
>> >> +                Enumeration enum = input.entries();
>> >> +                byte[] buf = new byte[4096];
>> >> +                int count;
>> >> +                while (enum.hasMoreElements()) {
>> >> +                    JarEntry entry = (JarEntry)  
>> enum.nextElement();
>> >> +
>> >> if(entry.getName().equals("META-INF/geronimo-plugin.xml")) {
>> >> +                        entry = new JarEntry(entry.getName());
>> >> +                        out.putNextEntry(entry);
>> >> +                        Document doc = writePluginMetadata 
>> (metadata);
>> >> +                        TransformerFactory xfactory =
>> >> TransformerFactory.newInstance();
>> >> +                        Transformer xform =  
>> xfactory.newTransformer();
>> >> +                        xform.setOutputProperty 
>> (OutputKeys.INDENT,
>> >> "yes");
>> >> +
>> >> xform.setOutputProperty("{http://xml.apache.org/xslt}indent- 
>> amount",
>> >> "2");
>> >> +                        xform.transform(new DOMSource(doc), new
>> >> StreamResult(out));
>> >> +                    } else
>> >> if(entry.getName().equals("META-INF/MANIFEST.MF")) {
>> >> +                        // do nothing, already passed in a  
>> manifest
>> >> +                    } else {
>> >> +                        out.putNextEntry(entry);
>> >> +                        InputStream in = input.getInputStream 
>> (entry);
>> >> +                        while((count = in.read(buf)) > -1) {
>> >> +                            out.write(buf, 0, count);
>> >> +                        }
>> >> +                        in.close();
>> >> +                        out.closeEntry();
>> >> +                    }
>> >>                  }
>> >> +                out.flush();
>> >> +                out.close();
>> >> +                input.close();
>> >> +                if(!dir.delete()) {
>> >> +                    throw new IOException("Unable to delete old
>> >> plugin at "+dir.getAbsolutePath());
>> >> +                }
>> >> +                if(!temp.renameTo(dir)) {
>> >> +                    throw new IOException("Unable to move new  
>> plugin
>> >> "+temp.getAbsolutePath()+" to "+dir.getAbsolutePath());
>> >> +                }
>> >> +            } catch (Exception e) {
>> >> +                log.error("Unable to update plugin metadata", e);
>> >> +                throw new RuntimeException("Unable to update  
>> plugin
>> >> metadata", e);
>> >> +            }
>> >> +        } else {
>> >> +            File meta = new File(dir, "META-INF");
>> >> +            if(!meta.isDirectory() || !meta.canRead()) {
>> >> +                throw new
>> >> IllegalArgumentException(metadata.getModuleId()+" is not a  
>> plugin!");
>> >> +            }
>> >> +            File xml = new File(meta, "geronimo-plugin.xml");
>> >> +            try {
>> >> +                if(!xml.isFile()) {
>> >> +                    if(!xml.createNewFile()) {
>> >> +                        throw new RuntimeException("Cannot create
>> >> plugin metadata file for "+metadata.getModuleId());
>> >> +                    }
>> >> +                }
>> >> +                Document doc = writePluginMetadata(metadata);
>> >> +                TransformerFactory xfactory =
>> >> TransformerFactory.newInstance();
>> >> +                Transformer xform = xfactory.newTransformer();
>> >> +                xform.setOutputProperty(OutputKeys.INDENT,  
>> "yes");
>> >> +
>> >> xform.setOutputProperty("{http://xml.apache.org/xslt}indent- 
>> amount",
>> >> "2");
>> >> +                xform.transform(new DOMSource(doc), new
>> >> StreamResult(xml));
>> >> +            } catch (Exception e) {
>> >> +                log.error("Unable to save plugin metadata for
>> >> "+metadata.getModuleId(), e);
>> >>              }
>> >> -            Document doc = writePluginMetadata(metadata);
>> >> -            TransformerFactory xfactory =
>> >> TransformerFactory.newInstance();
>> >> -            Transformer xform = xfactory.newTransformer();
>> >> -            xform.setOutputProperty(OutputKeys.INDENT, "yes");
>> >> -
>> >> xform.setOutputProperty("{http://xml.apache.org/xslt}indent- 
>> amount",
>> >> "2");
>> >> -            xform.transform(new DOMSource(doc), new  
>> StreamResult(xml));
>> >> -        } catch (Exception e) {
>> >> -            log.error("Unable to save plugin metadata for
>> >> "+metadata.getModuleId(), e);
>> >>          }
>> >>      }
>> >>
>> >> @@ -1522,10 +1585,14 @@
>> >>              copy.appendChild(doc.createTextNode 
>> (file.getSourceFile()));
>> >>              config.appendChild(copy);
>> >>          }
>> >> -        for (int i = 0; i < data.getConfigXmls().length; i++) {
>> >> -            GBeanOverride override = data.getConfigXmls()[i];
>> >> -            Element gbean = override.writeXml(doc, config);
>> >> -            gbean.setAttribute("xmlns",
>> >> "http://geronimo.apache.org/xml/ns/attributes-1.1");
>> >> +        if(data.getConfigXmls().length > 0) {
>> >> +            Element content = doc.createElement("config-xml- 
>> content");
>> >> +            for (int i = 0; i < data.getConfigXmls().length; i+ 
>> +) {
>> >> +                GBeanOverride override = data.getConfigXmls()[i];
>> >> +                Element gbean = override.writeXml(doc, content);
>> >> +                gbean.setAttribute("xmlns",
>> >> "http://geronimo.apache.org/xml/ns/attributes-1.1");
>> >> +            }
>> >> +            config.appendChild(content);
>> >>          }
>> >>          return doc;
>> >>      }
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginRepositoryDownloader.java
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/modules/ 
>> system/src/java/org/apache/geronimo/system/plugin/ 
>> PluginRepositoryDownloader.java? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginRepositoryDownloader.java
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/plugin/PluginRepositoryDownloader.java
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -76,7 +76,7 @@
>> >>          for (int i = 0; i < downloadRepositories.size(); i++) {
>> >>              String url = (String) downloadRepositories.get(i);
>> >>              try {
>> >> -                list.add(new URL(url));
>> >> +                list.add(new URL(url.trim()));
>> >>              } catch (MalformedURLException e) {
>> >>                  log.error("Unable to format plugin repository URL
>> >> "+url, e);
>> >>              }
>> >> @@ -84,7 +84,7 @@
>> >>          for (int i = 0; i < userRepositories.size(); i++) {
>> >>              String url = (String) userRepositories.get(i);
>> >>              try {
>> >> -                list.add(new URL(url));
>> >> +                list.add(new URL(url.trim()));
>> >>              } catch (MalformedURLException e) {
>> >>                  log.error("Unable to format plugin repository URL
>> >> "+url, e);
>> >>              }
>> >>
>> >> Modified:
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/util/PluginRepositoryExporter.java
>> >>
>> >> URL:
>> >> http://svn.apache.org/viewvc/geronimo/branches/1.1/modules/ 
>> system/src/java/org/apache/geronimo/system/util/ 
>> PluginRepositoryExporter.java? 
>> rev=412604&r1=412603&r2=412604&view=diff
>> >>
>> >>  
>> ===================================================================== 
>> =========
>> >>
>> >> ---
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/util/PluginRepositoryExporter.java
>> >> (original)
>> >> +++
>> >> geronimo/branches/1.1/modules/system/src/java/org/apache/ 
>> geronimo/system/util/PluginRepositoryExporter.java
>> >> Wed Jun  7 15:56:52 2006
>> >> @@ -26,6 +26,8 @@
>> >>  import java.util.SortedSet;
>> >>  import java.util.Properties;
>> >>  import java.util.HashMap;
>> >> +import java.util.List;
>> >> +import java.util.ArrayList;
>> >>  import javax.xml.parsers.DocumentBuilder;
>> >>  import javax.xml.parsers.DocumentBuilderFactory;
>> >>  import javax.xml.parsers.ParserConfigurationException;
>> >> @@ -40,6 +42,7 @@
>> >>  import org.apache.geronimo.kernel.repository.Version;
>> >>  import
>> >>  
>> org.apache.geronimo.system.configuration.RepositoryConfigurationStore 
>> ;
>> >>  import  
>> org.apache.geronimo.system.configuration.ConfigurationStoreUtil;
>> >> +import org.apache.geronimo.system.configuration.GBeanOverride;
>> >>  import org.apache.geronimo.system.repository.Maven1Repository;
>> >>  import org.apache.geronimo.system.repository.Maven2Repository;
>> >>  import  
>> org.apache.geronimo.system.repository.CopyArtifactTypeHandler;
>> >> @@ -53,16 +56,48 @@
>> >>  import org.w3c.dom.NodeList;
>> >>  import org.w3c.dom.Text;
>> >>  import org.xml.sax.SAXException;
>> >> -import org.xml.sax.EntityResolver;
>> >> -import org.xml.sax.InputSource;
>> >>
>> >>  /**
>> >> - * A utility that exports a repository of plugins.
>> >> + * A utility that exports a repository of plugins.  To use this:
>> >> + *
>> >> + * 1) Clear out your Maven repo
>> >> + * 2) Build Geronimo or any plugins
>> >> + * 3) Create an output repo
>> >> + * 4) Rsync the current plugin site to the output repo
>> >> + * 5) Run this against your Maven repo and the output repo
>> >> + * 6) Rsync the output repo to the plugin site
>> >> + *
>> >> + * It will migrate all the plugins from the Maven repo  
>> location to
>> >> the output
>> >> + * location, updating the supported Geronimo versions for any  
>> that
>> >> declare only
>> >> + * a snapshot release (using the map below), and calculating  
>> hashes
>> >> for all the
>> >> + * plugins.  It will update the master plugin metadata file  
>> and the
>> >> Maven
>> >> + * metadata file for each artifact directory.
>> >>   *
>> >>   * @version $Rev$ $Date$
>> >>   */
>> >>  public class PluginRepositoryExporter {
>> >>      private final static String NAMESPACE =
>> >> "http://geronimo.apache.org/xml/ns/plugins-1.1";
>> >> +    private final static Map VERSION_MAP = new HashMap();
>> >> +    static {
>> >> +        List list = new ArrayList();
>> >> +        list.add("1.1-SNAPSHOT");
>> >> +        list.add("1.1-20060607");
>> >> +        list.add("1.1-rc1");
>> >> +        list.add("1.1-rc2");
>> >> +        list.add("1.1-rc3");
>> >> +        list.add("1.1");
>> >> +        VERSION_MAP.put("1.1-SNAPSHOT", list);
>> >> +        list = new ArrayList();
>> >> +        list.add("1.2-SNAPSHOT");
>> >> +        list.add("1.2-beta1");
>> >> +        list.add("1.2-beta2");
>> >> +        list.add("1.2-beta3");
>> >> +        list.add("1.2-rc1");
>> >> +        list.add("1.2-rc2");
>> >> +        list.add("1.2-rc3");
>> >> +        list.add("1.2");
>> >> +        VERSION_MAP.put("1.2-SNAPSHOT", list);
>> >> +    }
>> >>      private Maven1Repository sourceRepo;
>> >>      private Maven2Repository destRepo;
>> >>      private Map targetVersions;
>> >> @@ -196,6 +231,7 @@
>> >>                      if(!artifactDir.isDirectory() ||
>> >> !artifactDir.canRead()) {
>> >>                          throw new IllegalStateException 
>> ("Failed to
>> >> located group/artifact dir for "+artifact+" (got
>> >> "+artifactDir.getAbsolutePath()+")");
>> >>                      }
>> >> +                    updatePluginMetadata(artifact);
>> >>                      updateMavenMetadata(artifactDir, artifact);
>> >>                  }
>> >>              }
>> >> @@ -217,6 +253,42 @@
>> >>
>> >>      }
>> >>
>> >> +    private void updatePluginMetadata(Artifact artifact) {
>> >> +        PluginMetadata data = installer.getPluginMetadata 
>> (artifact);
>> >> +        if(data == null) {
>> >> +            return;
>> >> +        }
>> >> +        if(data.getGeronimoVersions() != null &&
>> >> data.getGeronimoVersions().length == 1 &&
>> >> +
>> >> VERSION_MAP.containsKey(data.getGeronimoVersions()[0])) {
>> >> +            data.setGeronimoVersions((String[]) ((List)
>> >> VERSION_MAP.get(data.getGeronimoVersions()[0])).toArray(new  
>> String[0]));
>> >> +            if(data.getHash() != null) {
>> >> +                data = copy(data);
>> >> +            }
>> >> +            installer.updatePluginMetadata(data);
>> >> +        }
>> >> +    }
>> >> +
>> >> +    /**
>> >> +     * Create a copy of a metadata, but with an empty hash.   
>> Used when
>> >> +     * something changed so an existing hash would be invalid.
>> >> +     */
>> >> +    private PluginMetadata copy(PluginMetadata source) {
>> >> +        PluginMetadata data = new PluginMetadata(source.getName 
>> (),
>> >> source.getModuleId(), source.getCategory(),
>> >> +                source.getDescription(), source.getPluginURL(),
>> >> source.getAuthor(), null, source.isInstalled(),
>> >> +                source.isEligible());
>> >> +        data.setConfigXmls(source.getConfigXmls());
>> >> +        data.setDependencies(source.getDependencies());
>> >> +        data.setFilesToCopy(source.getFilesToCopy());
>> >> +        data.setForceStart(source.getForceStart());
>> >> +        data.setGeronimoVersions(source.getGeronimoVersions());
>> >> +        data.setJvmVersions(source.getJvmVersions());
>> >> +        data.setLicenses(source.getLicenses());
>> >> +        data.setObsoletes(source.getObsoletes());
>> >> +        data.setPrerequisites(source.getPrerequisites());
>> >> +        data.setRepositories(source.getRepositories());
>> >> +        return data;
>> >> +    }
>> >> +
>> >>      private void updateMavenMetadata(File dir, Artifact artifact)
>> >> throws TransformerException, IOException, SAXException,
>> >> ParserConfigurationException {
>> >>          File mavenFile = new File(dir, "maven-metadata.xml");
>> >>          DocumentBuilderFactory factory =
>> >> DocumentBuilderFactory.newInstance();
>> >> @@ -280,12 +352,6 @@
>> >>
>> >> factory.setAttribute("http://java.sun.com/xml/jaxp/properties/ 
>> schemaSource",
>> >>
>> >>                               schema.getName());
>> >>          DocumentBuilder builder = factory.newDocumentBuilder();
>> >> -        builder.setEntityResolver(new EntityResolver() {
>> >> -            public InputSource resolveEntity(String publicId,  
>> String
>> >> systemId) throws SAXException, IOException {
>> >> -                System.out.println("RESOLVING PUB "+publicId+"  
>> SYS
>> >> "+systemId);
>> >> -                return null;
>> >> -            }
>> >> -        });
>> >>          Document doc = builder.newDocument();
>> >>          Element root = doc.createElementNS(NAMESPACE,
>> >> "geronimo-plugin-list");
>> >>          root.setAttribute("xmlns", NAMESPACE);
>> >> @@ -353,6 +419,23 @@
>> >>  //                URL url = data.getRepositories()[i];
>> >>  //                createText(doc, config, "source-repository",
>> >> url.toString());
>> >>  //            }
>> >> +            for (int i = 0; i < data.getFilesToCopy().length; i 
>> ++) {
>> >> +                PluginMetadata.CopyFile copyFile =
>> >> data.getFilesToCopy()[i];
>> >> +                Element copy = doc.createElement("copy-file");
>> >> +                copy.setAttribute("relative-to",
>> >> copyFile.isRelativeToVar() ? "server" : "geronimo");
>> >> +                copy.setAttribute("dest-dir",  
>> copyFile.getDestDir());
>> >> +
>> >> copy.appendChild(doc.createTextNode(copyFile.getSourceFile()));
>> >> +                config.appendChild(copy);
>> >> +            }
>> >> +            if(data.getConfigXmls().length > 0) {
>> >> +                Element content =
>> >> doc.createElement("config-xml-content");
>> >> +                for (int i = 0; i < data.getConfigXmls 
>> ().length; i++) {
>> >> +                    GBeanOverride override = data.getConfigXmls 
>> ()[i];
>> >> +                    Element gbean = override.writeXml(doc,  
>> content);
>> >> +                    gbean.setAttribute("xmlns",
>> >> "http://geronimo.apache.org/xml/ns/attributes-1.1");
>> >> +                }
>> >> +                config.appendChild(content);
>> >> +            }
>> >>          }
>> >>          Version ger = (Version) targetVersions.get("geronimo");
>> >>          createText(doc, root, "default-repository",
>> >> "http://www.geronimoplugins.com/repository/ 
>> geronimo-"+ger.getMajorVersion()+"."+ger.getMinorVersion());
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>> >
>>


Mime
View raw message