hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Liebig, Stefan " <>
Subject Re: properties file
Date Wed, 21 Sep 2005 11:51:28 GMT
I bet that there is probably a simpler solution, but how about writing you own ObjectPrivider?
It is really not that much code.
The ObjectProvider:
public class ConfigObjectProvider implements ObjectProvider {
 public ConfigObjectProvider() {
  * @see org.apache.hivemind.service.ObjectProvider#
  *      provideObject(org.apache.hivemind.internal.Module, java.lang.Class, java.lang.String,
 public Object provideObject( Module contributingModule, Class propertyType, String locator,
Location location ) {
  File configFile = new File( locator );
  Properties properties = new Properties();
  try {
   properties.load( new FileInputStream( configFile ) );
   return properties;
  } catch ( FileNotFoundException fnfe ) {
   throw new ApplicationRuntimeException( "Could not locate file: " + locator, fnfe );
  } catch ( IOException ioe ) {
   throw new ApplicationRuntimeException( "Could not load config file: " + locator, ioe );
The hivemind fragment to define it:
 <contribution configuration-id="hivemind.ObjectProviders">
  <provider prefix="config" service-id="ConfigObjectProvider"/>
 <service-point id="ConfigObjectProvider" interface="org.apache.hivemind.service.ObjectProvider">
  <create-instance class="yourpackage.objectprovider.ConfigObjectProvider"/>
Usage example:
 <service-point id="ConfigObjectProviderTest" interface="java.util.Map">
  This "service" now contains the config properties from c:\temp\!
   <construct class="java.util.HashMap">
With the ObjectProvider you can inject the properties everywhere where you need a
config file as a map.

Hope that helps a little bit.


Von: Fernando Enrique Ocampo Calero []
Gesendet: Mo 19.09.2005 16:44
Betreff: properties file


I am looking hivemind a few days ago (I think my project solution so far) and in a little
example I tried to load in a Map some "key/values" based in the example of your hivemind documentation
(successful test)... here the example:

<configuration-point id="Simple">
        <element name="test" key-attribute="key">
          <attribute name="key"/>
          <attribute name="value" required="true"/>
              <push-attribute attribute="value"/>
              <invoke-parent method="addElement"/>

  <contribution configuration-id="Simple">
      <test key="Message" value="com.digicomm.messages.Message"/>
      <test key="BytesMessage" value="com.digicomm.messages.BytesMessage"/>
      <test key="ObjectMessage" value="com.digicomm.messages.ObjectMessage"/>  
      <test key="StreamMessage" value="com.digicomm.messages.StreamMessage"/>
      <test key="TextMessage" value="com.digicomm.messages.TextMessage"/>
      <test key="MapMessage" value="com.digicomm.messages.MapMessage"/>
      <test key="" value="nono"/>      

As I say It is OK, but my question is what is the way (in hivemind) to avoid write the data
(the key/values) in the .xml file? can does HiveMind read a properties file and convert it
in a properties object? what is the way to do that?.

If you don't understand my question,  please let me know.



View raw message