com.liferay.source.formatter.checks.configuration.ConfigurationLoader Maven / Gradle / Ivy
/**
* 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.source.formatter.checks.configuration;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.StringUtil;
import com.liferay.source.formatter.checks.util.SourceUtil;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
/**
* @author Hugo Huijser
*/
public class ConfigurationLoader {
public static SourceFormatterConfiguration loadConfiguration(
String fileName)
throws Exception {
SourceFormatterConfiguration sourceFormatterConfiguration =
new SourceFormatterConfiguration();
ClassLoader classLoader = ConfigurationLoader.class.getClassLoader();
String content = StringUtil.read(
classLoader.getResourceAsStream(fileName));
Document document = SourceUtil.readXML(content);
Element rootElement = document.getRootElement();
for (Element sourceProcessorElement :
(List)rootElement.elements("source-processor")) {
String sourceProcessorName = sourceProcessorElement.attributeValue(
"name");
for (Element checkElement :
(List)sourceProcessorElement.elements("check")) {
SourceCheckConfiguration sourceCheckConfiguration =
new SourceCheckConfiguration(
checkElement.attributeValue("name"));
boolean enabled = GetterUtil.getBoolean(
checkElement.attributeValue("enabled"), true);
sourceCheckConfiguration.setEnabled(enabled);
for (Element propertyElement :
(List)checkElement.elements("property")) {
sourceCheckConfiguration.addAttribute(
propertyElement.attributeValue("name"),
propertyElement.attributeValue("value"));
}
sourceFormatterConfiguration.addSourceCheckConfiguration(
sourceProcessorName, sourceCheckConfiguration);
}
}
return sourceFormatterConfiguration;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy