/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.css.builder;
import com.liferay.portal.kernel.model.ModelHintsConstants;
import com.liferay.portal.kernel.util.CharPool;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.StringUtil;
import java.io.File;
/**
* @author Brian Wing Shun Chan
* @author Raymond Augé
* @author Eduardo Lundgren
* @author Shuyang Zhou
*/
public class CSSBuilderUtil {
public static File getOutputFile(String fileName, String outputDirName) {
return getOutputFile(fileName, outputDirName, StringPool.BLANK);
}
public static File getOutputFile(
String fileName, String outputDirName, String suffix) {
return new File(getOutputFileName(fileName, outputDirName, suffix));
}
public static String getOutputFileName(
String fileName, String outputDirName, String suffix) {
String cacheFileName = StringUtil.replace(
fileName, CharPool.BACK_SLASH, CharPool.SLASH);
int x = cacheFileName.lastIndexOf(CharPool.SLASH);
int y = cacheFileName.lastIndexOf(CharPool.PERIOD);
if (cacheFileName.endsWith(".scss")) {
cacheFileName = cacheFileName.substring(0, y + 1) + "css";
}
return cacheFileName.substring(0, x + 1) + outputDirName +
cacheFileName.substring(x + 1, y) + suffix +
cacheFileName.substring(y);
}
public static String getRtlCustomFileName(String fileName) {
int pos = fileName.lastIndexOf(CharPool.PERIOD);
return fileName.substring(0, pos) + "_rtl" + fileName.substring(pos);
}
public static String parseStaticTokens(String content) {
return StringUtil.replace(
content,
new String[] {
"@model_hints_constants_text_display_height@",
"@model_hints_constants_text_display_width@",
"@model_hints_constants_textarea_display_height@",
"@model_hints_constants_textarea_display_width@"
},
new String[] {
ModelHintsConstants.TEXT_DISPLAY_HEIGHT,
ModelHintsConstants.TEXT_DISPLAY_WIDTH,
ModelHintsConstants.TEXTAREA_DISPLAY_HEIGHT,
ModelHintsConstants.TEXTAREA_DISPLAY_WIDTH
});
}
}