hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Giorgio Gallo <giorg...@overlord.it>
Subject Re: Problems with push-attribute
Date Wed, 09 Mar 2005 10:40:13 GMT

Hi!

I had the same problem, but solved it writing my own "string" translator:

package xx.yy.zz;

import org.apache.hivemind.Location;
import org.apache.hivemind.internal.Module;
import org.apache.hivemind.schema.Translator;

public class StringTranslator implements Translator{

	public Object translate(Module contributingModule, Class propertyType, 
String inputValue, Location location){
		return inputValue;
	}

}

Then I contributed my translator to hivemind.Translators:

<contribution configuration-id="hivemind.Translators">
	<translator name="string" class="xx.yy.zz.StringTranslator"/>
</contribution>

And used the new translator inside the schema:

<element name="lookup">
	<attribute name="key" required="true" translator="string" />
	<rules>
		<push-attribute attribute="key" />
		<invoke-parent method="addElement" />
	</rules>
</element>

Don't know if this is better than the string object provider suggested 
by Knut - honestly, I've not quite understood the difference between an 
object provider and a translator! :)

Knut Wannheden wrote:
> Markus,
> 
> This was reported as a bug against HiveMind 1.0
> (http://issues.apache.org/jira/browse/HIVEMIND-15) and has been fixed
> in HiveMind 1.1.
> 
> If you would like to stay with HiveMind 1.0 you have the following
> possibilities:
> 
>  - Use the "resource" translator (it seems like it would work for you)
>  - Create Java objects with a writable String property (e.g.
> setLocation(String location)) to wrap your strings
>  - Implement a "string" object provider and use the "object"
> translator (e.g. <config location="string:/usr/bin/pdftotext"/>
> 
> HTH,
> 
> --knut
> 
> On Mon, 7 Mar 2005 14:41:05 +0100, Markus Wiederkehr
> <markus.wiederkehr@gmail.com> wrote:
> 
>>I'm writing a service that requires a single string as configuration.
>>Here's the definition of the configuration point and contribution:
>>
>>  <configuration-point id="Factory" occurs="1">
>>    <schema>
>>      <element name="config">
>>        <attribute name="location" required="true"/>
>>
>>        <rules>
>>          <push-attribute attribute="location"/>
>>          <invoke-parent method="addElement"/>
>>        </rules>
>>      </element>
>>    </schema>
>>  </configuration-point>
>>
>>  <contribution configuration-id="Factory">
>>    <config location="/usr/bin/pdftotext"/>
>>  </contribution>
>>
>>According to the documentation the attribute should be treated as a
>>single sting, since I don't provide a translator. Nevertheless I get
>>this error:
>>
>>org.apache.hivemind.ApplicationRuntimeException: Unable to translate
>>'/usr/bin/pdftotext' to type java.lang.Object: No property editor for
>>java.lang.Object.
>>
>>What am I missing here?
>>
>>Markus
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: hivemind-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: hivemind-user-help@jakarta.apache.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: hivemind-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: hivemind-user-help@jakarta.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-user-help@jakarta.apache.org


Mime
View raw message