Example usage for com.liferay.portal.kernel.util FileUtil getExtension

List of usage examples for com.liferay.portal.kernel.util FileUtil getExtension

Introduction

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

Prototype

public static String getExtension(String fileName) 

Source Link

Usage

From source file:com.liferay.portlet.imagegallery.action.EditImageAction.java

License:Open Source License

protected String getContentType(UploadPortletRequest uploadRequest, File file) {

    String contentType = GetterUtil.getString(uploadRequest.getContentType("file"));

    if (contentType.equals("application/octet-stream")) {
        String ext = GetterUtil.getString(FileUtil.getExtension(file.getName())).toLowerCase();

        if (Validator.isNotNull(ext)) {
            contentType = ContentTypeUtil.getContentType(ext);
        }/* ww  w .ja va 2 s  .  c  om*/
    }

    return contentType;
}

From source file:com.liferay.portlet.imagegallery.action.EditImageAction.java

License:Open Source License

protected void updateImage(ActionRequest actionRequest) throws Exception {
    UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);

    long imageId = ParamUtil.getLong(uploadRequest, "imageId");

    long folderId = ParamUtil.getLong(uploadRequest, "folderId");
    String name = ParamUtil.getString(uploadRequest, "name");
    String fileName = uploadRequest.getFileName("file");
    String description = ParamUtil.getString(uploadRequest, "description", fileName);

    File file = uploadRequest.getFile("file");
    String contentType = getContentType(uploadRequest, file);

    if (contentType.equals("application/octet-stream")) {
        String ext = GetterUtil.getString(FileUtil.getExtension(file.getName())).toLowerCase();

        if (Validator.isNotNull(ext)) {
            contentType = ContentTypeUtil.getContentType(ext);
        }/*w ww .j  a v a 2  s  . c  o m*/
    }

    ServiceContext serviceContext = ServiceContextFactory.getInstance(IGImage.class.getName(), actionRequest);

    if (imageId <= 0) {

        // Add image

        if (Validator.isNull(name)) {
            name = fileName;
        }

        IGImage image = IGImageServiceUtil.addImage(folderId, name, description, file, contentType,
                serviceContext);

        AssetPublisherUtil.addAndStoreSelection(actionRequest, IGImage.class.getName(), image.getImageId(), -1);
        MetadataActionUtil.addMetadata(image, actionRequest);
    } else {

        // Update image

        if (Validator.isNull(fileName)) {
            file = null;
        }

        IGImageServiceUtil.updateImage(imageId, folderId, name, description, file, contentType, serviceContext);
    }

    AssetPublisherUtil.addRecentFolderId(actionRequest, IGImage.class.getName(), folderId);
}

From source file:com.liferay.resourcesimporter.util.ResourceImporter.java

License:Open Source License

@Override
protected void addLayoutPrototype(String dirName) throws Exception {
    Set<String> resourcePaths = servletContext.getResourcePaths(resourcesDir.concat(dirName));

    if (resourcePaths == null) {
        return;//from ww w .  j  a  va  2  s.  com
    }

    for (String resourcePath : resourcePaths) {
        String extension = FileUtil.getExtension(resourcePath);

        if (!extension.equals("json")) {
            return;
        }

        URL url = servletContext.getResource(resourcePath);

        URLConnection urlConnection = url.openConnection();

        addLayoutPrototype(urlConnection.getInputStream());
    }
}

From source file:com.liferay.rtl.servlet.filters.ComboServletFilter.java

License:Open Source License

@Override
protected void processFilter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
        throws Exception {

    Set<String> modulePathsSet = new LinkedHashSet<String>();

    Enumeration<String> enu = request.getParameterNames();

    if (ServerDetector.isWebSphere()) {
        Map<String, String[]> parameterMap = HttpUtil.getParameterMap(request.getQueryString());

        enu = Collections.enumeration(parameterMap.keySet());
    }/*from   ww  w.  j a  va  2  s .c o  m*/

    while (enu.hasMoreElements()) {
        String name = enu.nextElement();

        if (_protectedParameters.contains(name)) {
            continue;
        }

        modulePathsSet.add(name);
    }

    if (modulePathsSet.size() == 0) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Modules paths set is empty");

        return;
    }

    String[] modulePaths = modulePathsSet.toArray(new String[modulePathsSet.size()]);

    String firstModulePath = modulePaths[0];

    String extension = FileUtil.getExtension(firstModulePath);

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

    if (Validator.isNull(minifierType)) {
        minifierType = "js";

        if (StringUtil.equalsIgnoreCase(extension, _CSS_EXTENSION)) {
            minifierType = "css";
        }
    }

    if (!minifierType.equals("css") && !minifierType.equals("js")) {
        minifierType = "js";
    }

    String modulePathsString = null;

    byte[][] bytesArray = null;

    if (!PropsValues.COMBO_CHECK_TIMESTAMP) {
        modulePathsString = Arrays.toString(modulePaths);

        if (minifierType.equals("css") && DynamicCSSUtil.isRightToLeft(request)) {

            modulePathsString += ".rtl";
        }

        bytesArray = _bytesArrayPortalCache.get(modulePathsString);
    }

    if (bytesArray == null) {
        String rootPath = ServletContextUtil.getRootPath(_servletContext);

        bytesArray = new byte[modulePaths.length][];

        for (int i = 0; i < modulePaths.length; i++) {
            String modulePath = modulePaths[i];

            if (!validateModuleExtension(modulePath)) {
                response.setHeader(HttpHeaders.CACHE_CONTROL, HttpHeaders.CACHE_CONTROL_NO_CACHE_VALUE);
                response.setStatus(HttpServletResponse.SC_NOT_FOUND);

                return;
            }

            byte[] bytes = new byte[0];

            if (Validator.isNotNull(modulePath)) {
                modulePath = StringUtil.replaceFirst(modulePath, PortalUtil.getPathContext(), StringPool.BLANK);

                URL url = getResourceURL(_servletContext, rootPath, modulePath);

                if (url == null) {
                    response.setHeader(HttpHeaders.CACHE_CONTROL, HttpHeaders.CACHE_CONTROL_NO_CACHE_VALUE);
                    response.setStatus(HttpServletResponse.SC_NOT_FOUND);

                    return;
                }

                bytes = getResourceContent(request, response, url, modulePath, minifierType);
            }

            bytesArray[i] = bytes;
        }

        if ((modulePathsString != null) && !PropsValues.COMBO_CHECK_TIMESTAMP) {

            _bytesArrayPortalCache.put(modulePathsString, bytesArray);
        }
    }

    String contentType = ContentTypes.TEXT_JAVASCRIPT;

    if (StringUtil.equalsIgnoreCase(extension, _CSS_EXTENSION)) {
        contentType = ContentTypes.TEXT_CSS;
    }

    response.setContentType(contentType);

    ServletResponseUtil.write(response, bytesArray);
}

From source file:com.liferay.sync.internal.upgrade.v1_0_2.UpgradeSyncDLObject.java

License:Open Source License

protected void verifyMacPackages(long groupId) throws Exception {
    String[] fileNames = SyncServiceConfigurationValues.SYNC_MAC_PACKAGE_METADATA_FILE_NAMES;

    StringBundler sb = new StringBundler((fileNames.length * 4) + 5);

    sb.append("select DLFolder.folderId, DLFolder.name from DLFolder, ");
    sb.append("DLFileEntry where DLFolder.repositoryId = ");
    sb.append(groupId);/*from w w w  .  ja  va 2  s.  c om*/
    sb.append(" and DLFileEntry.folderId = DLFolder.folderId and ");
    sb.append("DLFileEntry.title in (");

    for (int i = 0; i < fileNames.length; i++) {
        sb.append(StringPool.APOSTROPHE);
        sb.append(fileNames[i]);
        sb.append(StringPool.APOSTROPHE);

        if (i != (fileNames.length - 1)) {
            sb.append(CharPool.COMMA);
        }
    }

    sb.append(")");

    try (PreparedStatement ps1 = connection.prepareStatement(sb.toString());
            PreparedStatement ps2 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection,
                    "update SyncDLObject set extraSettings = ? where typePK " + "= ?");
            ResultSet rs = ps1.executeQuery()) {

        while (rs.next()) {
            long folderId = rs.getLong("folderId");
            String name = rs.getString("name");

            String extension = FileUtil.getExtension(name);

            if (!ArrayUtil.contains(SyncServiceConfigurationValues.SYNC_MAC_PACKAGE_FOLDER_EXTENSIONS,
                    extension)) {

                continue;
            }

            JSONObject extraSettingsJSONObject = JSONFactoryUtil.createJSONObject();

            extraSettingsJSONObject.put("macPackage", true);

            ps2.setString(1, extraSettingsJSONObject.toString());

            ps2.setLong(2, folderId);

            ps2.addBatch();
        }

        ps2.executeBatch();
    }
}

From source file:com.liferay.web.extender.servlet.BundleServletContext.java

License:Open Source License

@Override
public RequestDispatcher getRequestDispatcher(String path) {
    String alias = path;/*from   ww  w .j  a  v  a  2  s .c om*/

    FilterChain filterChain = getFilterChain(alias);

    if (path.startsWith(OSGiServlet.SERVLET_MAPPING) && path.endsWith(OSGiServlet.INVOKER_PATH)) {

        return new BundleRequestDispatcher(path, false, path, _portletServlet, filterChain);
    }

    if (!isValidPath(path)) {
        return null;
    }

    if (Validator.isNull(alias)) {
        alias = StringPool.SLASH;
    }

    if (_servletsMap.containsKey(alias)) {
        return new BundleRequestDispatcher(alias, false, path, _servletsMap.get(alias), filterChain);
    }

    String extensionMapping = FileUtil.getExtension(alias).toLowerCase();

    if (Validator.isNotNull(extensionMapping)) {
        extensionMapping = _EXTENSION_PREFIX.concat(extensionMapping);
    }

    alias = alias.substring(0, alias.lastIndexOf(StringPool.SLASH));

    while (alias.length() != 0) {
        if (_servletsMap.containsKey(alias)) {
            return new BundleRequestDispatcher(alias, false, path, _servletsMap.get(alias), filterChain);
        } else if (_servletsMap.containsKey(alias.concat(extensionMapping))) {
            return new BundleRequestDispatcher(alias.concat(extensionMapping), true, path,
                    _servletsMap.get(alias.concat(extensionMapping)), filterChain);
        }

        alias = alias.substring(0, alias.lastIndexOf(StringPool.SLASH));
    }

    if (_servletsMap.containsKey(StringPool.SLASH.concat(extensionMapping))) {

        return new BundleRequestDispatcher(StringPool.SLASH.concat(extensionMapping), true, path,
                _servletsMap.get(StringPool.SLASH.concat(extensionMapping)), filterChain);
    }

    if (_servletsMap.containsKey(StringPool.SLASH)) {
        return new BundleRequestDispatcher(StringPool.SLASH, false, path, _servletsMap.get(StringPool.SLASH),
                filterChain);
    }

    return null;
}

From source file:cz.topolik.fsrepo.model.FileSystemFileEntry.java

License:Open Source License

public String getExtension() {
    return FileUtil.getExtension(getTitle());
}

From source file:it.smc.calendar.sync.caldav.LiferayCalDAVStorageImpl.java

License:Open Source License

@Override
public Resource getResource(WebDAVRequest webDAVRequest) throws WebDAVException {

    try {/*w w  w. j  a v a2  s  .  c om*/
        String[] pathArray = webDAVRequest.getPathArray();
        String method = webDAVRequest.getHttpServletRequest().getMethod();

        if (CalDAVUtil.isPrincipalRequest(webDAVRequest)) {
            long userid = GetterUtil.getLong(pathArray[2]);
            User user = null;

            try {
                user = UserServiceUtil.getUserById(userid);
            } catch (Exception e) {
                if (_log.isWarnEnabled()) {
                    _log.warn(e);
                }
            }

            if (user == null) {
                throw new WebDAVException("No user were found with id " + pathArray[2]);
            }

            return toResource(webDAVRequest, user);
        }

        // calendar resource collection request

        String calendarResourceGUID = pathArray[0];
        CalendarResource calendarResource = CalendarResourceLocalServiceUtil
                .fetchCalendarResourceByUuidAndCompanyId(calendarResourceGUID, webDAVRequest.getCompanyId());

        if (calendarResource == null) {
            throw new ResourceNotFoundException(
                    "No calendar resource were found for GUID " + calendarResourceGUID);
        }

        //CalendarResourcePermission.check(
        //   webDAVRequest.getPermissionChecker(), calendarResource,
        //   ActionKeys.VIEW);

        if (CalDAVUtil.isCalendarBookingRequest(webDAVRequest) && !method.equals(CalDAVHttpMethods.PUT)) {

            // calendar booking resource

            String resourceName = pathArray[pathArray.length - 1];
            String resourceExtension = StringPool.PERIOD.concat(FileUtil.getExtension(resourceName));

            if (resourceName.endsWith(resourceExtension)) {
                String resourceShortName = StringUtil.replace(resourceName, resourceExtension,
                        StringPool.BLANK);
                long calendarBookingId = GetterUtil.getLong(resourceShortName);

                CalendarBooking calendarBooking = CalendarBookingServiceUtil
                        .fetchCalendarBooking(calendarBookingId);

                if (calendarBooking == null) {
                    throw new ResourceNotFoundException(
                            "Calendar booking not found with id: " + calendarBookingId);
                }

                return toResource(webDAVRequest, calendarBooking);
            }
        }

        if (CalDAVUtil.isCalendarRequest(webDAVRequest)) {

            // calendar request

            String calendarGUID = pathArray[2];

            Calendar calendar = CalendarLocalServiceUtil.fetchCalendarByUuidAndCompanyId(calendarGUID,
                    webDAVRequest.getCompanyId());

            if (calendar == null) {
                throw new ResourceNotFoundException("No calendar were found for GUID " + calendarGUID);
            }

            //CalendarPermission.check(
            //   webDAVRequest.getPermissionChecker(), calendar,
            //   ActionKeys.VIEW);

            return toResource(webDAVRequest, calendar);
        } else {
            return toResource(webDAVRequest, calendarResource);
        }
    } catch (Exception e) {
        throw new WebDAVException(e);
    }
}

From source file:m.omarh.liferay.resources.importer.generator.SitemapGeneratorPortlet.java

License:Open Source License

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

    String resourceId = resourceRequest.getResourceID();

    boolean isDocument = ParamUtil.getBoolean(resourceRequest, "document");

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

    if (resourceId.equals("sitemap.json")) {

        String sitemap = JSONUtil.valorizeVariables(themeDisplay,
                SiteMapUtil.generateJSONSitemap(themeDisplay.getScopeGroup()).toString());

        writeJSON(resourceRequest, resourceResponse, JSONUtil.beautify(sitemap));

    } else if (resourceId.equals("assets.json")) {

        String assets = JSONUtil.valorizeVariables(themeDisplay,
                AssetsUtil.generateJSONAsset(themeDisplay.getScopeGroup()).toString());

        writeJSON(resourceRequest, resourceResponse, JSONUtil.beautify(assets));

    } else if (resourceId.endsWith(".html") && !isDocument) {

        writeJSON(resourceRequest, resourceResponse,
                JournalArticleUtil.getJournalArticleContentJSONObject(themeDisplay, resourceId));

    } else if (resourceId.endsWith(".xml") && !isDocument) {

        String uuid = ParamUtil.getString(resourceRequest, "uuid");

        writeJSON(resourceRequest, resourceResponse,
                JournalStructureUtil.getJournalStructureContent(themeDisplay, uuid));

    } else if (resourceId.endsWith(".vm") || resourceId.endsWith(".ftl")) {

        String uuid = ParamUtil.getString(resourceRequest, "uuid");

        writeJSON(resourceRequest, resourceResponse,
                JournalTemplateUtil.getJournalTemplateContent(themeDisplay, uuid));

    } else if (resourceId.endsWith("articles_")) {

        writeJSON(resourceRequest, resourceResponse, JournalArticleUtil.buildJSONJournalArticles(themeDisplay,
                false, StringPool.BLANK, StringPool.BLANK));

    } else if (resourceId.endsWith("structures_")) {

        writeJSON(resourceRequest, resourceResponse, JournalStructureUtil.buildJSONDDMStrcutures(
                themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK));

    } else if (resourceId.endsWith("templates_")) {

        writeJSON(resourceRequest, resourceResponse, JournalTemplateUtil.buildJSONDDMTemplates(
                themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK));

    } else if (resourceId.endsWith("application_display_")) {

        writeJSON(resourceRequest, resourceResponse, ApplicationDisplayUtil.buildJSONApplicationDisplay(
                themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK));

    } else if (resourceId.endsWith("documents_")) {

        writeJSON(resourceRequest, resourceResponse, DocumentUtil
                .buildJSONDocuments(themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK));

    } else if (ArrayUtil.contains(DocumentUtil.TEXT_EXTENSIONS, FileUtil.getExtension(resourceId))) {

        String uuid = ParamUtil.getString(resourceRequest, "uuid");

        writeJSON(resourceRequest, resourceResponse, DocumentUtil.getDLFileContent(themeDisplay, uuid));

    } else if (ArrayUtil.contains(DocumentUtil.MIME_TYPES_CONTENT_DISPOSITION_INLINE,
            FileUtil.getExtension(resourceId)) && isDocument) {

        String uuid = ParamUtil.getString(resourceRequest, "uuid");

        InputStream inputStream = new ByteArrayInputStream(Base64
                .encode(DocumentUtil.getDLFileBytes(themeDisplay, uuid)).getBytes(StandardCharsets.UTF_8));

        ServletResponseUtil.sendFile(PortalUtil.getHttpServletRequest(resourceRequest),
                PortalUtil.getHttpServletResponse(resourceResponse), resourceId, inputStream);

        /*JSONObject base64JSONObject = JSONFactoryUtil.createJSONObject();
        base64JSONObject.put("content", Base64.encode(DocumentUtil.getDLFileBytes(themeDisplay, uuid)));
                /*  www. j av a 2  s  . co  m*/
        writeJSON(resourceRequest, resourceResponse, base64JSONObject);*/
    }

    super.serveResource(resourceRequest, resourceResponse);
}

From source file:m.omarh.liferay.resources.importer.generator.util.tree.DocumentUtil.java

License:Open Source License

private static JSONObject createDLFileEntryJSONObject(DLFileEntry dlFileEntry, boolean writeFile,
        String fullPathResourceImporterURL, String fullPathPluginSourceURL) {

    JSONObject dlFileEntryJSONObject = JSONFactoryUtil.createJSONObject();

    String fileName = dlFileEntry.getTitle();

    if (Validator.isNull(FileUtil.getExtension(fileName))) {
        fileName += "." + dlFileEntry.getExtension();
    }//  w w  w . ja  v a 2 s  .  c o m

    dlFileEntryJSONObject.put("name", fileName);
    dlFileEntryJSONObject.put("uuid", dlFileEntry.getUuid());
    dlFileEntryJSONObject.put("document", true);
    dlFileEntryJSONObject.put("leaf", true);

    if (writeFile) {

        byte[] fileContent = getDLFileBytes(dlFileEntry.getGroupId(), dlFileEntry.getUuid());

        JSONUtil.writeJSONObjectToFile(fullPathResourceImporterURL + fileName, fileContent);
        JSONUtil.writeJSONObjectToFile(fullPathPluginSourceURL + fileName, fileContent);
    }

    return dlFileEntryJSONObject;
}