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:atc.otn.ckan.portlets.OrganizationUploader.java

@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse) {

    //********************** Variables **********************

    //json array holding the user receivers with their roles and units
    JSONArray licenses = new JSONArray();

    CKANClient client;/*from www .j ava  2  s.c om*/
    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
    String url = "";

    //********************** Action **********************

    try {

        url = PortalUtil.getLayoutURL(themeDisplay.getLayout(), themeDisplay);
        String city = "";

        if (url.contains("/web/antwerp")) {
            city = "antwerp";
        } else if (url.contains("/web/birmingham")) {
            city = "birmingham";
        } else if (url.contains("/web/issy")) {
            city = "issy";
        } else if (url.contains("/web/liberec")) {
            city = "liberec";
        } else {
            city = "guest";
        }

        renderRequest.setAttribute("city", city);

        //init CKAN client
        client = new CKANClient();

        licenses = client.getLicenses();

        //return list to jsp
        renderRequest.setAttribute("licenses", licenses);

        super.doView(renderRequest, renderResponse);

    } catch (Exception e) {

        e.printStackTrace();
    }

}

From source file:atc.otn.ckan.portlets.OrganizationUploader.java

@ProcessAction(name = "orgDocument")
public void orgDocument(ActionRequest actionRequest, ActionResponse actionResponse)
        throws IOException, PortletException, PortalException, SystemException {

    //********************** Variables **********************

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
    User user = themeDisplay.getUser();/*from   ww w . j av  a2 s. com*/

    DocumentManager dm = new DocumentManager();

    Folder folder;

    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

    File file;

    String fileName;

    Folder parentFolder;

    long repositoryId;

    String mimeType;

    String fileURL = "";

    CKANClient client;

    JSONObject datasetData = new JSONObject(), resource = new JSONObject(), dTankresource = new JSONObject();

    JSONArray resources = new JSONArray(), extras = new JSONArray(), tags = new JSONArray(),
            dTankresources = new JSONArray();

    String[] tagsStr;

    String datasetURL = "";

    String dTankDatasetURL = "";

    String organizationId;

    InputStream in = null;
    Properties p = new Properties();

    //get the repository id
    repositoryId = themeDisplay.getScopeGroupId();

    //get the CKAN folder
    parentFolder = DLAppServiceUtil.getFolder(repositoryId, PARENT_FOLDER_ID, ROOT_FOLDER_NAME);

    //init CKAN client
    client = new CKANClient();

    long now = new Date().getTime();

    //********************** Action **********************

    try {

        in = this.getClass().getResourceAsStream("/portlet.properties");
        p.load(in);

        organizationId = p.getProperty("CKAN.organizationID");

        logger.info("uploading document....");

        //get the file uploaded
        file = uploadPortletRequest.getFile("fileInput");

        //if file was given after all
        if (uploadPortletRequest.getFile("fileInput") != null && file.exists()) {

            fileName = uploadPortletRequest.getFileName("fileInput");

            mimeType = uploadPortletRequest.getContentType("fileInput");

            //folder = dm.createUserFolder(actionRequest, themeDisplay); 

            fileURL = dm.uploadFile(themeDisplay, actionRequest, parentFolder, file, fileName, mimeType);

            file.delete();

        } else if (ParamUtil.getString(uploadPortletRequest, "link") != null) {

            fileURL = ParamUtil.getString(uploadPortletRequest, "link");

        }

        tagsStr = ParamUtil.getString(uploadPortletRequest, "tags").split(",");

        logger.info(ParamUtil.getString(uploadPortletRequest, "tags"));

        //create json objects as ckan requires them
        resource.put("url", fileURL);

        /* Give the resource the same name as the package */
        resource.put("name", ParamUtil.getString(uploadPortletRequest, "dstitle"));
        //resource.put("name", ParamUtil.getString(uploadPortletRequest,"dname"));
        //resource.put("description", ParamUtil.getString(uploadPortletRequest,"description"));
        resource.put("format", ParamUtil.getString(uploadPortletRequest, "format"));

        resources.put(resource);

        /* Don't upload to CKAN xlxs,xls and csv files */
        if (!resource.getString("format").equals("XLSX") && !resource.getString("format").equals("XLS")
                && !resource.getString("format").equals("CSV")) {

            for (String tag : tagsStr) {

                if (!tag.isEmpty()) {
                    tags.put(new JSONObject().put("name", tag));
                }
            }

            //convert title of dataset to ascii characters for the url to be valid
            String stringName = ParamUtil.getString(uploadPortletRequest, "dstitle").toLowerCase().replace(" ",
                    "-");
            String nameForUrl = java.net.URLEncoder.encode(stringName.toString(), "ascii").replace("%", "-")
                    .toLowerCase();

            datasetData.put("title", ParamUtil.getString(uploadPortletRequest, "dstitle"));
            datasetData.put("name", nameForUrl + now);
            datasetData.put("owner_org", organizationId);
            datasetData.put("notes", ParamUtil.getString(uploadPortletRequest, "notes"));
            datasetData.put("url", ParamUtil.getString(uploadPortletRequest, "source"));
            datasetData.put("version", ParamUtil.getString(uploadPortletRequest, "version"));
            datasetData.put("author", ParamUtil.getString(uploadPortletRequest, "author"));
            datasetData.put("license_id", ParamUtil.getString(uploadPortletRequest, "license"));

            datasetData.put("resources", resources);

            if (tags.length() > 0) {
                datasetData.put("tags", tags);
            }

            //Store dataset in CKAN
            datasetURL = client.addOrganizationDataset(user.getUserId(), datasetData);

            if (!datasetURL.startsWith("http")) {
                actionRequest.setAttribute("ckanerror", datasetURL);
                SessionErrors.add(actionRequest, "ckanerror");
            } else {
                SessionMessages.add(actionRequest, "ckansuccess");
                System.out.println("uploaded to CKAN " + datasetURL);
            }

        } // End CKAN UPload
        else {// Upload to Datatank

            if (!fileURL.equals("")) {
                JSONObject dtankData = new JSONObject();

                /*Remove everything after the .xls*/
                int ext = 0;
                if ((ext = fileURL.indexOf(".xls/")) > 0) {
                    fileURL = fileURL.substring(0, ext + 4);
                } else if ((ext = fileURL.indexOf(".xlsx/")) > 0) {
                    fileURL = fileURL.substring(0, ext + 5);
                } else if ((ext = fileURL.indexOf(".csv")) > 0) {
                    fileURL = fileURL.substring(0, ext + 4);
                }
                System.out.println("Datatank resource url: " + fileURL);

                String dTankformat = ParamUtil.getString(uploadPortletRequest, "format").toLowerCase();
                if (dTankformat.equals("xlsx")) {
                    dTankformat = "xls";
                }
                dtankData.put("description", ParamUtil.getString(uploadPortletRequest, "notes"));
                dtankData.put("uri", fileURL);
                dtankData.put("type", dTankformat);
                dtankData.put("title", ParamUtil.getString(uploadPortletRequest, "dstitle"));

                dTankDatasetURL = client.addToDataTank(dtankData, dTankformat,
                        ParamUtil.getString(uploadPortletRequest, "dstitle").toLowerCase().replace(" ", "_")
                                + now);

                if (dTankDatasetURL.startsWith("http:")) {
                    logger.info("uploaded to Datatank: " + dTankDatasetURL);
                    if (client.getDatatankTransform(dTankDatasetURL)) {
                        /*Now store the file back in CKAN*/
                        dTankresource.put("url", dTankDatasetURL + ".geojson");

                        /* Give the resource the same name as the package */
                        dTankresource.put("name", ParamUtil.getString(uploadPortletRequest, "dstitle"));
                        //resource.put("name", ParamUtil.getString(uploadPortletRequest,"dname"));
                        //resource.put("description", ParamUtil.getString(uploadPortletRequest,"description"));
                        dTankresource.put("format", "geojson");

                        dTankresources.put(dTankresource);

                        for (String tag : tagsStr) {

                            if (!tag.isEmpty()) {
                                tags.put(new JSONObject().put("name", tag));
                            }
                        }
                        datasetData.put("title", ParamUtil.getString(uploadPortletRequest, "dstitle"));
                        datasetData.put("name", ParamUtil.getString(uploadPortletRequest, "dstitle")
                                .toLowerCase().replace(" ", "-") + now);
                        datasetData.put("owner_org", organizationId);
                        datasetData.put("notes", ParamUtil.getString(uploadPortletRequest, "notes"));
                        datasetData.put("url", ParamUtil.getString(uploadPortletRequest, "source"));
                        datasetData.put("version", ParamUtil.getString(uploadPortletRequest, "version"));
                        datasetData.put("author", ParamUtil.getString(uploadPortletRequest, "author"));
                        datasetData.put("license_id", ParamUtil.getString(uploadPortletRequest, "license"));

                        //if uploaded file format is xls or csv
                        if (ParamUtil.getString(uploadPortletRequest, "format").toLowerCase().equals("csv")
                                || ParamUtil.getString(uploadPortletRequest, "format").toLowerCase()
                                        .equals("xls")
                                || ParamUtil.getString(uploadPortletRequest, "format").toLowerCase()
                                        .equals("xlsx")) {

                            client = new CKANClient();
                            //get the bbox value from geojson coming from Datatank
                            extras = client.getExtent(dTankDatasetURL);

                            //prepare the jsonArray from service to insert it as a custom field in CKAN
                            String extrStr = extras.toString().replaceAll("[\\[\\]]", "");
                            List<HashMap<String, String>> extraDictionaries = new ArrayList<HashMap<String, String>>();
                            HashMap<String, String> extraDictionary = new HashMap<String, String>();
                            extraDictionary.put("value", extrStr);
                            extraDictionary.put("key", "extent");
                            extraDictionaries.add(extraDictionary);

                            datasetData.put("extras", extraDictionaries);
                        }

                        datasetData.put("resources", dTankresources);

                        if (tags.length() > 0) {
                            datasetData.put("tags", tags);
                        }

                        //Store dataset in CKAN
                        datasetURL = client.addOrganizationDataset(user.getUserId(), datasetData);

                        if (!datasetURL.startsWith("http")) {
                            actionRequest.setAttribute("ckanerror", datasetURL);
                            SessionErrors.add(actionRequest, "ckanerror");
                        }
                        //actionRequest.setAttribute("dTanksuccess", dTankDatasetURL +".geojson");
                        actionRequest.setAttribute("dTanksuccess",
                                "Your dataset is succefully transformed into geojson.<br /> Go to <a href='/my-datasets'>My Datasets</a> to view it!");
                        SessionMessages.add(actionRequest, "dTanksuccess");
                        logger.info("Dtank transofrmed succesfully stored in CKAN: " + datasetURL);
                    } else {
                        actionRequest.setAttribute("dTankerror",
                                "Your file could not be transformed into geojson format.<br /> Please check if it has column headers and if the records contain coordinates. For excel files, the system will try to transform data found in the first sheet which should be named 'sheet1'");
                        SessionErrors.add(actionRequest, "dTankerror");
                    }
                } else {
                    actionRequest.setAttribute("dTankerror",
                            "Your file could not be transformed into geojson format");
                    SessionErrors.add(actionRequest, "dTankerror");
                }
            }
        }
        PortletURL actionUrl = PortletURLFactoryUtil.create(actionRequest,
                themeDisplay.getPortletDisplay().getId(), themeDisplay.getPlid(), PortletRequest.ACTION_PHASE);
        String redirectUrl = actionUrl.toString().replaceAll("upload-organization-dataset",
                "organization-datasets");
        actionResponse.sendRedirect(redirectUrl);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:atc.otn.ckan.portlets.Uploader.java

@ProcessAction(name = "uploadDocument")
public void uploadDocument(ActionRequest actionRequest, ActionResponse actionResponse)
        throws IOException, PortletException, PortalException, SystemException {

    //********************** Variables **********************

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
    User user = themeDisplay.getUser();/*from   w ww. j av a2 s  . c o  m*/

    DocumentManager dm = new DocumentManager();

    Folder folder;

    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

    File file;

    String fileName;

    Folder parentFolder;

    long repositoryId;

    String mimeType;

    String fileURL = "";

    CKANClient client;

    JSONObject datasetData = new JSONObject(), resource = new JSONObject(), dTankresource = new JSONObject();

    JSONArray resources = new JSONArray(), extras = new JSONArray(), tags = new JSONArray(),
            dTankresources = new JSONArray();

    String[] tagsStr;

    String datasetURL = "";

    String dTankDatasetURL = "";

    //get the repository id
    repositoryId = themeDisplay.getScopeGroupId();

    //get the CKAN folder
    parentFolder = DLAppServiceUtil.getFolder(repositoryId, PARENT_FOLDER_ID, ROOT_FOLDER_NAME);

    //init CKAN client
    client = new CKANClient();

    long now = new Date().getTime();

    //********************** Action **********************

    try {

        //         logger.info("uploading document....");

        //get the file uploaded
        file = uploadPortletRequest.getFile("fileInput");

        //if file was given after all
        if (uploadPortletRequest.getFile("fileInput") != null && file.exists()) {

            fileName = uploadPortletRequest.getFileName("fileInput");

            mimeType = uploadPortletRequest.getContentType("fileInput");

            //folder = dm.createUserFolder(actionRequest, themeDisplay); 

            fileURL = dm.uploadFile(themeDisplay, actionRequest, parentFolder, file, fileName, mimeType);

            file.delete();

        } else if (ParamUtil.getString(uploadPortletRequest, "link") != null) {

            fileURL = ParamUtil.getString(uploadPortletRequest, "link");

        }

        tagsStr = ParamUtil.getString(uploadPortletRequest, "tags").split(",");

        logger.info(ParamUtil.getString(uploadPortletRequest, "tags"));

        //create json objects as ckan requires them
        resource.put("url", fileURL);

        /* Give the resource the same name as the package */
        resource.put("name", ParamUtil.getString(uploadPortletRequest, "dstitle"));
        //resource.put("name", ParamUtil.getString(uploadPortletRequest,"dname"));
        //resource.put("description", ParamUtil.getString(uploadPortletRequest,"description"));
        resource.put("format", ParamUtil.getString(uploadPortletRequest, "format"));

        resources.put(resource);

        /* Don't upload to CKAN xlxs,xls and csv files */
        if (!resource.getString("format").equals("XLSX") && !resource.getString("format").equals("XLS")
                && !resource.getString("format").equals("CSV")) {

            for (String tag : tagsStr) {

                if (!tag.isEmpty()) {
                    tags.put(new JSONObject().put("name", tag));
                }
            }

            //convert title of dataset to ascii characters for the url to be valid
            String stringName = ParamUtil.getString(uploadPortletRequest, "dstitle").toLowerCase().replace(" ",
                    "-");
            String nameForUrl = java.net.URLEncoder.encode(stringName.toString(), "ascii").replace("%", "-")
                    .toLowerCase();

            datasetData.put("title", ParamUtil.getString(uploadPortletRequest, "dstitle"));
            datasetData.put("name", nameForUrl + now);
            datasetData.put("owner_org", user.getUserId() + "_org");
            datasetData.put("notes", ParamUtil.getString(uploadPortletRequest, "notes"));
            datasetData.put("url", ParamUtil.getString(uploadPortletRequest, "source"));
            datasetData.put("version", ParamUtil.getString(uploadPortletRequest, "version"));
            datasetData.put("author", ParamUtil.getString(uploadPortletRequest, "author"));
            datasetData.put("license_id", ParamUtil.getString(uploadPortletRequest, "license"));

            datasetData.put("resources", resources);

            if (tags.length() > 0) {
                datasetData.put("tags", tags);
            }

            //Store dataset in CKAN
            datasetURL = client.addUserDataset(user.getUserId(), datasetData);

            if (!datasetURL.startsWith("http")) {
                actionRequest.setAttribute("ckanerror", datasetURL);
                SessionErrors.add(actionRequest, "ckanerror");
            } else {
                SessionMessages.add(actionRequest, "ckansuccess");
                System.out.println("uploaded to CKAN " + datasetURL);
            }

        } // End CKAN UPload
        else {// Upload to Datatank

            if (!fileURL.equals("")) {
                JSONObject dtankData = new JSONObject();

                /*Remove everything after the .xls*/
                int ext = 0;
                if ((ext = fileURL.indexOf(".xls/")) > 0) {
                    fileURL = fileURL.substring(0, ext + 4);
                } else if ((ext = fileURL.indexOf(".xlsx/")) > 0) {
                    fileURL = fileURL.substring(0, ext + 5);
                } else if ((ext = fileURL.indexOf(".csv")) > 0) {
                    fileURL = fileURL.substring(0, ext + 4);
                }
                System.out.println("Datatank resource url: " + fileURL);

                String dTankformat = ParamUtil.getString(uploadPortletRequest, "format").toLowerCase();
                if (dTankformat.equals("xlsx")) {
                    dTankformat = "xls";
                }
                dtankData.put("description", ParamUtil.getString(uploadPortletRequest, "notes"));
                dtankData.put("uri", fileURL);
                dtankData.put("type", dTankformat);
                dtankData.put("title", ParamUtil.getString(uploadPortletRequest, "dstitle"));

                dTankDatasetURL = client.addToDataTank(dtankData, dTankformat,
                        ParamUtil.getString(uploadPortletRequest, "dstitle").toLowerCase().replace(" ", "_")
                                + now);

                if (dTankDatasetURL.startsWith("http:")) {

                    logger.info("uploaded to Datatank: " + dTankDatasetURL);
                    if (client.getDatatankTransform(dTankDatasetURL)) {
                        /*Now store the file back in CKAN*/
                        dTankresource.put("url", dTankDatasetURL + ".geojson");
                        /* Give the resource the same name as the package */
                        dTankresource.put("name", ParamUtil.getString(uploadPortletRequest, "dstitle"));
                        //resource.put("name", ParamUtil.getString(uploadPortletRequest,"dname"));
                        //resource.put("description", ParamUtil.getString(uploadPortletRequest,"description"));
                        dTankresource.put("format", "geojson");

                        dTankresources.put(dTankresource);

                        for (String tag : tagsStr) {

                            if (!tag.isEmpty()) {
                                tags.put(new JSONObject().put("name", tag));
                            }
                        }
                        datasetData.put("title", ParamUtil.getString(uploadPortletRequest, "dstitle"));
                        datasetData.put("name", ParamUtil.getString(uploadPortletRequest, "dstitle")
                                .toLowerCase().replace(" ", "-") + now);
                        datasetData.put("owner_org", user.getUserId() + "_org");
                        datasetData.put("notes", ParamUtil.getString(uploadPortletRequest, "notes"));
                        datasetData.put("url", ParamUtil.getString(uploadPortletRequest, "source"));
                        datasetData.put("version", ParamUtil.getString(uploadPortletRequest, "version"));
                        datasetData.put("author", ParamUtil.getString(uploadPortletRequest, "author"));
                        datasetData.put("license_id", ParamUtil.getString(uploadPortletRequest, "license"));

                        //if uploaded file format is xls or csv
                        if (ParamUtil.getString(uploadPortletRequest, "format").toLowerCase().equals("csv")
                                || ParamUtil.getString(uploadPortletRequest, "format").toLowerCase()
                                        .equals("xls")
                                || ParamUtil.getString(uploadPortletRequest, "format").toLowerCase()
                                        .equals("xlsx")) {

                            client = new CKANClient();
                            //get the bbox value from geojson coming from Datatank
                            extras = client.getExtent(dTankDatasetURL);

                            //prepare the jsonArray from service to insert it as a custom field in CKAN
                            String extrStr = extras.toString().replaceAll("[\\[\\]]", "");
                            List<HashMap<String, String>> extraDictionaries = new ArrayList<HashMap<String, String>>();
                            HashMap<String, String> extraDictionary = new HashMap<String, String>();
                            extraDictionary.put("value", extrStr);
                            extraDictionary.put("key", "extent");
                            extraDictionaries.add(extraDictionary);

                            datasetData.put("extras", extraDictionaries);
                        }

                        datasetData.put("resources", dTankresources);

                        if (tags.length() > 0) {
                            datasetData.put("tags", tags);
                        }

                        //Store dataset in CKAN
                        datasetURL = client.addUserDataset(user.getUserId(), datasetData);

                        if (!datasetURL.startsWith("http")) {
                            actionRequest.setAttribute("ckanerror", datasetURL);
                            SessionErrors.add(actionRequest, "ckanerror");
                        }
                        //actionRequest.setAttribute("dTanksuccess", dTankDatasetURL +".geojson");
                        actionRequest.setAttribute("dTanksuccess",
                                "Your dataset is succefully transformed into geojson.<br /> Go to <a href='/my-datasets'>My Datasets</a> to view it!");
                        SessionMessages.add(actionRequest, "dTanksuccess");
                        logger.info("Dtank transofrmed succesfully stored in CKAN: " + datasetURL);
                    } else {
                        actionRequest.setAttribute("dTankerror",
                                "Your file could not be transformed into geojson format.<br /> Please check if it has column headers and if the records contain coordinates. For excel files, the system will try to transform data found in the first sheet which should be named 'sheet1'");
                        SessionErrors.add(actionRequest, "dTankerror");
                    }
                } else {
                    actionRequest.setAttribute("dTankerror",
                            "Your file could not be transformed into geojson format");
                    SessionErrors.add(actionRequest, "dTankerror");
                }
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:au.com.permeance.liferay.portlet.documentlibrary.action.DownloadFolderZipAction.java

License:Open Source License

protected void downloadFolder(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
    long groupId = themeDisplay.getScopeGroupId();
    long repositoryId = ParamUtil.getLong(resourceRequest, "repositoryId");
    long folderId = ParamUtil.getLong(resourceRequest, "folderId");
    Folder folder = DLAppServiceUtil.getFolder(folderId);
    ServiceContext serviceContext = ServiceContextFactory.getInstance(Folder.class.getName(), resourceRequest);

    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    if (!folder.containsPermission(permissionChecker, ActionKeys.VIEW)) {
        throw new PrincipalException();
    }/*  w  w  w  . j ava 2s.  c  om*/

    File tempZipFile = null;

    try {

        tempZipFile = createTempZipFile();
        DLFolderExportZipServiceUtil.exportFolderToZipFile(groupId, repositoryId, folderId, serviceContext,
                tempZipFile);
        String downloadZipFileName = folder.getName() + ZIP_FILE_EXT;
        sendZipFile(resourceRequest, resourceResponse, tempZipFile, downloadZipFileName);

    } catch (Exception e) {

        String msg = "Error downloading folder " + folderId + " from repository " + repositoryId + " : "
                + e.getMessage();

        s_log.error(msg, e);

        throw new PortalException(msg, e);

    } finally {

        safeDeleteFile(tempZipFile);
        tempZipFile = null;

    }
}

From source file:au.com.permeance.liferay.portlet.documentlibrary.action.FolderInfoAction.java

License:Open Source License

protected DLFolderInfo buildFolderInfo(RenderRequest renderRequest, RenderResponse renderResponse)
        throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
    long groupId = ParamUtil.getLong(renderRequest, "groupId");
    long scopeGroupId = themeDisplay.getScopeGroupId();
    String scopeGroupName = themeDisplay.getScopeGroupName();
    long repositoryId = ParamUtil.getLong(renderRequest, "repositoryId");
    long folderId = ParamUtil.getLong(renderRequest, "folderId");
    Folder folder = DLAppServiceUtil.getFolder(folderId);
    ServiceContext serviceContext = ServiceContextFactory.getInstance(Folder.class.getName(), renderRequest);

    if (s_log.isDebugEnabled()) {
        s_log.debug("building folder info ...");
        ParamUtil.print(renderRequest);/*from   ww  w.  j a va2s .co m*/
        s_log.debug("groupId: " + groupId);
        s_log.debug("scopeGroupId: " + scopeGroupId);
        s_log.debug("scopeGroupName: " + scopeGroupName);
        s_log.debug("repositoryId: " + repositoryId);
        s_log.debug("folderId: " + folderId);
    }

    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    if (!folder.containsPermission(permissionChecker, ActionKeys.VIEW)) {
        throw new PrincipalException();
    }

    DLFolderInfo folderInfo = new DLFolderInfo();

    try {

        User user = UserServiceUtil.getUserById(folder.getUserId());

        DLFolderUsage folderUsage = DLFolderUsageServiceUtil.calculateFolderUsage(repositoryId, folderId,
                serviceContext);

        folderInfo.setFolderId(folderId);
        folderInfo.setFolderName(folder.getName());
        folderInfo.setFolderCreateDate(folder.getCreateDate());
        folderInfo.setFolderDescription(folder.getDescription());
        folderInfo.setFolderPath(buildPath(folder));
        folderInfo.setFolderUsage(folderUsage);
        folderInfo.setFolderUserId(folder.getUserId());

        if (user != null) {
            folderInfo.setFolderUserFullName(user.getFullName());
        }

        folderInfo.setRepositoryId(repositoryId);

        Repository repository = null;
        if (repositoryId != scopeGroupId) {
            repository = RepositoryServiceUtil.getRepository(repositoryId);
            if (repository != null) {
                folderInfo.setRepositoryName(repository.getName());
                folderInfo.setRepositoryClassName(repository.getClassName());
                folderInfo.setRepositoryDescription(repository.getDescription());
            }
        }

    } catch (Exception e) {

        String msg = "Error building information for folder " + folderId + " in repository " + repositoryId
                + " : " + e.getMessage();

        s_log.error(msg, e);

        throw new PortalException(msg, e);

    } finally {

        // placeholder

    }

    return folderInfo;
}

From source file:au.com.permeance.liferay.portlets.workflow.WebContentWorkflowPortlet.java

License:Open Source License

@Override
public void processAction(final ActionRequest actionRequest, final ActionResponse actionResponse)
        throws IOException, PortletException {

    final long groupId = ParamUtil.getLong(actionRequest, "groupId");
    final ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
    final Enumeration<String> paramNames = actionRequest.getParameterNames();

    boolean success = true;
    while (paramNames.hasMoreElements()) {
        final String name = paramNames.nextElement();

        if (!name.startsWith(_PREFIX)) {
            continue;
        }/*from   www.  j  a  va2 s  .co m*/
        final long structureId = GetterUtil.getLong(name.substring(_PREFIX.length(), name.length()), -1l);
        if (structureId >= 0) {
            String workflowDefinition = ParamUtil.getString(actionRequest, name);
            try {
                WorkflowDefinitionLinkLocalServiceUtil.updateWorkflowDefinitionLink(themeDisplay.getUserId(),
                        themeDisplay.getCompanyId(), groupId, JournalArticle.class.getName(), structureId, 0,
                        workflowDefinition);
            } catch (SystemException e) {
                _log.warn("Error processing action: " + e.getMessage(), e);
                SessionErrors.add(actionRequest, e.toString());
                success = false;
            } catch (PortalException e) {
                _log.warn("Error processing action: " + e.getMessage(), e);
                SessionErrors.add(actionRequest, e.toString());
                success = false;
            }
        }
    }

    if (success) {
        SessionMessages.add(actionRequest, "success");
    }
    sendRedirect(actionRequest, actionResponse);
}

From source file:au.com.permeance.utility.propertiesviewer.portlets.PropertiesViewerPortlet.java

License:Open Source License

@Override
public void serveResource(final ResourceRequest resourceRequest, final ResourceResponse resourceResponse)
        throws IOException, PortletException {

    try {//  w  ww  . ja va 2s .  c  o m
        ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
        String portletId = portletDisplay.getId();

        PermissionChecker checker = PermissionThreadLocal.getPermissionChecker();
        if (checker != null && (checker.isCompanyAdmin() || checker.isOmniadmin()
                || PortletPermissionUtil.contains(checker, portletId, ActionKeys.VIEW))) {

            UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(resourceRequest);

            String exportType = GetterUtil
                    .getString(uploadRequest.getParameter(PropertiesViewerConstants.PARAM_EXPORTTYPE), "all");
            String exportSection = GetterUtil.getString(
                    uploadRequest.getParameter(PropertiesViewerConstants.PARAM_EXPORTSECTION), "system");
            String term = GetterUtil.getString(
                    uploadRequest.getParameter(PropertiesViewerConstants.PARAM_SEARCH), StringPool.BLANK);
            boolean passwordSafe = GetterUtil.getBoolean(
                    uploadRequest.getParameter(PropertiesViewerConstants.PARAM_PASSWORDSAFE), false);

            String filename = PropertiesViewerConstants.SECTION_SYSTEM;
            Properties toOutput = PropertiesSearchUtil.createSortedProperties();
            if (PropertiesViewerConstants.SECTION_SYSTEM.equals(exportSection)) {

                if (PropertiesViewerConstants.TYPE_ALL.equals(exportType) || term.length() == 0) {
                    toOutput = PropertiesSearchUtil.searchSystemProperties(toOutput, StringPool.BLANK);
                } else {
                    // search
                    filename += PropertiesViewerConstants.FILE_SEARCH;
                    toOutput = PropertiesSearchUtil.searchSystemProperties(toOutput, term);
                }
                if (passwordSafe) {
                    filterPasswordSafe(toOutput);
                    filename += PropertiesViewerConstants.FILE_PASSWORDSAFE;
                }
            } else if (PropertiesViewerConstants.SECTION_PORTAL.equals(exportSection)) {
                // portal
                filename = PropertiesViewerConstants.SECTION_PORTAL;
                if (PropertiesViewerConstants.TYPE_ALL.equals(exportType) || term.length() == 0) {
                    toOutput = PropertiesSearchUtil.searchPortalProperties(toOutput, StringPool.BLANK);
                } else {
                    // search
                    filename += PropertiesViewerConstants.FILE_SEARCH;
                    toOutput = PropertiesSearchUtil.searchPortalProperties(toOutput, term);
                }
                if (passwordSafe) {
                    filterPasswordSafe(toOutput);
                    filename += PropertiesViewerConstants.FILE_PASSWORDSAFE;
                }
            } else if (PropertiesViewerConstants.SECTION_UPLOAD.equals(exportSection)) {
                // uploaded
                filename = PropertiesViewerConstants.FILE_FORMATTED;
                File uploaded = uploadRequest.getFile(PropertiesViewerConstants.PARAM_FILE);
                if (uploaded != null) {
                    FileInputStream fis = new FileInputStream(uploaded);
                    try {
                        toOutput.load(fis);
                    } finally {
                        try {
                            if (fis != null) {
                                fis.close();
                            }
                        } catch (Exception e) {
                        }
                    }
                }
            } else {
                throw new PortletException(PropertiesViewerConstants.EXCEPTION_INVALID_OPERATION);
            }

            resourceResponse.setContentType(PropertiesViewerConstants.PROPERTIES_MIME_TYPE);
            resourceResponse.addProperty(HttpHeaders.CACHE_CONTROL,
                    PropertiesViewerConstants.CACHE_HEADER_VALUE);
            resourceResponse.addProperty(HttpHeaders.CONTENT_DISPOSITION,
                    "attachment; filename=" + filename + ".properties");

            toOutput.store(resourceResponse.getPortletOutputStream(), StringPool.BLANK);
        }
    } catch (IOException e) {
        throw e;
    } catch (PortletException e) {
        throw e;
    } catch (Exception e) {
        throw new PortletException(e);
    }
}

From source file:blade.document.action.configurationicon.BladeActionConfigurationIcon.java

License:Apache License

public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    HttpServletRequest servletRequest = _portal.getHttpServletRequest(portletRequest);

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

    FileEntry fileEntry = _retrieveFile(servletRequest);

    PortletURL portletURL = PortletURLFactoryUtil.create(servletRequest,
            "blade_document_action_portlet_BladeDocumentActionPortlet", themeDisplay.getPlid(),
            PortletRequest.RENDER_PHASE);

    String fileName = fileEntry.getFileName();
    String mimeType = fileEntry.getMimeType();
    String version = fileEntry.getVersion();
    String createdDate = fileEntry.getCreateDate().toString();
    String createdUserName = fileEntry.getUserName();
    String statusLabel = null;//from w w w. j a  v  a2 s .c  om

    try {
        statusLabel = WorkflowConstants.getStatusLabel(fileEntry.getLatestFileVersion().getStatus());
    } catch (PortalException pe) {
        _log.error(pe);
    }

    portletURL.setParameter("fileName", fileName);
    portletURL.setParameter("mimeType", mimeType);
    portletURL.setParameter("version", version);
    portletURL.setParameter("statusLabel", statusLabel);
    portletURL.setParameter("createdDate", createdDate);
    portletURL.setParameter("createdUserName", createdUserName);

    try {
        portletURL.setWindowState(LiferayWindowState.POP_UP);
    } catch (WindowStateException wse) {
        _log.error(wse);
    }

    StringBuilder stringBuilder = new StringBuilder();

    stringBuilder.append("javascript:Liferay.Util.openWindow(");
    stringBuilder.append("{dialog: {cache: false,width:800,modal: true},");
    stringBuilder.append("title: 'basic information',id: ");
    stringBuilder.append("'testPopupIdUnique',uri: '");
    stringBuilder.append(portletURL.toString() + "'});");

    return stringBuilder.toString();
}

From source file:blade.document.action.displaycontext.BladeActionDisplayContext.java

License:Apache License

public BladeActionDisplayContext(UUID uuid, DLViewFileVersionDisplayContext parentDLDisplayContext,
        HttpServletRequest request, HttpServletResponse response, FileVersion fileVersion) {

    super(uuid, parentDLDisplayContext, request, response, fileVersion);

    _themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
}

From source file:blade.portlet.BladePortletAction.java

License:Open Source License

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

    _log.debug("BladePortletAction - procesAction");

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

    User loggedinUser = themeDisplay.getUser();

    if (loggedinUser != null) {

        _log.info("Logging in with user:[" + loggedinUser.getFirstName() + " " + loggedinUser.getLastName()
                + "]");

        _log.info("Logged in user: Current Greetings[" + loggedinUser.getGreeting() + "]");
    }//  w  w  w  .ja v a 2 s.co m

    originalStrutsPortletAction.processAction(originalStrutsPortletAction, portletConfig, actionRequest,
            actionResponse);
}