DatabaseWikiContentGenerator contentGenerator = new DatabaseWikiContentGenerator(
request, this.getTitle(), this.cssLinePrinter());
if (isGetRequest) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentMenu,
new PageMenuPrinter(request));
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new PageContentPrinter(request, _layouter));
} else if ((isIndexRequest) || (request.type().isDelete())
|| (action.actionInsert())) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentMenu,
new PageMenuPrinter(request));
if (DatabaseLayouter.IndexAZMultiPage.equals(_layouter.indexType())) {
contentGenerator.put(
DatabaseWikiContentGenerator.ContentContent,
new AZMultiPageIndexPrinter(request, wiki().content()));
} else if (DatabaseLayouter.IndexAZSinglePage.equals(_layouter
.indexType())) {
contentGenerator
.put(DatabaseWikiContentGenerator.ContentContent,
new AZSinglePageIndexPrinter(request, wiki()
.content()));
} else if (DatabaseLayouter.IndexMultiColumn.equals(_layouter
.indexType())) {
contentGenerator.put(
DatabaseWikiContentGenerator.ContentContent,
new MultiColumnIndexPrinter(request, wiki().content()));
} else if (DatabaseLayouter.IndexPartialList.equals(_layouter
.indexType())) {
contentGenerator.put(
DatabaseWikiContentGenerator.ContentContent,
new PartialIndexPrinter(request, wiki().content()));
} else {
contentGenerator.put(
DatabaseWikiContentGenerator.ContentContent,
new FullIndexPrinter(request, wiki().content()));
}
} else if ((request.type().isCreate()) || (request.type().isEdit())) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new PageUpdateFormPrinter(request));
} else if (request.type().isLayout()) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new LayoutEditor(request));
} else if (request.type().isStyleSheet()) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new FileEditor(request, "Edit style sheet"));
} else if (request.type().isTemplate()) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new FileEditor(request, "Edit template"));
} else if (request.type().isURLDecoding()) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new FileEditor(request, "Edit URL decoding rules"));
} else if (request.type().isSettings()) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new SettingsListingPrinter(request));
} else if (request.type().isPageHistory()) {
contentGenerator.put(DatabaseWikiContentGenerator.ContentMenu,
new PageMenuPrinter(request));
contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
new PageHistoryPrinter(request));
} else {
throw new WikiRequestException(WikiRequestException.InvalidRequest,
exchange.getRequestURI().toASCIIString());