Example usage for com.liferay.portal.kernel.util WebKeys THEME_DISPLAY

List of usage examples for com.liferay.portal.kernel.util WebKeys THEME_DISPLAY

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util WebKeys THEME_DISPLAY.

Prototype

String THEME_DISPLAY

To view the source code for com.liferay.portal.kernel.util WebKeys THEME_DISPLAY.

Click Source Link

Usage

From source file:com.dushyant.sample.service.SampleGwtRpcServiceImpl.java

License:Apache License

@Override
public ServiceOutput doSomeStuff(ServiceInput input) throws SampleException {
    LOG.debug("RPC service invoked");

    ServiceOutput serviceOutput = null;/*from  w w w .  j  a v a  2s .com*/
    try {
        // Here in the GWT RPC method we can now access PortletRequest, PortletSession etc and get whatever we can
        // from those objects as follows.

        // Lets get the current ThemeDisplay object from portlet request
        ThemeDisplay themeDisplay = (ThemeDisplay) getPortletRequest().getAttribute(WebKeys.THEME_DISPLAY);

        // Let's get current group id from the theme display (i.e., from current community or organization)
        Long groupId = themeDisplay.getScopeGroupId();
        String groupName = themeDisplay.getScopeGroup().getDescriptiveName();

        // Now lets get portlet session id
        String sessionId = getPortletSession().getId();

        serviceOutput = new ServiceOutput("Hello " + input.getName() + ". You are currently accessing group = "
                + groupName + " with id = " + groupId + " and your portlet sessionId = " + sessionId, input);
    } catch (Throwable throwable) {
        throw new SampleException("Could not do \"doSomeStuff\"", throwable);
    }
    return serviceOutput;
}

From source file:com.evolveum.liferay.usercreatehook.CustomCreateAccountAction.java

License:Apache License

@Override
public void processAction(StrutsPortletAction originalStrutsPortletAction, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    LOG.debug("Before call of original action");
    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
    Company company = themeDisplay.getCompany();

    // reserved screennames validation part START
    String screenName = ParamUtil.getString(actionRequest, "screenName");
    Set<String> reservedScreennamesSet = new HashSet<String>();

    List<String> reservedScreennames = WSConfig.getReservedScreennames();
    if (reservedScreennames != null) {
        reservedScreennamesSet.addAll(reservedScreennames);
    }/* www .  j a va 2  s.co m*/

    if (screenName != null && reservedScreennamesSet.contains(screenName.trim())) {
        SessionErrors.add(actionRequest.getPortletSession(), ReservedUserScreenNameException.class.getName());
        return;
    }
    // reserved screennames validation part END

    // custom email validation part START

    long parentOrganizationId = ParamUtil.getLong(actionRequest, "parentOrganizationId");
    long subOrganizationId = ParamUtil.getLong(actionRequest, "organizationId");
    long organizationId = -1;
    if (parentOrganizationId > 0l || subOrganizationId > 0l) {
        organizationId = subOrganizationId > 0l ? subOrganizationId : parentOrganizationId;
        Set<String> permittedDomainsSet = new HashSet<String>();

        // get addition email addresses of organization
        List<EmailAddress> organizationEmailAddresses = EmailAddressLocalServiceUtil
                .getEmailAddresses(company.getCompanyId(), Organization.class.getName(), organizationId);

        if (organizationEmailAddresses != null) {
            for (EmailAddress emailAddress : organizationEmailAddresses) {
                String domain = EmailUtil.getEmailDomain(emailAddress.getAddress());
                permittedDomainsSet.add(domain);
            }
        }

        List<String> allwaysPermittedDomains = WSConfig.getAllwaysPermittedEmailDomains();
        if (allwaysPermittedDomains != null) {
            permittedDomainsSet.addAll(allwaysPermittedDomains);
        }

        String emailAddress = ParamUtil.getString(actionRequest, "emailAddress");
        String emailDomain = null;
        if (emailAddress != null) {
            emailAddress = emailAddress.trim().toLowerCase();
            emailDomain = EmailUtil.getEmailDomain(emailAddress);
        }

        if (emailDomain == null || !permittedDomainsSet.contains(emailDomain)) {
            SessionErrors.add(actionRequest.getPortletSession(), "notPermittedEmailDomainError");
            return;
        }
    }

    // custom email validation part END

    originalStrutsPortletAction.processAction(originalStrutsPortletAction, portletConfig, actionRequest,
            actionResponse);
    LOG.debug("After call of original action");

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    if (cmd.equals(Constants.ADD)) {

        // XXX [mso] hack to get redirect location with created user's login in pattern '...&_58_login=<user-login>'
        LOG.debug("Trying to get redirect location...");
        Class<?> actionResponseImplClass = actionResponse.getClass(); // com.liferay.portlet.ActionResponseImpl
        Class<?> stateAwareResponseImplClass = actionResponseImplClass.getSuperclass(); // com.liferay.portlet.StateAwareResponseImpl

        Method redirectLocationMethod = stateAwareResponseImplClass
                .getDeclaredMethod(METHOD_GET_REDIRECT_LOCATION);
        String redirectLocation = (String) redirectLocationMethod.invoke(actionResponse, (Object[]) null);
        LOG.debug("Redirect location: '" + redirectLocation + "'");

        if (!StringUtils.isBlank(redirectLocation)) {
            // user was created
            // redirect location example for login 'a3':
            // 'http://localhost:8080/web/guest/what-we-do?p_p_id=58&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&saveLastPath=0&_58_struts_action=%2Flogin%2Flogin&_58_login=a3'
            // 1) get his login
            // 2) update his organizations if any

            // 1)
            LOG.debug("Trying to get new user's login from redirect location...");
            String login = getLoginFromRedirectUrl(redirectLocation);
            LOG.debug("User's login: '" + login + "'");
            if (!StringUtils.isBlank(login)) {
                User user = loadUser(company, login);
                if (user != null) {
                    // 2)
                    if (organizationId > 0l) {
                        LOG.info("Setting organization/suborganization: '" + organizationId + "' to user: '"
                                + login + "'");
                        UserLocalServiceUtil.addOrganizationUsers(organizationId,
                                new long[] { user.getUserId() });
                        LOG.debug("Organization/suborganization set successfully");
                    }
                } else {
                    LOG.error("Unable to load user for login '" + login + "'");
                }
            } else {
                LOG.error("Unable to get login from redirect location: '" + redirectLocation + "'");
            }
        }
    }
}

From source file:com.ext.portlet.plans.PlanLocalServiceHelper.java

License:Open Source License

/**
 * Returns user settings for plans portlet (columns configuration).
 * Method first checks if there is object with user settings in current
 * session, if it is, this object is returned. If it isn't, new object
 * is created with default data./*from  w ww . j  av  a 2s  .co m*/
 *
 * @param request render request
 * @return returns columns configuration
 * @throws PortalException passed up in case of framework error
 * @throws SystemException passed up in case of framework error
 */
public static PlansUserSettings getPlanUserSettings(PortletRequest request, long planTypeId)
        throws PortalException, SystemException {
    String settingsParamName = getUserSettingsParamName(planTypeId);
    PlansUserSettings userSettings = (PlansUserSettings) request.getPortletSession()
            .getAttribute(settingsParamName);
    if (userSettings == null) {
        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
        long userId = themeDisplay.getUserId();
        User user = UserLocalServiceUtil.getUser(userId);

        if (!user.isDefaultUser()) {
            // try {
            List tmp = PlansUserSettingsLocalServiceUtil.getPlansUserSettingses(0, 9999);
            //userSettings = PlansUserSettingsLocalServiceUtil.getByUserIdPlanTypeId(userId, planTypeId);
            userSettings = null;
            if (userSettings != null) {
                setPlansFilterPositionsIds(userSettings);
            }
        }

        if (userSettings == null || user.isDefaultUser()) {
            userSettings = PlansUserSettingsLocalServiceUtil.createPlansUserSettings(0L);
            userSettings.setPlanTypeId(planTypeId);
            userSettings.setUserId(userId);
            userSettings.setFilterEnabled(false);
            userSettings.setFilterPositionsAll(false);

            PlanType planType = PlanTypeLocalServiceUtil.getPlanType(planTypeId);
            for (PlanTypeColumn planTypeColumn : PlanTypeLocalServiceUtil.getColumns(planType)) {
                PlanColumnSettings settings = PlanColumnSettingsLocalServiceUtil.createPlanColumnSettings(0L);
                settings.setColumnName(planTypeColumn.getColumnName());
                settings.setPlanUserSettingsId(userSettings.getPlanUserSettingsId());
                settings.setVisible(planTypeColumn.getVisibleByDefault());

                //userSettings.addColumnSettings(settings);
            }
            /*
            for (Columns c:Columns.defaults()) {
               c.setUserSetting(userSettings, true);
            }*/
            //                userSettings.setShowName(true);
            //                userSettings.setShowDate(true);
            //                userSettings.setShowTemperatureChange(true);
            //                userSettings.setShowCO2(true);
            //                userSettings.setShowMitigationCost(true);
            //                userSettings.setShowDamageCost(true);
            //              //  userSettings.setShowPositions(true);
            //                userSettings.setShowVotes(true);
            //                userSettings.
        }
        request.getPortletSession().setAttribute(settingsParamName, userSettings);
    }

    return userSettings;
}

From source file:com.ext.portlet.plans.PlanLocalServiceHelper.java

License:Open Source License

/**
 * Method responsible for storing filters configuration. Configuration is
 * stored in session also, if user is authorized then configuration is
 * persisted.//from   w ww.j av a  2 s  .  c om
 *
 * @param request     render request
 * @param plansFilter filters configuration that should be stored
 * @throws PortalException passed up in case of framework error
 * @throws SystemException passed up in case of framework error
 */
public static void saveFilter(PortletRequest request, PlansFilter plansFilter)
        throws SystemException, PortalException {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long userId = themeDisplay.getUserId();
    User user = UserLocalServiceUtil.getUser(userId);
    if (!user.isDefaultUser()) {
        storePlansFilterPositionsIds(plansFilter);
        PlansFilterLocalServiceUtil.updatePlansFilter(plansFilter);

    }
    String filterParamName = getFilterParamName(plansFilter.getPlanTypeId());
    request.getPortletSession().setAttribute(filterParamName, plansFilter);
}

From source file:com.ext.portlet.plans.PlanLocalServiceHelper.java

License:Open Source License

public static void saveFilter(PortletRequest request, PlansUserSettings plansFilter)
        throws SystemException, PortalException {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long userId = themeDisplay.getUserId();
    User user = UserLocalServiceUtil.getUser(userId);
    if (!user.isDefaultUser()) {
        storePlansFilterPositionsIds(plansFilter);
        PlansUserSettingsLocalServiceUtil.updatePlansUserSettings(plansFilter);

    }/*from w w w.j a  v a2s. com*/
    String filterParamName = getFilterParamName(plansFilter.getPlanTypeId());
    request.getPortletSession().setAttribute(filterParamName, plansFilter);
}

From source file:com.ext.portlet.plans.PlanLocalServiceHelper.java

License:Open Source License

/**
 * Method adds plan vote to request object.
 *
 * @param request request that should be populated with users plan vote
 * @throws PortalException passed up in case of framework exception
 * @throws SystemException passed up in case of framework exception
 *//*from   ww w.  j  a v  a  2s.c  o  m*/
public static void addPlanVote(PortletRequest request) throws PortalException, SystemException {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long userId = themeDisplay.getUserId();
    try {
        PlanVote planVote = PlanVoteLocalServiceUtil.getPlanVote(new PlanVotePK(userId, 1L));
        request.setAttribute(PlanConstants.VOTE, planVote);
    } catch (NoSuchPlanVoteException e) {
        // ignore
    }
}

From source file:com.fb.action.EditEntryAction.java

License:Open Source License

protected void addOpenGraphProperties(PortletRequest request, PortletResponse response, BlogsEntry entry)
        throws PortalException, SystemException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    Map<String, String> opengraphAttributes = (Map<String, String>) request.getAttribute(OPENGRAPH_ATTRIBUTE);

    if (opengraphAttributes == null) {
        opengraphAttributes = new HashMap<String, String>();

        request.setAttribute(OPENGRAPH_ATTRIBUTE, opengraphAttributes);
    }/* www. j a va2 s.c om*/

    Map<String, String> twitterAttributes = (Map<String, String>) request.getAttribute(TWITTER_ATTRIBUTE);

    if (twitterAttributes == null) {
        twitterAttributes = new HashMap<String, String>();

        request.setAttribute(TWITTER_ATTRIBUTE, twitterAttributes);
    }

    opengraphAttributes.put("type", "website");

    PortletURL portletURL = ((LiferayPortletResponse) response).createRenderURL();

    portletURL.setParameter("struts_action", "/blogs/view_entry");
    portletURL.setParameter("urlTitle", entry.getUrlTitle());

    String url = PortalUtil.getCanonicalURL(portletURL.toString(), themeDisplay, themeDisplay.getLayout());

    opengraphAttributes.put("url", url);
    twitterAttributes.put("url", url);

    String title = entry.getTitle();

    opengraphAttributes.put("title", title);
    twitterAttributes.put("title", title);

    String description = entry.getDescription();

    if (Validator.isNotNull(description)) {
        opengraphAttributes.put("description", description);
        twitterAttributes.put("description", description);
    }

    Group group = GroupLocalServiceUtil.getGroup(entry.getGroupId());

    opengraphAttributes.put("site_name", group.getDescriptiveName());

    opengraphAttributes.put("locale", themeDisplay.getLanguageId());

    String smallImage = null;

    if (entry.isSmallImage()) {
        smallImage = entry.getEntryImageURL(themeDisplay);
    }

    if (Validator.isNotNull(smallImage)) {
        opengraphAttributes.put("image", smallImage);
        twitterAttributes.put("image", smallImage);
    }

    String twCard = "summary";

    if (Validator.isNotNull(smallImage)) {
        twCard = "photo";
    }

    twitterAttributes.put("card", twCard);

    /*
            
    // TODO: Site Setting for twitter account
            
    String twSite = "";
            
    if (Validator.isNotNull(twSite)) {
       twitterAttributes.put("site", StringPool.AT + twSite);
    }
            
    */

    User user = UserLocalServiceUtil.getUser(entry.getUserId());

    Contact contact = user.getContact();

    if (Validator.isNotNull(contact.getTwitterSn())) {
        twitterAttributes.put("creator", StringPool.AT + contact.getTwitterSn());
    }

}

From source file:com.fb.action.FacebookConnectAction.java

License:Open Source License

@Override
public String execute(StrutsAction originalStrutsAction, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    if (!FacebookConnectUtil.isEnabled(themeDisplay.getCompanyId())) {
        throw new PrincipalException();
    }/* ww w.  j ava 2 s  . c  om*/

    HttpSession session = request.getSession();

    String redirect = ParamUtil.getString(request, "redirect");

    String code = ParamUtil.getString(request, "code");

    String token = FacebookConnectUtil.getAccessToken(themeDisplay.getCompanyId(), redirect, code);

    if (Validator.isNotNull(token)) {
        session.setAttribute(FACEBOOK_ACCESS_TOKEN, token);

        setFacebookCredentials(session, themeDisplay.getCompanyId(), token);
    } else {
        _log.error("there is not token from facebook");

        //return mapping.findForward("/common/referer_jsp.jsp");
    }

    response.sendRedirect(redirect);

    return null;
}

From source file:com.fb.action.OpenGraphLayoutAction.java

License:Open Source License

protected void addOpenGraphProperties(HttpServletRequest request) throws PortalException, SystemException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    Map<String, String> opengraphAttributes = (Map<String, String>) request
            .getAttribute("LIFERAY_SHARED_OPENGRAPH");

    if (opengraphAttributes == null) {
        opengraphAttributes = new HashMap<String, String>();

        request.setAttribute("LIFERAY_SHARED_OPENGRAPH", opengraphAttributes);
    }/*from w  ww  . j ava  2s.  c  om*/

    UnicodeProperties layoutTypeSettings = null;
    Layout layout = themeDisplay.getLayout();
    Group group = themeDisplay.getScopeGroup();

    if (layout != null) {
        layoutTypeSettings = layout.getTypeSettingsProperties();
    }

    String ogTitle = layoutTypeSettings.getProperty("og-title");
    String ogType = layoutTypeSettings.getProperty("og-type");
    String ogImage = layoutTypeSettings.getProperty("og-image");

    String ogDescription = layoutTypeSettings.getProperty("og-description");
    String ogVideo = layoutTypeSettings.getProperty("og-video");
    String ogAudio = layoutTypeSettings.getProperty("og-audio");
    String ogDeterminer = layoutTypeSettings.getProperty("og-determiner");

    if (Validator.isNull(ogType)) {
        if (group.isUser()) {
            ogType = "profile";
        } else {
            ogType = "website";
        }
    }

    opengraphAttributes.put("type", ogType);

    opengraphAttributes.put("url",
            PortalUtil.getCanonicalURL(PortalUtil.getLayoutFullURL(themeDisplay), themeDisplay, layout));

    if (Validator.isNull(ogTitle)) {
        ogTitle = layout.getTitle(themeDisplay.getLanguageId());
    }

    opengraphAttributes.put("title", ogTitle);

    if (Validator.isNull(ogDescription)) {
        ogDescription = layout.getDescription(themeDisplay.getLanguageId());
    }

    if (Validator.isNotNull(ogDescription)) {
        opengraphAttributes.put("description", ogDescription);
    }

    if (Validator.isNotNull(ogVideo)) {
        opengraphAttributes.put("video", ogVideo);
    }

    if (Validator.isNotNull(ogAudio)) {
        opengraphAttributes.put("audio", ogAudio);
    }

    if (Validator.isNotNull(ogDeterminer)) {
        opengraphAttributes.put("determiner", ogDeterminer);
    }

    opengraphAttributes.put("site_name", group.getDescriptiveName());

    opengraphAttributes.put("locale", themeDisplay.getLanguageId());

    if (Validator.isNull(ogImage) && layout.isIconImage()) {
        ogImage = themeDisplay.getPathImage() + "/layout_icon?img_id=" + layout.getIconImageId() + "&t="
                + WebServerServletTokenUtil.getToken(layout.getIconImageId());
    }

    if (Validator.isNotNull(ogImage)) {
        opengraphAttributes.put("image", ogImage);
    }
}

From source file:com.fmdp.webform.portlet.WebFormPortlet.java

License:Open Source License

public void deleteData(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    String portletId = PortalUtil.getPortletId(actionRequest);

    PortletPermissionUtil.check(themeDisplay.getPermissionChecker(), themeDisplay.getPlid(), portletId,
            ActionKeys.CONFIGURATION);//from  w ww  . ja v a2  s. c o  m

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest);

    String databaseTableName = preferences.getValue("databaseTableName", StringPool.BLANK);

    if (Validator.isNotNull(databaseTableName)) {
        ExpandoTableLocalServiceUtil.deleteTable(themeDisplay.getCompanyId(), WebFormUtil.class.getName(),
                databaseTableName);
    }
}