Example usage for com.liferay.portal.kernel.mobile.device UnknownDevice getInstance

List of usage examples for com.liferay.portal.kernel.mobile.device UnknownDevice getInstance

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.mobile.device UnknownDevice getInstance.

Prototype

public static UnknownDevice getInstance() 

Source Link

Usage

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected Device getDevice(ThemeDisplay themeDisplay) {
    if (themeDisplay != null) {
        return themeDisplay.getDevice();
    }/*from   w  ww  .ja  v  a2 s .  co m*/

    return UnknownDevice.getInstance();
}

From source file:com.liferay.mobile.device.rules.internal.events.MDRServicePreAction.java

License:Open Source License

@Override
public void run(HttpServletRequest request, HttpServletResponse response) {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    Device device = null;//from   w  w w  . j a  v a2s  . c  o  m

    if (PropsValues.MOBILE_DEVICE_SESSION_CACHE_ENABLED) {
        HttpSession session = request.getSession();

        TransientValue<Device> transientValue = (TransientValue<Device>) session.getAttribute(WebKeys.DEVICE);

        if (transientValue != null) {
            device = transientValue.getValue();
        }

        if (device == null) {
            device = DeviceDetectionUtil.detectDevice(request);

            session.setAttribute(WebKeys.DEVICE, new TransientValue<>(device));
        }
    } else {
        device = DeviceDetectionUtil.detectDevice(request);
    }

    themeDisplay.setDevice(device);

    UnknownDevice unknownDevice = UnknownDevice.getInstance();

    if (device.equals(unknownDevice)) {
        return;
    }

    MDRRuleGroupInstance mdrRuleGroupInstance = null;

    try {
        mdrRuleGroupInstance = RuleGroupProcessorUtil.evaluateRuleGroups(themeDisplay);

        if (_log.isDebugEnabled()) {
            String logMessage = "Rule group evaluation returned rule group instance ";

            if (mdrRuleGroupInstance != null) {
                logMessage += mdrRuleGroupInstance.getRuleGroupInstanceId();
            } else {
                logMessage += "null";
            }

            _log.debug(logMessage);
        }
    } catch (Exception e) {
        if (_log.isWarnEnabled()) {
            _log.warn("Unable to retrieve rule group", e);
        }

        return;
    }

    if (mdrRuleGroupInstance == null) {
        return;
    }

    themeDisplay.setMDRRuleGroupInstance(new MDRRuleGroupInstanceImpl(mdrRuleGroupInstance));

    try {
        List<MDRAction> mdrActions = _mdrActionLocalService
                .getActions(mdrRuleGroupInstance.getRuleGroupInstanceId());

        ActionHandlerManagerUtil.applyActions(mdrActions, request, response);
    } catch (Exception e) {
        if (_log.isWarnEnabled()) {
            _log.warn("Unable to apply device profile", e);
        }
    }
}