JAVA:
BundleContext bundleContext = FrameworkUtil.getBundle(DComCommonUtil.class).getBundleContext();
ServiceReference<?> serviceReference = bundleContext.getServiceReference(SlingSettingsService.class.getName());
SlingSettingsService slingSettingsService = (SlingSettingsService) bundleContext.getService(serviceReference);
OR
SlingSettingsService slingSettingsService = slingHelper.getService(org.apache.sling.settings.SlingSettingsService.class);
AND
Set<String> runmodesSet = slingSettingsService.getRunModes();
Java Script:
var SlingSettingsService = Packages.org.apache.sling.settings.SlingSettingsService;
use(function () {
// Get runmodes and transform them into an object that is easier to read for Sightly
var runmodesObj = {};
var runmodesSet = sling.getService(SlingSettingsService).getRunModes();
var iterator = runmodesSet.iterator();
while (iterator.hasNext()) {
runmodesObj[iterator.next()] = true;
}
return {
getrunmodes: runmodesObj
}
});
And call this JS file in sightly directly
data-sly-use.runmode="/apps/project/test/components/pages/utils/runmode.js"
JSP:
<%
Session session = resourceResolver.adaptTo(Session.class);
SlingSettingsService settingService = sling.getService(SlingSettingsService.class);
if(settingService.getRunModes().contains("prod")){
baseDomain = "https://test.com";
}
%>
No comments:
Post a Comment