Can we fetch configuration value of osgi service(osgi.config) directly in slingServlet?
Hi,
I am currently working on aem 6.2.
I want to fetch values of service directly in slingServlet.
For that i have created a Service
ConfigurationService.java
public abstract interface ConfigurationService {
public abstract String getSimpleString();
}
ConfigurationServiceImpl.java
@Service({ConfigurationServiceImpl.class})
@Component(immediate=true, metatype=true, label="Configuration Service")
public class ConfigurationServiceImpl implements ConfigurationService{
private static final Logger LOG = LoggerFactory.getLogger(ConfigurationServiceImpl.class);
@Property(label=" Link", description="Link")
private static final String AZURE_STRING = "azureString";
private String azureString;
@Activate
protected void activate(Map<String, Object> properties)
{
LOG.info("[*** AEM ConfigurationService]: activating configuration service");
readProperties(properties);
}
protected void readProperties(Map<String, Object> properties)
{
LOG.info(properties.toString());
this.azureString = PropertiesUtil.toString(properties.get("azureString"), "default");
LOG.info("Simple String: " + this.azureString);
}
@Override
public String getSimpleString() {
// TODO Auto-generated method stub
return this.azureString;
}
}
UrlGenerationServlet.java
@SlingServlet(paths="/bin/adobe/urlGenerationServlet", methods = "POST", metatype=true)
public class urlCreationServlet extends org.apache.sling.api.servlets.SlingAllMethodsServlet{
protected final Logger log = LoggerFactory.getLogger(this.getClass());
private static final long serialVersionUID = 1L;
@Reference
private ConfigurationService configurationService;
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServerException, IOException {
//here i tried using getSlingScriptHelper().getService(ConfigurationService.class);
//and ended up because we can't use WCMUsePojo in SlingServlet.
}
}
Regards,
Shridhar