matthiasforberg
Occasional Collector

ValueService for TargetReference?

Jump to solution

Hallo zusammen,

ich möchte per Regel Dateiendungen von Medien prüfen, um im Falle außergewöhnlicher Formate ein Fallback für alte Browser anzubieten. Dazu haben ich einen ValueService geschrieben, der zwei Parameter bekommt:

  • ref: den Wert der FS_REFERENCE Komponenten (TargetReference)
  • ext: der String der zu prüfenden Dateiendung

Die Regel dazu sieht so aus:

<RULE>
	<SCHEDULE delay="0" id="avif" service="FileExtensionValueService">
		<!-- the selected targetReference to the file -->
		<PARAM name="ref">
			<PROPERTY name="VALUE" source="st_image"/>
		</PARAM>
		<!-- the file extension to be detected -->
		<PARAM name="ext">
			<TEXT>avif</TEXT>
		</PARAM>
	</SCHEDULE>
	<DO>
		<PROPERTY name="VISIBLE" source="st_imageFallback"/>
	</DO>
</RULE>

Im ValueService versuche ich das so auszulesen:

public class FileExtensionValueService implements ValueService {

	public Object getValue(SpecialistsBroker broker, final Map<String, ?> params) {

		TargetReference  targetReference = (TargetReference) params.get("ref");
		...

	}

}

aber das ist immer null. Ich habe auch versucht, es ganz generisch als Object auszulesen, aber das haut alles nicht hin.

Kann es sein, dass die VALUE Property in der Regel so gar nicht übergeben wird? Oder wie kann ich es anders erreichen, auf die TargetReference des zu prüfenden Feldes zuzugreifen?

Viele Grüße
Matthias

 

0 Kudos
1 Solution

Accepted Solutions
matthiasforberg
Occasional Collector

Ah, ich glaube, ich weiß warum?! Das ist erst ab Version 2024.8 verfügbar und ich habe noch eine ältere Version. Ich lasse das aber noch so lange offen, bis ich weiß, dass es wie oben angegeben funktioniert.

View solution in original post

0 Kudos
1 Reply
matthiasforberg
Occasional Collector

Ah, ich glaube, ich weiß warum?! Das ist erst ab Version 2024.8 verfügbar und ich habe noch eine ältere Version. Ich lasse das aber noch so lange offen, bis ich weiß, dass es wie oben angegeben funktioniert.

0 Kudos