package org.jboss.seam.wiki.core.action;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.*;
import org.jboss.seam.framework.EntityNotFoundException;
import org.jboss.seam.log.Log;
import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.util.WikiUtil;
import java.io.Serializable;
@Name("help")
@Scope(ScopeType.SESSION)
public class Help implements Serializable {
@Logger
Log log;
@In("#{preferences.get('Wiki')}")
WikiPreferences wikiPreferences;
WikiDirectory helpAreaRoot;
@Create
public void create() {
helpAreaRoot = WikiNodeDAO.instance().findArea(WikiUtil.convertToWikiName(wikiPreferences.getHelpArea()));
}
WikiDocument selectedHelpDoc;
public WikiDocument getSelectedHelpDoc() {
return selectedHelpDoc;
}
public void selectDocumentByName(String documentName) {
log.debug("Searching for help document with wiki name in area: " + helpAreaRoot.getAreaNumber() + ", " + WikiUtil.convertToWikiName(documentName));
selectedHelpDoc =
WikiNodeDAO.instance().findWikiDocumentInArea(
helpAreaRoot.getAreaNumber(),
WikiUtil.convertToWikiName(documentName)
);
if (selectedHelpDoc == null)
throw new EntityNotFoundException("Help document: "+documentName, WikiDocument.class);
log.debug("Found help document: " + selectedHelpDoc);
}
}