Hi Team,
I am trying to extend OOB QRCodeGenerator servlet & here i am trying to initialize the parameters in activate method of OOB QRcodeGenerator Servlet whenever my custom servlet is called-
My Servlet-
@Component(service = Servlet.class, property = {"sling.servlet.paths=/bin/qrcode", "sling.servlet.extensions=png", "sling.servlet.methods=GET"})
@Designate(ocd = QRCodeGeneratorServlet.Configuration.class)
public class QRCodeGeneratorServlet extends QRCodeImageGenerator {
protected void activate(Configuration config) {
dataNameWhitelist = config.dataNameWhitelist();
}
}
QRCodeGenerator Servlet-
@Component(metatype=true,
label="AEM WCM QR-Code Generator Servlet",
immediate=true)
@Service(value=Servlet.class)
@Properties( {
@Property(name=Constants.SERVICE_DESCRIPTION,
value="QR Code Image Generator"),
@Property(name="sling.servlet.paths",
value="/libs/wcm/mobile/qrcode",
propertyPrivate=true),
@Property(name="sling.servlet.extensions",
value="png",
propertyPrivate=true),
@Property(name="sling.servlet.methods",
value="GET",
propertyPrivate=true)
} )
@SuppressWarnings("serial")
public class QRCodeImageGenerator extends AbstractImageServlet {
protected void activate(ComponentContext componentContext) {
Dictionary<String, Object> properties = componentContext.getProperties();
dataNameWhitelist = OsgiUtil.toStringArray(properties.get(DATA_NAME_WHITELIST));
if (externalizer != null) {
author = externalizer.authorLink(null, "");
publish = externalizer.publishLink(null, "");
}
}
}
Now here whenever i am calling my custom servlet -
These params are coming null-
if (externalizer != null) {
author = externalizer.authorLink(null, "");
publish = externalizer.publishLink(null, "");
}
author,publish & externalizer.
Is there any way by which we can initialize these params whenever my custom servlet is called?
Regards