geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lin Sun" <linsun....@gmail.com>
Subject Re: svn commit: r699202 - in /geronimo/server/trunk: buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ framework/modules/
Date Fri, 26 Sep 2008 18:07:30 GMT
Cool - I am running a full build to check them out.

thanks

Lin

On Fri, Sep 26, 2008 at 1:26 PM, David Jencks <david_jencks@yahoo.com> wrote:
>
> On Sep 26, 2008, at 9:11 AM, David Jencks wrote:
>
>>
>> On Sep 26, 2008, at 7:55 AM, Lin Sun wrote:
>>
>>> David, thanks for adding this to keep track of what plugins have been
>>> installed on the server.
>>>
>>> I think there is a prob with the change.  In InstallModulesMojo.java,
>>> as it set installedPluginsList as null.  I think this would cause all
>>> the plugins that came with the server assembly during build time
>>> (using c-m-p) not recorded, as saveHistory and loadHistory only handle
>>> cases when installedPluginList is not null.
>>
>> I agree.
>>>
>>>
>>> Also, in PluginInstallerGBean.java, I don't see anywhere you specify
>>> where we set the default location of the installedPluginsList file to
>>> "var/config/installedPlugins.properties"...  I only see that in the
>>> two test files.
>>
>> I forgot to configure this in the plan.
>>
>
> I think I got these fixed in rev 699420.  In my farm example the nodes seem
> to be tracking what has been installed properly, and the c-m-p assembly
> seems to be recording what was installed.
>
> thanks again
> david jencks
>
>> thanks for noticing these problems!
>> david jencks
>>
>>>
>>>
>>> Lin
>>>
>>> On Fri, Sep 26, 2008 at 3:26 AM,  <djencks@apache.org> wrote:
>>>>
>>>> Author: djencks
>>>> Date: Fri Sep 26 00:26:53 2008
>>>> New Revision: 699202
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=699202&view=rev
>>>> Log:
>>>> GERONIMO-4318 try to indicate when plugins have been installed in the
>>>> current server, irrespective of whether they are in the repos
>>>>
>>>> Modified:
>>>>
>>>>  geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java
>>>>
>>>>  geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java
>>>>
>>>>  geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstaller.java
>>>>
>>>>  geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
>>>>
>>>>  geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/CopyFileTest.java
>>>>
>>>>  geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java
>>>>
>>>>  geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/AbstractListHandler.java
>>>>
>>>>  geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/ViewPluginDownloadHandler.java
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -162,7 +162,7 @@
>>>>      Kernel kernel = new BasicKernel("Assembly");
>>>>      PluginRepositoryList pluginRepoList = new
>>>> PluginRepositoryDownloader(Collections.singletonMap(localRepo, (String[])
>>>> null), true);
>>>>      try {
>>>> -            PluginInstallerGBean installer = new
>>>> PluginInstallerGBean(targetRepositoryPath, targetServerPath, servers,
>>>> pluginRepoList, kernel, getClass().getClassLoader());
>>>> +            PluginInstallerGBean installer = new
>>>> PluginInstallerGBean(targetRepositoryPath, targetServerPath, null, servers,
>>>> pluginRepoList, kernel, getClass().getClassLoader());
>>>>          installer.install(pluginList, sourceRepo, true, null, null,
>>>> downloadPoller);
>>>>          if (overrides != null) {
>>>>              for (Override override: this.overrides) {
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -189,10 +189,10 @@
>>>>      }
>>>>  }
>>>>
>>>> -    public void validatePlugin(PluginType plugin) throws
>>>> MissingDependencyException {
>>>> +    public boolean validatePlugin(PluginType plugin) throws
>>>> MissingDependencyException {
>>>>      PluginInstaller installer = getPluginInstaller();
>>>>      try {
>>>> -            installer.validatePlugin(plugin);
>>>> +            return installer.validatePlugin(plugin);
>>>>      } finally {
>>>>          kernel.getProxyManager().destroyProxy(installer);
>>>>      }
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstaller.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstaller.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstaller.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstaller.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -21,12 +21,14 @@
>>>> import java.net.URL;
>>>> import java.util.Map;
>>>> import javax.security.auth.login.FailedLoginException;
>>>> -import org.apache.geronimo.kernel.repository.Artifact;
>>>> -import org.apache.geronimo.kernel.repository.Dependency;
>>>> -import
>>>> org.apache.geronimo.kernel.repository.MissingDependencyException;
>>>> +
>>>> +import
>>>> org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException;
>>>> import org.apache.geronimo.kernel.config.ConfigurationManager;
>>>> import org.apache.geronimo.kernel.config.NoSuchStoreException;
>>>> import org.apache.geronimo.kernel.InvalidGBeanException;
>>>> +import org.apache.geronimo.kernel.repository.Artifact;
>>>> +import org.apache.geronimo.kernel.repository.Dependency;
>>>> +import
>>>> org.apache.geronimo.kernel.repository.MissingDependencyException;
>>>> import org.apache.geronimo.system.plugin.model.PluginListType;
>>>> import org.apache.geronimo.system.plugin.model.PluginType;
>>>> import org.apache.geronimo.system.plugin.model.AttributesType;
>>>> @@ -52,7 +54,7 @@
>>>>   * @return A Map with key type String (plugin name) and value type
>>>> Artifact
>>>>   *         (config ID of the plugin).
>>>>   */
>>>> -    public Map getInstalledPlugins();
>>>> +    public Map<String, Artifact> getInstalledPlugins();
>>>>
>>>>  /**
>>>>   * Gets a CofigurationMetadata for a configuration installed in the
>>>> local
>>>> @@ -185,7 +187,7 @@
>>>>   * @throws
>>>> org.apache.geronimo.kernel.repository.MissingDependencyException
>>>>   *          if a dependency is not satisfied
>>>>   */
>>>> -    public void validatePlugin(PluginType plugin) throws
>>>> MissingDependencyException;
>>>> +    public boolean validatePlugin(PluginType plugin) throws
>>>> MissingDependencyException;
>>>>
>>>>  /**
>>>>   * Ensures that a plugin's prerequisites are installed
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -21,6 +21,8 @@
>>>> import java.io.FileOutputStream;
>>>> import java.io.IOException;
>>>> import java.io.InputStream;
>>>> +import java.io.FileInputStream;
>>>> +import java.io.OutputStream;
>>>> import java.net.URI;
>>>> import java.net.URL;
>>>> import java.util.ArrayList;
>>>> @@ -54,6 +56,7 @@
>>>> import org.apache.geronimo.gbean.ReferenceCollectionEvent;
>>>> import org.apache.geronimo.gbean.ReferenceCollectionListener;
>>>> import org.apache.geronimo.gbean.annotation.GBean;
>>>> +import org.apache.geronimo.gbean.annotation.ParamAttribute;
>>>> import org.apache.geronimo.gbean.annotation.ParamReference;
>>>> import org.apache.geronimo.gbean.annotation.ParamSpecial;
>>>> import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
>>>> @@ -68,6 +71,7 @@
>>>> import org.apache.geronimo.kernel.config.NoSuchConfigException;
>>>> import org.apache.geronimo.kernel.config.NoSuchStoreException;
>>>> import org.apache.geronimo.kernel.config.PersistentConfigurationList;
>>>> +import
>>>> org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException;
>>>> import org.apache.geronimo.kernel.repository.Artifact;
>>>> import org.apache.geronimo.kernel.repository.ArtifactManager;
>>>> import org.apache.geronimo.kernel.repository.DefaultArtifactManager;
>>>> @@ -116,6 +120,9 @@
>>>>  private static final Logger log =
>>>> LoggerFactory.getLogger(PluginInstallerGBean.class);
>>>>
>>>>  private static int counter;
>>>> +    private final String installedPluginsList;
>>>> +    //all plugins that have ever been installed on this server.
>>>> +    private final Set<Artifact> installedArtifacts = new
>>>> HashSet<Artifact>();
>>>>  private final ConfigurationManager configManager;
>>>>  private final GeronimoSourceRepository localSourceRepository;
>>>>  private final WritableListableRepository writeableRepo;
>>>> @@ -146,7 +153,8 @@
>>>>   * @param classLoader                  classLoader @throws IOException
>>>> exception if server instance cannot be loaded
>>>>   * @throws java.io.IOException from bad ServerInstance
>>>>   */
>>>> -    public PluginInstallerGBean(@ParamReference(name = "ConfigManager",
>>>> namingType = "ConfigurationManager")ConfigurationManager configManager,
>>>> +    public PluginInstallerGBean(@ParamAttribute(name =
>>>> "installedPluginsList")String installedPluginsList,
>>>> +                                @ParamReference(name = "ConfigManager",
>>>> namingType = "ConfigurationManager")ConfigurationManager configManager,
>>>>                              @ParamReference(name = "Repository",
>>>> namingType = "Repository")WritableListableRepository repository,
>>>>                              @ParamReference(name = "ConfigStore",
>>>> namingType = "ConfigurationStore")ConfigurationStore configStore,
>>>>                              @ParamReference(name = "ServerInstances",
>>>> namingType = "ServerInstanceData")Collection<ServerInstanceData>
>>>> serverInstanceDatas,
>>>> @@ -171,6 +179,8 @@
>>>>      localSourceRepository = new
>>>> GeronimoSourceRepository(configManager.getRepositories(),
>>>> configManager.getArtifactResolver());
>>>>      setUpServerInstances(serverInstanceDatas, serverInfo,
>>>> artifactManager, servers, writeableRepo, true);
>>>>      this.pluginRepositoryList = pluginRepositoryList;
>>>> +        this.installedPluginsList = installedPluginsList;
>>>> +        loadHistory();
>>>>  }
>>>>
>>>>  /**
>>>> @@ -178,6 +188,7 @@
>>>>   *
>>>>   * @param targetRepositoryPath location of repo to install into (not in
>>>> current server)
>>>>   * @param targetServerPath     location of server to install into (not
>>>> current server
>>>> +     * @param installedPluginsList location of file to track
>>>> installations
>>>>   * @param serverInstanceDatas  set of server layouts
>>>>   * @param pluginRepositoryList
>>>>   * @param kernel               kernel for current server
>>>> @@ -185,6 +196,7 @@
>>>>   */
>>>>  public PluginInstallerGBean(String targetRepositoryPath,
>>>>                              String targetServerPath,
>>>> +                                String installedPluginsList,
>>>>                              Collection<? extends ServerInstanceData>
>>>> serverInstanceDatas,
>>>>                              PluginRepositoryList pluginRepositoryList,
>>>>                              final Kernel kernel,
>>>> @@ -206,6 +218,8 @@
>>>>      this.configManager = buildConfigurationManager(artifactManager,
>>>> writeableRepo, kernel, configStore, classLoader, servers);
>>>>      localSourceRepository = new
>>>> GeronimoSourceRepository(configManager.getRepositories(),
>>>> configManager.getArtifactResolver());
>>>>      this.pluginRepositoryList = pluginRepositoryList;
>>>> +        this.installedPluginsList = installedPluginsList;
>>>> +        loadHistory();
>>>>  }
>>>>
>>>>  private static void setUpServerInstances(Collection<? extends
>>>> ServerInstanceData> serverInstanceDatas,
>>>> @@ -290,7 +304,7 @@
>>>>  PluginInstallerGBean(ConfigurationManager configManager,
>>>>                       WritableListableRepository repository,
>>>>                       ConfigurationStore configStore,
>>>> -                         ServerInfo serverInfo,
>>>> +                         String installedPluginsList, ServerInfo
>>>> serverInfo,
>>>>                       ThreadPool threadPool,
>>>>                       Collection<ServerInstance> servers,
>>>> PluginRepositoryList pluginRepositoryList) {
>>>>      this.configManager = configManager;
>>>> @@ -321,6 +335,53 @@
>>>>          });
>>>>      }
>>>>      this.pluginRepositoryList = pluginRepositoryList;
>>>> +        this.installedPluginsList = installedPluginsList;
>>>> +        loadHistory();
>>>> +    }
>>>> +
>>>> +    private void loadHistory() {
>>>> +        if (installedPluginsList != null) {
>>>> +            File historyFile =
>>>> serverInfo.resolveServer(installedPluginsList);
>>>> +            Properties properties = new Properties();
>>>> +            try {
>>>> +                InputStream in = new FileInputStream(historyFile);
>>>> +                try {
>>>> +                    properties.load(in);
>>>> +                    for (Object key : properties.keySet()) {
>>>> +                        Artifact artifact = Artifact.create((String)
>>>> key);
>>>> +                        installedArtifacts.add(artifact);
>>>> +                    }
>>>> +                } finally {
>>>> +                    in.close();
>>>> +                }
>>>> +            } catch (IOException e) {
>>>> +                //give up
>>>> +            }
>>>> +        }
>>>> +    }
>>>> +
>>>> +    private void saveHistory() {
>>>> +        if (installedPluginsList != null) {
>>>> +            Properties properties = new Properties();
>>>> +            for (Artifact artifact : installedArtifacts) {
>>>> +                properties.put(artifact.toString(), null);
>>>> +            }
>>>> +            try {
>>>> +                File historyFile =
>>>> serverInfo.resolveServer(installedPluginsList);
>>>> +                File parentFile = historyFile.getParentFile();
>>>> +                if (!parentFile.exists()) {
>>>> +                    FileUtils.forceMkdir(parentFile);
>>>> +                }
>>>> +                OutputStream out = new FileOutputStream(historyFile);
>>>> +                try {
>>>> +                    properties.save(out, "All the plugins that have
>>>> ever been installed on this server");
>>>> +                } finally {
>>>> +                    out.close();
>>>> +                }
>>>> +            } catch (IOException e) {
>>>> +                //give up
>>>> +            }
>>>> +        }
>>>>  }
>>>>
>>>>  /**
>>>> @@ -346,6 +407,7 @@
>>>>          PluginInstallerGBean installer = new PluginInstallerGBean(
>>>>                  targetRepositoryPath,
>>>>                  targetServerPathName,
>>>> +                    installedPluginsList,
>>>>                  serverInstanceDatas,
>>>>                  pluginRepositoryList, kernel,
>>>>                  classLoader);
>>>> @@ -381,7 +443,7 @@
>>>>   * @return A Map with key type String (plugin name) and value type
>>>> Artifact
>>>>   *         (config ID of the plugin).
>>>>   */
>>>> -    public Map getInstalledPlugins() {
>>>> +    public Map<String, Artifact> getInstalledPlugins() {
>>>>      SortedSet<Artifact> artifacts = writeableRepo.list();
>>>>
>>>>      Map<String, Artifact> plugins = new HashMap<String, Artifact>();
>>>> @@ -416,7 +478,7 @@
>>>>                      jar.close();
>>>>                  }
>>>>              } catch (IOException e) {
>>>> -                    log.error("Unable to read JAR file " +
>>>> dir.getAbsolutePath(), e);
>>>> +                    log.error("Unable to read JAR file {}",
>>>> dir.getAbsolutePath(), e);
>>>>              }
>>>>          }
>>>>      }
>>>> @@ -622,7 +684,9 @@
>>>>          for (PluginType metadata : pluginsToInstall.getPlugin()) {
>>>>              try {
>>>>                  if (validatePlugins) {
>>>> -                        validatePlugin(metadata);
>>>> +                        if (!validatePlugin(metadata)) {
>>>> +                            throw new
>>>> MissingDependencyException("Already installed",
>>>> toArtifact(metadata.getPluginArtifact().get(0).getModuleId()),
>>>> (Stack<Artifact>)null);
>>>> +                        }
>>>>                      verifyPrerequisites(metadata);
>>>>                  }
>>>>
>>>> @@ -717,6 +781,7 @@
>>>>      } finally {
>>>>          poller.setFinished();
>>>>      }
>>>> +        saveHistory();
>>>>  }
>>>>
>>>>  private List<SourceRepository> getRepos(PluginListType
>>>> pluginsToInstall, SourceRepository defaultRepository, boolean
>>>> restrictToDefaultRepository, PluginArtifactType instance) {
>>>> @@ -865,7 +930,11 @@
>>>>          }
>>>>
>>>>          // 2. Validate that we can install this
>>>> -            validatePlugin(data);
>>>> +            if (!validatePlugin(data)) {
>>>> +                //already installed
>>>> +                return;
>>>> +            }
>>>> +
>>>>          verifyPrerequisites(data);
>>>>
>>>>          PluginArtifactType instance = data.getPluginArtifact().get(0);
>>>> @@ -899,10 +968,11 @@
>>>>   * Ensures that a plugin is installable.
>>>>   *
>>>>   * @param plugin plugin to check
>>>> +     * @return true if the plugin is not installed
>>>>   * @throws
>>>> org.apache.geronimo.kernel.repository.MissingDependencyException
>>>>   *          if plugin requires a dependency that is not present
>>>>   */
>>>> -    public void validatePlugin(PluginType plugin) throws
>>>> MissingDependencyException {
>>>> +    public boolean validatePlugin(PluginType plugin) throws
>>>> MissingDependencyException {
>>>>      if (plugin.getPluginArtifact().size() != 1) {
>>>>          throw new MissingDependencyException("A plugin configuration
>>>> must include one plugin artifact, not " + plugin.getPluginArtifact().size(),
>>>> null, (Stack<Artifact>) null);
>>>>      }
>>>> @@ -919,11 +989,9 @@
>>>>                      break;
>>>>                  }
>>>>              }
>>>> -                if (!upgrade) {
>>>> +                if (!upgrade && installedArtifacts.contains(artifact))
>>>> {
>>>>                  log.debug("Configuration {} is already installed",
>>>> artifact);
>>>> -//                    throw new MissingDependencyException(
>>>> -//                            "Configuration " + artifact + " is
>>>> already installed.", toArtifact(metadata.getModuleId()), (Stack<Artifact>)
>>>> null);
>>>> -                }
>>>> +                    return false;                }
>>>>          }
>>>>      }
>>>>
>>>> @@ -938,6 +1006,7 @@
>>>>          throw new MissingDependencyException(
>>>>                  "Plugin is not installable on JVM " +
>>>> System.getProperty("java.version"), toArtifact(metadata.getModuleId()),
>>>> (Stack<Artifact>) null);
>>>>      }
>>>> +        return true;
>>>>  }
>>>>
>>>>
>>>> @@ -1090,7 +1159,10 @@
>>>>                  throw (IOException) new IOException("Unable to read
>>>> plugin metadata: " + e.getMessage()).initCause(e);
>>>>              }
>>>>              if (pluginData != null) { // it's a plugin, not a plain JAR
>>>> -                    validatePlugin(pluginData);
>>>> +                    if (!validatePlugin(pluginData)) {
>>>> +                        monitor.getResults().addSkippedConfigID(new
>>>> MissingDependencyException("already installed", configID,
>>>> (Stack<Artifact>)null));
>>>> +                        return;
>>>> +                    }
>>>>                  instance = pluginData.getPluginArtifact().get(0);
>>>>              }
>>>>              monitor.getResults().setCurrentMessage("Copying " +
>>>> result.getArtifact() + " to the repository");
>>>> @@ -1170,8 +1242,9 @@
>>>>          throw new IllegalStateException("Installed configuration into
>>>> repository but ConfigStore cannot load it: " + e.getMessage(), e);
>>>>      }
>>>>      // Copy any files out of the artifact
>>>> -        for (ServerInstance serverInstance: servers.values()) {
>>>> +        for (ServerInstance serverInstance : servers.values()) {
>>>>          if
>>>> (serverInstance.getAttributeStore().isModuleInstalled(configID)) {
>>>> +                installedArtifacts.add(configID);
>>>>              return;
>>>>          }
>>>>      }
>>>> @@ -1182,6 +1255,7 @@
>>>>          }
>>>>      }
>>>>      if (instance != null) {
>>>> +            installedArtifacts.add(configID);
>>>>          try {
>>>>              installConfigXMLData(configID, instance, servers,
>>>> loadOverride);
>>>>          } catch (InvalidGBeanException e) {
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/CopyFileTest.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/CopyFileTest.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/CopyFileTest.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/CopyFileTest.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -47,6 +47,7 @@
>>>>  private ConfigurationStore configStore;
>>>>  private PluginInstallerGBean installer;
>>>>  private Artifact artifact = new Artifact("test", "module", "1.0",
>>>> "car");
>>>> +    private String installedPluginsList =
>>>> "var/config/installedPlugins.properties";
>>>>
>>>>  protected void setUp() throws Exception {
>>>>      super.setUp();
>>>> @@ -72,7 +73,7 @@
>>>>      installer = new PluginInstallerGBean(new
>>>> MockConfigurationManager(),
>>>>              repo,
>>>>              configStore,
>>>> -                serverInfo,
>>>> +                installedPluginsList, serverInfo,
>>>>              new ThreadPool() {
>>>>          public int getPoolSize() {
>>>>              return 0;
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/framework/modules/geronimo-plugin/src/test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -41,7 +41,8 @@
>>>>  private String fakeRepo;
>>>>  private String testRepo;
>>>>  private PluginInstaller installer;
>>>> -
>>>> +    private String installedPluginsList =
>>>> "var/config/installedPlugins.properties";
>>>> +
>>>>  protected void setUp() throws Exception {
>>>>      super.setUp();
>>>>      fakeRepo = "http://nowhere.com/";
>>>> @@ -50,7 +51,7 @@
>>>>      testRepo = url.substring(0, pos);
>>>>      ServerInfo serverInfo = new BasicServerInfo(".");
>>>>      installer = new PluginInstallerGBean(new
>>>> MockConfigurationManager(), new MockWritableListableRepository(), new
>>>> MockConfigStore(),
>>>> -                serverInfo, new ThreadPool() {
>>>> +                installedPluginsList, serverInfo, new ThreadPool() {
>>>>          public int getPoolSize() {
>>>>              return 0;
>>>>          }
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/AbstractListHandler.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/AbstractListHandler.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/AbstractListHandler.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/AbstractListHandler.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -65,7 +65,7 @@
>>>>                  // determine if the plugin is installable
>>>>                  PluginType holder = PluginInstallerGBean.copy(metadata,
>>>> artifact);
>>>>                  try {
>>>> -                        pluginInstaller.validatePlugin(holder);
>>>> +
>>>>  plugin.setInstallable(pluginInstaller.validatePlugin(holder));
>>>>                  } catch (Exception e) {
>>>>                      plugin.setInstallable(false);
>>>>                  }
>>>>
>>>> Modified:
>>>> geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/ViewPluginDownloadHandler.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/ViewPluginDownloadHandler.java?rev=699202&r1=699201&r2=699202&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/ViewPluginDownloadHandler.java
>>>> (original)
>>>> +++
>>>> geronimo/server/trunk/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/car/ViewPluginDownloadHandler.java
>>>> Fri Sep 26 00:26:53 2008
>>>> @@ -89,7 +89,7 @@
>>>>          StringBuffer validationNotOk = new StringBuffer();
>>>>          PluginType holder =
>>>> PluginInstallerGBean.copy(plugin.getPlugin(), plugin.getPluginArtifact());
>>>>          try {
>>>> -                pluginInstaller.validatePlugin(holder);
>>>> +
>>>>  plugin.setInstallable(pluginInstaller.validatePlugin(holder));
>>>>          } catch (Exception e) {
>>>>              plugin.setInstallable(false);
>>>>              validationNotOk.append(e.getMessage());
>>>>
>>>>
>>>>
>>
>
>

Mime
View raw message