Search in sources :

Example 16 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class EditorPortlet method updateGadget.

@Override
public void updateGadget(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {
    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();
    long groupId = themeDisplay.getScopeGroupId();
    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
    if (cmd.equals(Constants.ADD)) {
        GadgetPermission.check(permissionChecker, groupId, ActionKeys.PUBLISH_GADGET);
        Gadget gadget = doAddGadget(actionRequest, actionResponse);
        String publishGadgetRedirect = ParamUtil.getString(actionRequest, "publishGadgetRedirect");
        boolean unpublishPermission = GadgetPermission.contains(permissionChecker, groupId, gadget.getGadgetId(), ActionKeys.DELETE);
        publishGadgetRedirect = HttpUtil.addParameter(publishGadgetRedirect, "unpublishPermission", unpublishPermission);
        publishGadgetRedirect = HttpUtil.addParameter(publishGadgetRedirect, "gadgetId", gadget.getGadgetId());
        actionResponse.sendRedirect(publishGadgetRedirect);
    } else {
        long gadgetId = ParamUtil.getLong(actionRequest, "gadgetId");
        GadgetPermission.check(permissionChecker, groupId, gadgetId, ActionKeys.UPDATE);
        doUpdateGadget(actionRequest, actionResponse);
    }
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) PermissionChecker(com.liferay.portal.security.permission.PermissionChecker) ThemeDisplay(com.liferay.portal.theme.ThemeDisplay)

Example 17 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class EditorPortlet method serveGetFolderChildren.

protected void serveGetFolderChildren(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception {
    ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
    long repositoryId = ParamUtil.getLong(resourceRequest, "repositoryId");
    long folderId = ParamUtil.getLong(resourceRequest, "folderId");
    List<Folder> folders = DLAppServiceUtil.getFolders(repositoryId, folderId);
    folders = ListUtil.sort(folders, new RepositoryModelNameComparator(true));
    JSONArray jsonArray = JSONFactoryUtil.createJSONArray();
    for (Folder folder : folders) {
        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();
        jsonObject.put("entryId", folder.getFolderId());
        jsonObject.put("label", folder.getName());
        jsonObject.put("leaf", false);
        jsonObject.put("type", "editor");
        jsonArray.put(jsonObject);
    }
    boolean getFileEntries = ParamUtil.getBoolean(resourceRequest, "getFileEntries");
    if (getFileEntries) {
        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();
        List<FileEntry> fileEntries = DLAppServiceUtil.getFileEntries(repositoryId, folderId);
        fileEntries = ListUtil.sort(fileEntries, new RepositoryModelNameComparator(true));
        for (FileEntry fileEntry : fileEntries) {
            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();
            jsonObject.put("entryId", fileEntry.getFileEntryId());
            String portalURL = PortalUtil.getPortalURL(themeDisplay);
            String fileEntryURL = ShindigUtil.getFileEntryURL(portalURL, fileEntry.getFileEntryId());
            jsonObject.put("fileEntryURL", fileEntryURL);
            long gadgetId = 0;
            try {
                Gadget gadget = GadgetLocalServiceUtil.getGadget(themeDisplay.getCompanyId(), fileEntryURL);
                gadgetId = gadget.getGadgetId();
            } catch (Exception e) {
            }
            jsonObject.put("gadgetId", gadgetId);
            jsonObject.put("label", fileEntry.getTitle());
            jsonObject.put("leaf", true);
            JSONObject jsonPermissions = JSONFactoryUtil.createJSONObject();
            if (gadgetId > 0) {
                boolean unpublishPermission = GadgetPermission.contains(permissionChecker, themeDisplay.getScopeGroupId(), gadgetId, ActionKeys.DELETE);
                jsonPermissions.put("unpublishPermission", unpublishPermission);
            }
            jsonObject.put("permissions", jsonPermissions);
            jsonObject.put("type", "editor");
            jsonArray.put(jsonObject);
        }
    }
    writeJSON(resourceRequest, resourceResponse, jsonArray);
}
Also used : Gadget(com.liferay.opensocial.model.Gadget) JSONArray(com.liferay.portal.kernel.json.JSONArray) Folder(com.liferay.portal.kernel.repository.model.Folder) IOException(java.io.IOException) PortletException(javax.portlet.PortletException) RepositoryModelNameComparator(com.liferay.portlet.documentlibrary.util.comparator.RepositoryModelNameComparator) JSONObject(com.liferay.portal.kernel.json.JSONObject) PermissionChecker(com.liferay.portal.security.permission.PermissionChecker) FileEntry(com.liferay.portal.kernel.repository.model.FileEntry) ThemeDisplay(com.liferay.portal.theme.ThemeDisplay)

Example 18 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class BaseGadgetPortlet method doRender.

protected void doRender(RenderRequest renderRequest, RenderResponse renderResponse) throws Exception {
    checkExpando(renderRequest, renderResponse);
    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
    Portlet portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), portletDisplay.getId());
    Gadget gadget = getGadget(renderRequest);
    if (gadget == null) {
        return;
    }
    GadgetSpec gadgetSpec = ShindigUtil.getGadgetSpec(gadget.getUrl());
    overrideConfiguration(gadgetSpec, portlet, portletDisplay);
    renderRequest.setAttribute(WebKeys.GADGET, gadget);
    String view = getView(renderRequest, gadgetSpec);
    renderRequest.setAttribute(WebKeys.VIEW, view);
}
Also used : GadgetSpec(org.apache.shindig.gadgets.spec.GadgetSpec) Gadget(com.liferay.opensocial.model.Gadget) Portlet(com.liferay.portal.model.Portlet) MVCPortlet(com.liferay.util.bridges.mvc.MVCPortlet) PortletDisplay(com.liferay.portal.theme.PortletDisplay) ThemeDisplay(com.liferay.portal.theme.ThemeDisplay)

Example 19 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class OpenSocialHotDeployMessageListener method verifyGadgets.

protected void verifyGadgets() throws Exception {
    List<Gadget> gadgets = GadgetLocalServiceUtil.getGadgets(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
    for (Gadget gadget : gadgets) {
        if (Validator.isNull(gadget.getUuid()) || Validator.isNull(gadget.getPortletCategoryNames())) {
            gadget.setPortletCategoryNames(_GADGETS_CATEGORY);
            GadgetLocalServiceUtil.updateGadget(gadget);
        }
    }
}
Also used : Gadget(com.liferay.opensocial.model.Gadget)

Example 20 with Gadget

use of com.liferay.opensocial.model.Gadget in project liferay-ide by liferay.

the class GadgetModelImpl method toModel.

/**
 * Converts the soap model instance into a normal model instance.
 *
 * @param soapModel the soap model instance to convert
 * @return the normal model instance
 */
public static Gadget toModel(GadgetSoap soapModel) {
    if (soapModel == null) {
        return null;
    }
    Gadget model = new GadgetImpl();
    model.setUuid(soapModel.getUuid());
    model.setGadgetId(soapModel.getGadgetId());
    model.setCompanyId(soapModel.getCompanyId());
    model.setCreateDate(soapModel.getCreateDate());
    model.setModifiedDate(soapModel.getModifiedDate());
    model.setName(soapModel.getName());
    model.setUrl(soapModel.getUrl());
    model.setPortletCategoryNames(soapModel.getPortletCategoryNames());
    return model;
}
Also used : Gadget(com.liferay.opensocial.model.Gadget)

Aggregations

Gadget (com.liferay.opensocial.model.Gadget)48 NoSuchGadgetException (com.liferay.opensocial.NoSuchGadgetException)24 StringBundler (com.liferay.portal.kernel.util.StringBundler)21 SystemException (com.liferay.portal.kernel.exception.SystemException)18 Session (com.liferay.portal.kernel.dao.orm.Session)16 SQLQuery (com.liferay.portal.kernel.dao.orm.SQLQuery)14 QueryPos (com.liferay.portal.kernel.dao.orm.QueryPos)13 GadgetImpl (com.liferay.opensocial.model.impl.GadgetImpl)9 Query (com.liferay.portal.kernel.dao.orm.Query)8 UnmodifiableList (com.liferay.portal.kernel.util.UnmodifiableList)8 ArrayList (java.util.ArrayList)8 List (java.util.List)8 FinderPath (com.liferay.portal.kernel.dao.orm.FinderPath)4 ThemeDisplay (com.liferay.portal.theme.ThemeDisplay)4 GadgetSpec (org.apache.shindig.gadgets.spec.GadgetSpec)3 DuplicateGadgetURLException (com.liferay.opensocial.DuplicateGadgetURLException)2 PermissionChecker (com.liferay.portal.security.permission.PermissionChecker)2 ServiceContext (com.liferay.portal.service.ServiceContext)2 GadgetPortletCategoryNamesException (com.liferay.opensocial.GadgetPortletCategoryNamesException)1 GadgetURLException (com.liferay.opensocial.GadgetURLException)1