summaryrefslogtreecommitdiff
path: root/project2/cgi
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2011-11-25 18:59:27 +0000
committerrandomdan <randomdan@localhost>2011-11-25 18:59:27 +0000
commit32ac0ea4cceda81de49cc9a8ec1b85546745e068 (patch)
treeb4add212bcaed76600a562e5cda562718f3a2294 /project2/cgi
parentTransactional caches (diff)
downloadproject2-32ac0ea4cceda81de49cc9a8ec1b85546745e068.tar.bz2
project2-32ac0ea4cceda81de49cc9a8ec1b85546745e068.tar.xz
project2-32ac0ea4cceda81de49cc9a8ec1b85546745e068.zip
Remove the need to implement loadComplete which is empty in most cases
Restructure presenters in layers based on features allowing for simpler cache implementations Minor XSLT changes to support new layout from presentation which is more consistent
Diffstat (limited to 'project2/cgi')
-rw-r--r--project2/cgi/cgiAppEngine.cpp52
-rw-r--r--project2/cgi/cgiStageDefaultError.cpp4
-rw-r--r--project2/cgi/cgiStageDefaultNotFound.cpp2
-rw-r--r--project2/cgi/cgiStageFail.cpp2
-rw-r--r--project2/cgi/cgiStageRedirect.cpp2
5 files changed, 30 insertions, 32 deletions
diff --git a/project2/cgi/cgiAppEngine.cpp b/project2/cgi/cgiAppEngine.cpp
index ceac940..37ae19c 100644
--- a/project2/cgi/cgiAppEngine.cpp
+++ b/project2/cgi/cgiAppEngine.cpp
@@ -117,35 +117,37 @@ void
CgiApplicationEngine::addEnvData(const Presenter * p) const
{
// These were for debug... but why not pass them on?
- p->addField("servername", env()->xmlPrefix, env()->getServerName());
- p->addField("scriptname", env()->xmlPrefix, env()->getScriptName());
+ p->addNamedValue("servername", env()->xmlPrefix, env()->getServerName());
+ p->addNamedValue("scriptname", env()->xmlPrefix, env()->getScriptName());
// URL elements
- p->pushSub("uriElems", env()->xmlPrefix);
+ p->addNewRowSet("uriElems", env()->xmlPrefix);
BOOST_FOREACH(std::string s, _env->elems) {
- p->addField("uriElem", env()->xmlPrefix, s);
+ p->addNewRow("uriElem");
+ p->addAttribute("text", s);
+ p->finishRow();
}
- p->popSub();
+ p->finishRow();
// Parameters
- p->pushSub("params", env()->xmlPrefix);
+ p->addNewRowSet("params", env()->xmlPrefix);
BOOST_FOREACH(cgicc::FormEntry fe, _env->cgi->getElements()) {
- p->pushSub("param", env()->xmlPrefix);
- p->addAttr("name", fe.getName());
- p->addAttr("value", fe.getValue());
- p->popSub();
+ p->addNewRow("param");
+ p->addAttribute("name", fe.getName());
+ p->addAttribute("value", fe.getValue());
+ p->finishRow();
}
- p->popSub();
+ p->finishRowSet();
}
static
void
-addToPresenter(const Environment * env, const Presenter * p, const Glib::ustring & name, const VariableType & value)
+addToPresenter(const Presenter * p, const Glib::ustring & name, const VariableType & value)
{
- p->pushSub("var", env->xmlPrefix);
- p->addAttr("value", value);
- p->addAttr("name", name);
- p->popSub();
+ p->addNewRow("var");
+ p->addAttribute("value", value);
+ p->addAttribute("name", name);
+ p->finishRow();
}
void
@@ -153,19 +155,19 @@ CgiApplicationEngine::addAppData(const Presenter * p) const
{
addCoreAppData(p);
// Sessions variables
- p->pushSub("session", env()->xmlPrefix);
- p->addAttr("id", cursession->ID.str());
- cursession->ForeachValue(boost::bind(addToPresenter, env(), p, _1, _2));
- p->popSub();
+ p->addNewRowSet("session", env()->xmlPrefix);
+ p->addAttribute("id", cursession->ID.str());
+ cursession->ForeachValue(boost::bind(addToPresenter, p, _1, _2));
+ p->finishRowSet();
// Timing info
- p->pushSub("timing", env()->xmlPrefix);
- p->addAttr("start", startTime);
+ p->addNewRowSet("timing", env()->xmlPrefix);
+ p->addAttribute("start", startTime);
if (!endTime.is_not_a_date_time()) {
- p->addAttr("end", endTime);
- p->addAttr("duration", (endTime - startTime).total_milliseconds());
+ p->addAttribute("end", endTime);
+ p->addAttribute("duration", (endTime - startTime).total_milliseconds());
}
- p->popSub();
+ p->finishRowSet();
}
SessionPtr
diff --git a/project2/cgi/cgiStageDefaultError.cpp b/project2/cgi/cgiStageDefaultError.cpp
index 5ba371f..82d7b2e 100644
--- a/project2/cgi/cgiStageDefaultError.cpp
+++ b/project2/cgi/cgiStageDefaultError.cpp
@@ -29,8 +29,8 @@ CgiApplicationEngine::DefaultErrorStage::getHeader() const
CgiApplicationEngine::NextStage
CgiApplicationEngine::DefaultErrorStage::run()
{
- pres->addField("error-type", e->xmlPrefix, buf);
- pres->addField("error-what", e->xmlPrefix, what.c_str());
+ pres->addNamedValue("error-type", e->xmlPrefix, buf);
+ pres->addNamedValue("error-what", e->xmlPrefix, what.c_str());
return NextStage(NULL, this, pres.get(), pres.get());
}
diff --git a/project2/cgi/cgiStageDefaultNotFound.cpp b/project2/cgi/cgiStageDefaultNotFound.cpp
index d67d892..38cc395 100644
--- a/project2/cgi/cgiStageDefaultNotFound.cpp
+++ b/project2/cgi/cgiStageDefaultNotFound.cpp
@@ -23,7 +23,7 @@ CgiApplicationEngine::DefaultNotFoundStage::getHeader() const
CgiApplicationEngine::NextStage
CgiApplicationEngine::DefaultNotFoundStage::run()
{
- pres->addField("missing-resource", e->xmlPrefix, nf.what());
+ pres->addNamedValue("missing-resource", e->xmlPrefix, nf.what());
return NextStage(NULL, this, pres.get(), pres.get());
}
diff --git a/project2/cgi/cgiStageFail.cpp b/project2/cgi/cgiStageFail.cpp
index 04e131b..6a60700 100644
--- a/project2/cgi/cgiStageFail.cpp
+++ b/project2/cgi/cgiStageFail.cpp
@@ -35,8 +35,6 @@ namespace CgiApplicationExtras {
View(e),
code(e, "code", false, 500),
message(e, "message", false, "Application error") {
- }
- void loadComplete(const CommonObjects *) {
}
void execute(const Presenter *) const {
throw CgiApplicationEngine::ResponseStagePtr(
diff --git a/project2/cgi/cgiStageRedirect.cpp b/project2/cgi/cgiStageRedirect.cpp
index af938c0..c2e498f 100644
--- a/project2/cgi/cgiStageRedirect.cpp
+++ b/project2/cgi/cgiStageRedirect.cpp
@@ -33,8 +33,6 @@ namespace CgiApplicationExtras {
SourceObject(e),
View(e),
url(e, "url", true) {
- }
- void loadComplete(const CommonObjects *) {
}
void execute(const Presenter *) const {
throw CgiApplicationEngine::ResponseStagePtr(