You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2006/05/04 20:04:23 UTC
svn commit: r399794 - in /geronimo/branches/1.1: etc/
modules/kernel/src/java/org/apache/geronimo/gbean/runtime/
modules/kernel/src/java/org/apache/geronimo/kernel/config/
modules/system/src/java/org/apache/geronimo/system/configuration/
modules/system...
Author: ammulder
Date: Thu May 4 11:04:16 2006
New Revision: 399794
URL: http://svn.apache.org/viewcvs?rev=399794&view=rev
Log:
Fix undeployment to not blow up (GERONIMO-1940)
Don't print an error message if you stop a configuration twice (once
during stop and once during unload) (GERONIMO-1891)
Initial support for migrating settings to a newer configuration name
(GERONIMO-1951)
Removed:
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/FileConfigurationList.java
Modified:
geronimo/branches/1.1/etc/project.properties
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationStatus.java
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/EditableKernelConfigurationManager.java
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ManageableAttributeStore.java
geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/PersistentConfigurationList.java
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ConfigurationOverride.java
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java
geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ServerOverride.java
geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java
geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/ServerOverrideTest.java
geronimo/branches/1.1/plugins/geronimo-packaging-plugin/project.xml
geronimo/branches/1.1/plugins/geronimo-packaging-plugin/src/java/org/apache/geronimo/plugin/packaging/MavenAttributeStore.java
Modified: geronimo/branches/1.1/etc/project.properties
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/etc/project.properties?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/etc/project.properties (original)
+++ geronimo/branches/1.1/etc/project.properties Thu May 4 11:04:16 2006
@@ -95,7 +95,7 @@
tranql_vendors_version=1.1
release_notes_version=1.0
-geronimo_packaging_plugin_version=1.1.0-7
+geronimo_packaging_plugin_version=1.1.0-8
geronimo_assembly_plugin_version=1.1.0-11
geronimo_deployment_plugin_version=1.1.0-2
geronimo_dependency_plugin_version=1.1.0-3
Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java Thu May 4 11:04:16 2006
@@ -51,6 +51,7 @@
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.NoSuchAttributeException;
import org.apache.geronimo.kernel.NoSuchOperationException;
+import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.kernel.config.ManageableAttributeStore;
import org.apache.geronimo.kernel.management.State;
import org.apache.geronimo.kernel.management.StateManageable;
@@ -759,7 +760,7 @@
return;
}
}
- String configName = abstractName.getArtifact().toString();
+ Artifact configName = abstractName.getArtifact();
if (configName != null) {
manageableStore.setValue(configName, abstractName, attribute.getAttributeInfo(), value);
} else {
Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationStatus.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationStatus.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationStatus.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ConfigurationStatus.java Thu May 4 11:04:16 2006
@@ -187,11 +187,11 @@
}
}
+ /**
+ * Stop this configuration and its children (if it's running) or do nothing
+ * (if it's not running).
+ */
public LinkedHashSet stop(boolean gc) {
- if (!started) {
- throw new IllegalStateException(configurationId + " is not started");
- }
-
LinkedHashSet stopStatuses = new LinkedHashSet();
stopInternal(stopStatuses, gc);
@@ -274,10 +274,11 @@
restartList.add(this);
}
+ /**
+ * Unload the configuration and all its children (if it's loaded), or do
+ * nothing (if it's not loaded).
+ */
public LinkedHashSet unload(boolean gc) {
- if (!loaded) {
- throw new IllegalStateException(configurationId + " is not loaded");
- }
LinkedHashSet unloadStatuses = new LinkedHashSet();
unloadInternal(unloadStatuses, gc);
Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/EditableKernelConfigurationManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/EditableKernelConfigurationManager.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/EditableKernelConfigurationManager.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/EditableKernelConfigurationManager.java Thu May 4 11:04:16 2006
@@ -124,7 +124,7 @@
}
if (attributeStore != null) {
- attributeStore.addGBean(configuration.getId().toString(), gbean);
+ attributeStore.addGBean(configuration.getId(), gbean);
}
}
@@ -148,7 +148,7 @@
// Make sure it's not loaded next time the configuration is loaded
if (attributeStore != null) {
- attributeStore.setShouldLoad(configurationId.toString(), gbeanName, false);
+ attributeStore.setShouldLoad(configurationId, gbeanName, false);
}
}
Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java Thu May 4 11:04:16 2006
@@ -110,6 +110,13 @@
return super.loadConfiguration(configurationId);
}
+ protected void load(Artifact configurationId) throws NoSuchConfigException {
+ super.load(configurationId);
+ if (configurationList != null) {
+ configurationList.addConfiguration(configurationId);
+ }
+ }
+
protected Configuration load(ConfigurationData configurationData, LinkedHashSet resolvedParentIds, Map loadedConfigurations) throws InvalidConfigException {
Artifact configurationId = configurationData.getId();
AbstractName configurationName = Configuration.getConfigurationAbstractName(configurationId);
@@ -167,14 +174,14 @@
ConfigurationUtil.startConfigurationGBeans(configuration.getAbstractName(), configuration, kernel);
if (configurationList != null && configuration.getConfigurationData().isAutoStart()) {
- configurationList.addConfiguration(configuration.getId().toString());
+ configurationList.startConfiguration(configuration.getId());
}
}
protected void stop(Configuration configuration) {
stopRecursive(configuration);
if (configurationList != null) {
- configurationList.removeConfiguration(configuration.getId().toString());
+ configurationList.stopConfiguration(configuration.getId());
}
}
Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ManageableAttributeStore.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ManageableAttributeStore.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ManageableAttributeStore.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/ManageableAttributeStore.java Thu May 4 11:04:16 2006
@@ -68,7 +68,7 @@
* @param attribute The attribute in question
* @param value The value to save, or null if no value should be saved
*/
- public void setValue(String configurationName, AbstractName gbean, GAttributeInfo attribute, Object value);
+ public void setValue(Artifact configurationName, AbstractName gbean, GAttributeInfo attribute, Object value);
/**
* Sets the pattern for a GBean reference. The reference is
@@ -82,19 +82,7 @@
* @param reference the attribute information
* @param patterns
*/
- public void setReferencePatterns(String configurationName, AbstractName gbean, GReferenceInfo reference, ReferencePatterns patterns);
-
- /**
- * Sets the patterns for a GBean reference. The reference is
- * identified by the configuration name, GBean ObjectName, and reference
- * information.
- *
- * @param configurationName the name of the configuration holding the GBean in question
- * @param gbean the ObjectName of the GBean
- * @param reference the attribute information
- * @param patterns new object name patterns for this reference; must not be null
- */
-// public void setReferencePatterns(String configurationName, AbstractName gbean, GReferenceInfo reference, Set patterns);
+ public void setReferencePatterns(Artifact configurationName, AbstractName gbean, GReferenceInfo reference, ReferencePatterns patterns);
/**
* Sets whether a particular GBean should be loaded for this configuration.
@@ -106,7 +94,7 @@
* @param gbean The GBean in question
* @param load True if the GBean should load with the configuration
*/
- public void setShouldLoad(String configurationName, AbstractName gbean, boolean load);
+ public void setShouldLoad(Artifact configurationName, AbstractName gbean, boolean load);
/**
@@ -114,7 +102,7 @@
* @param configurationName the configuration that the GBean belongs to
* @param gbeanData the GBean to add
*/
- public void addGBean(String configurationName, GBeanData gbeanData);
+ public void addGBean(Artifact configurationName, GBeanData gbeanData);
/**
* Saves the current values to persistent storage. This should be called
Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/PersistentConfigurationList.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/PersistentConfigurationList.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/PersistentConfigurationList.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/config/PersistentConfigurationList.java Thu May 4 11:04:16 2006
@@ -16,6 +16,8 @@
*/
package org.apache.geronimo.kernel.config;
+import org.apache.geronimo.kernel.repository.Artifact;
+
import java.io.IOException;
import java.util.List;
@@ -37,7 +39,55 @@
List restore() throws IOException;
- void addConfiguration(String configName);
-
- void removeConfiguration(String configName);
+ /**
+ * Adds a configuration to the list, but does not mark it as started.
+ */
+ void addConfiguration(Artifact configName);
+
+ /**
+ * Indicates that the configuration should be started when the server is
+ * started. The configuration should have been previously added with
+ * addConfiguration.
+ */
+ void startConfiguration(Artifact configName);
+
+ /**
+ * Indicates that the configuration should not be started when the
+ * server is started. The configuration should have been previously added
+ * with addConfiguration (and presumably started with startConfiguration).
+ */
+ void stopConfiguration(Artifact configName);
+
+ /**
+ * Removes all record of the specified configuration from the configuration
+ * list. This is somewhat unusual -- normally you want to remember the
+ * settings in case the configuration is deployed again later.
+ */
+ void removeConfiguration(Artifact configName);
+
+ /**
+ * Gets all configurations in the list matching the specified query,
+ * whether they are marked at starting or not.
+ *
+ * @param query The artifact to search for, normally not fully resolved
+ * so there may be multiple matches or matches that are not
+ * exactly equal to the argument.
+ *
+ * @return The matching artifacts that have data in the config list.
+ */
+ Artifact[] getListedConfigurations(Artifact query);
+
+ /**
+ * Migrates settings from an old version of a configuration to a newer
+ * version of the configuration. Used when an updated version is deployed
+ * with a newer version number in the name, but the settings used for the
+ * previous version should be carried forward.
+ *
+ * @param oldName The name that the existing settings are under
+ * @param newName The name to move the settings to
+ * @param configuration The configuration itself, which can be used to
+ * verify that all the settings are still valid as
+ * they are migrated.
+ */
+ void migrateConfiguration(Artifact oldName, Artifact newName, Configuration configuration);
}
Modified: geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ConfigurationOverride.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ConfigurationOverride.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ConfigurationOverride.java (original)
+++ geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ConfigurationOverride.java Thu May 4 11:04:16 2006
@@ -18,6 +18,7 @@
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.kernel.InvalidGBeanException;
+import org.apache.geronimo.kernel.repository.Artifact;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -30,17 +31,23 @@
* @version $Rev$ $Date$
*/
class ConfigurationOverride {
- private final String name;
+ private final Artifact name;
private boolean load;
private final Map gbeans = new LinkedHashMap();
- public ConfigurationOverride(String name, boolean load) {
+ public ConfigurationOverride(Artifact name, boolean load) {
this.name = name;
this.load = load;
}
+ public ConfigurationOverride(ConfigurationOverride base, Artifact name) {
+ this.name = name;
+ this.load = base.load;
+ this.gbeans.putAll(base.gbeans);
+ }
+
public ConfigurationOverride(Element element) throws InvalidGBeanException {
- name = element.getAttribute("name");
+ name = Artifact.create(element.getAttribute("name"));
String loadConfigString = element.getAttribute("load");
load = !"false".equals(loadConfigString);
@@ -53,7 +60,7 @@
}
}
- public String getName() {
+ public Artifact getName() {
return name;
}
Modified: geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java (original)
+++ geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java Thu May 4 11:04:16 2006
@@ -30,6 +30,7 @@
import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.apache.geronimo.kernel.config.ManageableAttributeStore;
import org.apache.geronimo.kernel.config.PersistentConfigurationList;
+import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.kernel.InvalidGBeanException;
import org.apache.geronimo.system.serverinfo.ServerInfo;
@@ -94,11 +95,10 @@
return readOnly;
}
- public synchronized Collection applyOverrides(Artifact configurationName, Collection gbeanDatas, ClassLoader classLoader) throws InvalidConfigException {
+ public synchronized Collection applyOverrides(Artifact configName, Collection gbeanDatas, ClassLoader classLoader) throws InvalidConfigException {
// clone the datas since we will be modifying this collection
gbeanDatas = new ArrayList(gbeanDatas);
- String configName = configurationName.toString();
ConfigurationOverride configuration = serverOverride.getConfiguration(configName);
if (configuration == null) {
return gbeanDatas;
@@ -151,7 +151,7 @@
* @throws org.apache.geronimo.kernel.config.InvalidConfigException
*
*/
- private synchronized boolean setAttributes(GBeanData data, ConfigurationOverride configuration, String configName, ClassLoader classLoader) throws InvalidConfigException {
+ private synchronized boolean setAttributes(GBeanData data, ConfigurationOverride configuration, Artifact configName, ClassLoader classLoader) throws InvalidConfigException {
AbstractName gbeanName = data.getAbstractName();
GBeanOverride gbean = configuration.getGBean(gbeanName);
if (gbean == null) {
@@ -225,7 +225,7 @@
}
- private synchronized Object getValue(GAttributeInfo attribute, String value, String configurationName, AbstractName gbeanName, ClassLoader classLoader) {
+ private synchronized Object getValue(GAttributeInfo attribute, String value, Artifact configurationName, AbstractName gbeanName, ClassLoader classLoader) {
if (value == null) {
return null;
}
@@ -245,7 +245,7 @@
}
}
- public synchronized void setValue(String configurationName, AbstractName gbeanName, GAttributeInfo attribute, Object value) {
+ public synchronized void setValue(Artifact configurationName, AbstractName gbeanName, GAttributeInfo attribute, Object value) {
if (readOnly) {
return;
}
@@ -268,7 +268,7 @@
}
}
- public synchronized void setReferencePatterns(String configurationName, AbstractName gbeanName, GReferenceInfo reference, ReferencePatterns patterns) {
+ public synchronized void setReferencePatterns(Artifact configurationName, AbstractName gbeanName, GReferenceInfo reference, ReferencePatterns patterns) {
if (readOnly) {
return;
}
@@ -286,7 +286,7 @@
attributeChanged();
}
- public synchronized void setShouldLoad(String configurationName, AbstractName gbeanName, boolean load) {
+ public synchronized void setShouldLoad(Artifact configurationName, AbstractName gbeanName, boolean load) {
if (readOnly) {
return;
}
@@ -307,7 +307,7 @@
attributeChanged();
}
- public void addGBean(String configurationName, GBeanData gbeanData) {
+ public void addGBean(Artifact configurationName, GBeanData gbeanData) {
if (readOnly) {
return;
}
@@ -398,32 +398,67 @@
Map.Entry entry = (Map.Entry) iterator.next();
ConfigurationOverride configuration = (ConfigurationOverride) entry.getValue();
if (configuration.isLoad()) {
- String configName = (String) entry.getKey();
- Artifact configID = Artifact.create(configName);
+ Artifact configID = (Artifact) entry.getKey();
configs.add(configID);
}
}
return configs;
}
- public synchronized void addConfiguration(String configurationName) {
- ConfigurationOverride configuration = serverOverride.getConfiguration(configurationName, true);
+ public void startConfiguration(Artifact configurationName) {
+ ConfigurationOverride configuration = serverOverride.getConfiguration(configurationName, false);
+ if(configuration == null) {
+ throw new IllegalArgumentException("No such configuration "+configurationName);
+ }
configuration.setLoad(true);
attributeChanged();
}
- public synchronized void removeConfiguration(String configName) {
+ public synchronized void addConfiguration(Artifact configurationName) {
+ // Check whether we have it already
+ ConfigurationOverride configuration = serverOverride.getConfiguration(configurationName, false);
+ // If not, initialize it
+ if(configuration == null) {
+ configuration = serverOverride.getConfiguration(configurationName, true);
+ configuration.setLoad(false);
+ attributeChanged();
+ }
+ }
+
+ public synchronized void removeConfiguration(Artifact configName) {
ConfigurationOverride configuration = serverOverride.getConfiguration(configName);
if (configuration == null) {
- log.error("Trying to stop unknown configuration: " + configName);
+ throw new IllegalArgumentException("Trying to remove unknown configuration: " + configName);
} else {
- if (configuration.getGBeans().isEmpty()) {
- serverOverride.removeConfiguration(configName);
- } else {
- configuration.setLoad(false);
- }
+ serverOverride.removeConfiguration(configName);
attributeChanged();
}
+ }
+
+ public Artifact[] getListedConfigurations(Artifact query) {
+ return serverOverride.queryConfigurations(query);
+ }
+
+ public void stopConfiguration(Artifact configName) {
+ ConfigurationOverride configuration = serverOverride.getConfiguration(configName);
+ if (configuration == null) {
+ throw new IllegalArgumentException("Trying to stop unknown configuration: " + configName);
+ } else {
+ configuration.setLoad(false);
+ attributeChanged();
+ }
+ }
+
+ public void migrateConfiguration(Artifact oldName, Artifact newName, Configuration configuration) {
+ ConfigurationOverride configInfo = serverOverride.getConfiguration(oldName);
+ if(configInfo == null) {
+ throw new IllegalArgumentException("Trying to migrate unknown configuration: " + oldName);
+ }
+ serverOverride.removeConfiguration(oldName);
+ configInfo = new ConfigurationOverride(configInfo, newName);
+ //todo: check whether all the attributes are still valid for the new configuration
+ serverOverride.addConfiguration(configInfo);
+ attributeChanged();
}
//GBeanLifeCycle
Modified: geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ServerOverride.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ServerOverride.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ServerOverride.java (original)
+++ geronimo/branches/1.1/modules/system/src/java/org/apache/geronimo/system/configuration/ServerOverride.java Thu May 4 11:04:16 2006
@@ -17,16 +17,15 @@
package org.apache.geronimo.system.configuration;
import java.io.PrintWriter;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
+import java.util.*;
import org.apache.geronimo.kernel.InvalidGBeanException;
+import org.apache.geronimo.kernel.repository.Artifact;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
/**
- * @version $Rev: 384351 $ $Date$
+ * @version $Rev$ $Date$
*/
class ServerOverride {
private final Map configurations = new LinkedHashMap();
@@ -43,11 +42,11 @@
}
}
- public ConfigurationOverride getConfiguration(String configurationName) {
+ public ConfigurationOverride getConfiguration(Artifact configurationName) {
return getConfiguration(configurationName, false);
}
- public ConfigurationOverride getConfiguration(String configurationName, boolean create) {
+ public ConfigurationOverride getConfiguration(Artifact configurationName, boolean create) {
ConfigurationOverride configuration = (ConfigurationOverride) configurations.get(configurationName);
if (create && configuration == null) {
configuration = new ConfigurationOverride(configurationName, true);
@@ -60,12 +59,23 @@
configurations.put(configuration.getName(), configuration);
}
- public void removeConfiguration(String configurationName) {
+ public void removeConfiguration(Artifact configurationName) {
configurations.remove(configurationName);
}
public Map getConfigurations() {
return configurations;
+ }
+
+ public Artifact[] queryConfigurations(Artifact query) {
+ List list = new ArrayList();
+ for (Iterator it = configurations.keySet().iterator(); it.hasNext();) {
+ Artifact test = (Artifact) it.next();
+ if(query.matches(test)) {
+ list.add(test);
+ }
+ }
+ return (Artifact[]) list.toArray(new Artifact[list.size()]);
}
public void writeXml(PrintWriter out) {
Modified: geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java (original)
+++ geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/LocalAttributeManagerTest.java Thu May 4 11:04:16 2006
@@ -40,7 +40,7 @@
import java.util.Set;
/**
- * @version $Rev: 386907 $ $Date$
+ * @version $Rev$ $Date$
*/
public class LocalAttributeManagerTest extends TestCase {
private static final String basedir = System.getProperties().getProperty("basedir", ".");
@@ -64,8 +64,8 @@
// declare an attribute value so this configuration will exist in the store
String attributeValue = "attribute value";
- localAttributeManager.addConfiguration(configurationName.toString());
- localAttributeManager.setValue(configurationName.toString(), gbeanName, attributeInfo, attributeValue);
+ localAttributeManager.addConfiguration(configurationName);
+ localAttributeManager.setValue(configurationName, gbeanName, attributeInfo, attributeValue);
// should still load
newDatas = new HashSet(localAttributeManager.applyOverrides(configurationName, originalDatas, getClass().getClassLoader()));
@@ -73,7 +73,7 @@
assertEquals(originalDatas, newDatas);
// remove the configuration from the store
- localAttributeManager.removeConfiguration(configurationName.toString());
+ localAttributeManager.removeConfiguration(configurationName);
// should still get the same gbeans, config list and gbean attribute override functions are separate interfaces.
newDatas = new HashSet(localAttributeManager.applyOverrides(configurationName, originalDatas, getClass().getClassLoader()));
@@ -99,8 +99,8 @@
// declare an attribute value so this configuration will exist in the store
String attributeValue = "attribute value";
- localAttributeManager.addConfiguration(configurationName.toString());
- localAttributeManager.setValue(configurationName.toString(), gbeanName, attributeInfo, attributeValue);
+ localAttributeManager.addConfiguration(configurationName);
+ localAttributeManager.setValue(configurationName, gbeanName, attributeInfo, attributeValue);
// should still load
newDatas = new HashSet(localAttributeManager.applyOverrides(configurationName, originalDatas, getClass().getClassLoader()));
@@ -108,7 +108,7 @@
assertEquals(originalDatas, newDatas);
// set the gbean to not load
- localAttributeManager.setShouldLoad(configurationName.toString(), gbeanName, false);
+ localAttributeManager.setShouldLoad(configurationName, gbeanName, false);
// should not load
newDatas = new HashSet(localAttributeManager.applyOverrides(configurationName, originalDatas, getClass().getClassLoader()));
@@ -120,7 +120,7 @@
public void testSetAtrribute() throws Exception {
String attributeValue = "attribute value";
- localAttributeManager.setValue(configurationName.toString(), gbeanName, attributeInfo, attributeValue);
+ localAttributeManager.setValue(configurationName, gbeanName, attributeInfo, attributeValue);
Collection gbeanDatas = new ArrayList();
GBeanData gbeanData = new GBeanData(gbeanName, GBEAN_INFO);
gbeanDatas.add(gbeanData);
@@ -132,7 +132,7 @@
ObjectName referencePatternObjectName = new ObjectName(":name=referencePattern");
AbstractName referencePattern = new AbstractName(configurationName, referencePatternObjectName.getKeyPropertyList(), referencePatternObjectName);
ReferencePatterns referencePatterns = new ReferencePatterns(referencePattern);
- localAttributeManager.setReferencePatterns(configurationName.toString(), gbeanName, referenceInfo, referencePatterns);
+ localAttributeManager.setReferencePatterns(configurationName, gbeanName, referenceInfo, referencePatterns);
Collection gbeanDatas = new ArrayList();
GBeanData gbeanData = new GBeanData(gbeanName, GBEAN_INFO);
gbeanDatas.add(gbeanData);
@@ -146,7 +146,7 @@
AbstractName referencePattern1 = naming.createRootName(gbeanName.getArtifact(), "name", "referencePattern1");
AbstractName referencePattern2 = naming.createRootName(gbeanName.getArtifact(), "name", "referencePattern2");
ReferencePatterns referencePatterns = new ReferencePatterns(new LinkedHashSet(Arrays.asList(new AbstractName[] {referencePattern1, referencePattern2})));
- localAttributeManager.setReferencePatterns(configurationName.toString(), gbeanName, referenceInfo, referencePatterns);
+ localAttributeManager.setReferencePatterns(configurationName, gbeanName, referenceInfo, referencePatterns);
Collection gbeanDatas = new ArrayList();
GBeanData gbeanData = new GBeanData(gbeanName, GBEAN_INFO);
gbeanDatas.add(gbeanData);
@@ -161,8 +161,8 @@
GBeanData gbeanData = new GBeanData(gbeanName, GBEAN_INFO);
gbeanData.setAttribute(attributeInfo.getName(), attributeValue);
gbeanData.setReferencePattern(referenceInfo.getName(), referencePattern);
- localAttributeManager.addConfiguration(configurationName.toString());
- localAttributeManager.addGBean(configurationName.toString(), gbeanData);
+ localAttributeManager.addConfiguration(configurationName);
+ localAttributeManager.addGBean(configurationName, gbeanData);
Collection gbeanDatas = new ArrayList();
Modified: geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/ServerOverrideTest.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/ServerOverrideTest.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/ServerOverrideTest.java (original)
+++ geronimo/branches/1.1/modules/system/src/test/org/apache/geronimo/system/configuration/ServerOverrideTest.java Thu May 4 11:04:16 2006
@@ -19,6 +19,7 @@
import junit.framework.TestCase;
import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.gbean.ReferencePatterns;
+import org.apache.geronimo.kernel.repository.Artifact;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -61,7 +62,7 @@
pizza.setReferencePatterns("oven", ovenPatterns);
assertEquals(ovenPatterns, pizza.getReferencePatterns("oven"));
- ConfigurationOverride dinnerMenu = new ConfigurationOverride("Dinner Menu", true);
+ ConfigurationOverride dinnerMenu = new ConfigurationOverride(new Artifact("test","Dinner Menu","1.0","car"), true);
assertTrue(dinnerMenu.isLoad());
dinnerMenu.setLoad(false);
@@ -72,7 +73,7 @@
ServerOverride restaurant = new ServerOverride();
restaurant.addConfiguration(dinnerMenu);
- assertSame(dinnerMenu, restaurant.getConfiguration("Dinner Menu"));
+ assertSame(dinnerMenu, restaurant.getConfiguration(new Artifact("test","Dinner Menu","1.0","car")));
}
private ReferencePatterns getReferencePatterns(AbstractNameQuery[] queries) {
@@ -111,7 +112,7 @@
}
public void testConfigurationXml() throws Exception {
- ConfigurationOverride dinnerMenu = new ConfigurationOverride("Dinner Menu", true);
+ ConfigurationOverride dinnerMenu = new ConfigurationOverride(new Artifact("test","Dinner Menu","1.0","car"), true);
assertCopyIdentical(dinnerMenu);
dinnerMenu.setLoad(false);
@@ -147,7 +148,7 @@
ServerOverride restaurant = new ServerOverride();
assertCopyIdentical(restaurant);
- ConfigurationOverride dinnerMenu = new ConfigurationOverride("Dinner Menu", false);
+ ConfigurationOverride dinnerMenu = new ConfigurationOverride(new Artifact("test","Dinner Menu","1.0","car"), false);
restaurant.addConfiguration(dinnerMenu);
GBeanOverride pizza = new GBeanOverride("Pizza", false);
pizza.setAttribute("cheese", "mozzarella");
@@ -168,7 +169,7 @@
dinnerMenu.addGBean(garlicCheeseBread);
assertCopyIdentical(restaurant);
- ConfigurationOverride drinkMenu = new ConfigurationOverride("Drink Menu", false);
+ ConfigurationOverride drinkMenu = new ConfigurationOverride(new Artifact("test","Drink Menu","1.0","car"), false);
restaurant.addConfiguration(drinkMenu);
GBeanOverride beer = new GBeanOverride("Beer", true);
pizza.setReferencePatterns("glass", getReferencePatterns(new AbstractNameQuery[] {
Modified: geronimo/branches/1.1/plugins/geronimo-packaging-plugin/project.xml
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/plugins/geronimo-packaging-plugin/project.xml?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/plugins/geronimo-packaging-plugin/project.xml (original)
+++ geronimo/branches/1.1/plugins/geronimo-packaging-plugin/project.xml Thu May 4 11:04:16 2006
@@ -22,7 +22,7 @@
<groupId>geronimo</groupId>
<id>geronimo-packaging-plugin</id>
<name>Geronimo :: Maven Packaging Plugin</name>
- <currentVersion>1.1.0-7</currentVersion>
+ <currentVersion>1.1.0-8</currentVersion>
<dependencies>
<dependency>
Modified: geronimo/branches/1.1/plugins/geronimo-packaging-plugin/src/java/org/apache/geronimo/plugin/packaging/MavenAttributeStore.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/plugins/geronimo-packaging-plugin/src/java/org/apache/geronimo/plugin/packaging/MavenAttributeStore.java?rev=399794&r1=399793&r2=399794&view=diff
==============================================================================
--- geronimo/branches/1.1/plugins/geronimo-packaging-plugin/src/java/org/apache/geronimo/plugin/packaging/MavenAttributeStore.java (original)
+++ geronimo/branches/1.1/plugins/geronimo-packaging-plugin/src/java/org/apache/geronimo/plugin/packaging/MavenAttributeStore.java Thu May 4 11:04:16 2006
@@ -42,16 +42,16 @@
return datas;
}
- public void setValue(String configurationName, AbstractName gbean, GAttributeInfo attribute, Object value) {
+ public void setValue(Artifact configurationName, AbstractName gbean, GAttributeInfo attribute, Object value) {
}
- public void setReferencePatterns(String configurationName, AbstractName gbean, GReferenceInfo reference, ReferencePatterns patterns) {
+ public void setReferencePatterns(Artifact configurationName, AbstractName gbean, GReferenceInfo reference, ReferencePatterns patterns) {
}
- public void setShouldLoad(String configurationName, AbstractName gbean, boolean load) {
+ public void setShouldLoad(Artifact configurationName, AbstractName gbean, boolean load) {
}
- public void addGBean(String configurationName, GBeanData gbeanData) {
+ public void addGBean(Artifact configurationName, GBeanData gbeanData) {
}
public void save() throws IOException {