package org.jboss.seam.wiki.core.preferences.template;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.preferences.PreferenceValueTemplate;
import java.util.ArrayList;
import java.util.List;
import java.io.Serializable;
@Name("writeProtectedAreaPreferenceValueTemplate")
@Scope(ScopeType.CONVERSATION)
public class WriteProtectedAreaTemplate implements PreferenceValueTemplate, Serializable {
@In
WikiDirectory wikiRoot;
private List<String> areaNames;
public List<String> getTemplateValues() {
if (areaNames == null) {
areaNames = new ArrayList<String>();
List<WikiNode> areas =
WikiNodeDAO.instance().findChildren(wikiRoot, WikiNode.SortableProperty.name, false, 0, Integer.MAX_VALUE);
for (WikiNode area : areas) {
if (area.isWriteProtected()) {
areaNames.add(area.getName());
}
}
}
return areaNames;
}
}