Thank you very much. That's exactly what I had in mind.
Die Postbank dankt ;-)
Achim
[EMAIL PROTECTED] wrote:
We solved this problem by implementing a RuntimeSymbolProvider:
The registry has to be build like this:
ClassResolver resolver = new DefaultClassResolver(); RegistryBuilder builder = new RegistryBuilder();
XmlModuleDescriptorProvider xmdp = new XmlModuleDescriptorProvider(resolver); builder.addModuleDescriptorProvider(xmdp);
RuntimeSymbolProvider pmdp = new RuntimeSymbolProvider(runtimeSymbols, resolver); builder.addModuleDescriptorProvider(pmdp);
_registry = builder.constructRegistry(Locale.getDefault());
where RuntimeSymbolProvider looks like:
package de.sparkasseninformatik.comserv.platform;
import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Properties; import org.apache.hivemind.ClassResolver; import org.apache.hivemind.ErrorHandler; import org.apache.hivemind.ModuleDescriptorProvider; import org.apache.hivemind.impl.AttributeImpl; import org.apache.hivemind.impl.ElementImpl; import org.apache.hivemind.parse.ContributionDescriptor; import org.apache.hivemind.parse.ModuleDescriptor;
/** * @author IE279 */ public class RuntimeSymbolProvider implements ModuleDescriptorProvider { private Properties _runtimeSymbols; private ClassResolver _resolver;
/** * */ public RuntimeSymbolProvider(Properties runtimeSymbols, ClassResolver resolver) { _runtimeSymbols = runtimeSymbols; _resolver = resolver; }
/** * @see org.apache.hivemind.ModuleDescriptorProvider#getModuleDescriptors(org.apache.hivemind.ErrorHandler) */ public List getModuleDescriptors(ErrorHandler handler) { List result = new ArrayList();
if ((_runtimeSymbols != null) && (_runtimeSymbols.size() > 0)) { ModuleDescriptor md = new ModuleDescriptor(_resolver, handler);
md.setModuleId("de.sparkasseninformatik.comserv.platform.runtime");
ContributionDescriptor cd = new ContributionDescriptor();
cd.setConfigurationId("hivemind.ApplicationDefaults");
for (Iterator iter = _runtimeSymbols.keySet().iterator(); iter.hasNext();) { String prop = (String) iter.next(); ElementImpl element = new ElementImpl(); element.setElementName("default");
AttributeImpl symbol = new AttributeImpl("symbol", prop); AttributeImpl value = new AttributeImpl("value", _runtimeSymbols.getProperty(prop)); element.addAttribute(symbol); element.addAttribute(value); cd.addElement(element); }
md.addContribution(cd);
result.add(md); }
return result; } }
Mit freundlichen Gr��en
Michael Frericks Internet/Homebanking MS/OF
Sparkassen Informatik GmbH & Co.KG Nevinghoff 25 48147 M�nster Telefon: 0251/288-3489 Notes: Michael Frericks/4221/MS/SI/[EMAIL PROTECTED] E-Mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
