LoginSystem/src/test/java/tools/docs/permissions/PermissionsListWriter.java
ljacqu b7a7d5b3bd #989 Create configuration docs page
- Create tool task to generate a doc page with the generated config.yml
- Rename tools.utils.FileUtils to FileIoUtils to avoid naming conflict with fr.xephi.authme.utils.FileUtils
- Make all doc tasks output a success message at the end
- Update all docs pages that have changed
2016-10-23 18:29:42 +02:00

46 lines
1.6 KiB
Java

package tools.docs.permissions;
import tools.utils.AutoToolTask;
import tools.utils.FileIoUtils;
import tools.utils.TagValue.NestedTagValue;
import tools.utils.TagValueHolder;
import tools.utils.ToolsConstants;
import java.util.Map;
/**
* Task responsible for formatting a permissions node list and
* for writing it to a file if desired.
*/
public class PermissionsListWriter implements AutoToolTask {
private static final String TEMPLATE_FILE = ToolsConstants.TOOLS_SOURCE_ROOT + "docs/permissions/permission_nodes.tpl.md";
private static final String PERMISSIONS_OUTPUT_FILE = ToolsConstants.DOCS_FOLDER + "permission_nodes.md";
@Override
public String getTaskName() {
return "writePermissionsList";
}
@Override
public void executeDefault() {
final NestedTagValue permissionsTagValue = generatePermissionsList();
TagValueHolder tags = TagValueHolder.create().put("nodes", permissionsTagValue);
FileIoUtils.generateFileFromTemplate(TEMPLATE_FILE, PERMISSIONS_OUTPUT_FILE, tags);
System.out.println("Wrote to '" + PERMISSIONS_OUTPUT_FILE + "'");
}
private static NestedTagValue generatePermissionsList() {
PermissionNodesGatherer gatherer = new PermissionNodesGatherer();
Map<String, String> permissions = gatherer.gatherNodesWithJavaDoc();
NestedTagValue permissionTags = new NestedTagValue();
for (Map.Entry<String, String> entry : permissions.entrySet()) {
permissionTags.add(TagValueHolder.create()
.put("node", entry.getKey())
.put("description", entry.getValue()));
}
return permissionTags;
}
}