From ada66dae10cf7c022e1ed0997dc11c7848fc61e0 Mon Sep 17 00:00:00 2001 From: "rogan.dawes" Date: Tue, 10 Jul 2007 11:50:36 +0000 Subject: [PATCH] Pass webgoatContext to AbstractLesson, so all lessons can know their environment git-svn-id: http://webgoat.googlecode.com/svn/trunk@139 4033779f-a91e-0410-96ef-6bf7bf53c507 --- .../org/owasp/webgoat/lessons/AbstractLesson.java | 13 +++++++++++++ .../org/owasp/webgoat/session/Course.java | 5 ++++- .../org/owasp/webgoat/session/WebSession.java | 3 +-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/AbstractLesson.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/AbstractLesson.java index 0f9e35462..cd53124ee 100644 --- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/AbstractLesson.java +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/AbstractLesson.java @@ -24,6 +24,7 @@ import org.apache.ecs.html.Title; import org.owasp.webgoat.session.ParameterNotFoundException; import org.owasp.webgoat.session.Screen; import org.owasp.webgoat.session.WebSession; +import org.owasp.webgoat.session.WebgoatContext; import org.owasp.webgoat.session.WebgoatProperties; /******************************************************************************* @@ -98,6 +99,8 @@ public abstract class AbstractLesson extends Screen implements Comparable private String lessonPlanFileName; + private WebgoatContext webgoatContext; + /** * Constructor for the Lesson object */ @@ -849,4 +852,14 @@ public abstract class AbstractLesson extends Screen implements Comparable // + sourceFileName); this.sourceFileName = sourceFileName; } + + + public WebgoatContext getWebgoatContext() { + return webgoatContext; + } + + + public void setWebgoatContext(WebgoatContext webgoatContext) { + this.webgoatContext = webgoatContext; + } } diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/Course.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/Course.java index 02b569db5..52eba65ec 100644 --- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/Course.java +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/Course.java @@ -59,6 +59,7 @@ public class Course private List files = new LinkedList(); + private WebgoatContext webgoatContext; public Course() { @@ -365,6 +366,7 @@ public class Course if(o instanceof AbstractLesson) { AbstractLesson lesson = (AbstractLesson)o; + lesson.setWebgoatContext(webgoatContext); lesson.update(properties); @@ -423,8 +425,9 @@ public class Course * @param path Description of the Parameter * @param context Description of the Parameter */ - public void loadCourses(boolean enterprise, ServletContext context, String path) + public void loadCourses(WebgoatContext webgoatContext, ServletContext context, String path) { + this.webgoatContext = webgoatContext; loadFiles(context, path); loadLessons(path); loadResources(); diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java index 1ab55c520..052f5c36a 100644 --- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java @@ -23,7 +23,6 @@ import javax.servlet.http.HttpServletResponse; import org.owasp.webgoat.lessons.AbstractLesson; import org.owasp.webgoat.lessons.Category; -import org.owasp.webgoat.lessons.admin.RefreshDBScreen; /******************************************************************************* * @@ -261,7 +260,7 @@ public class WebSession servletName = servlet.getServletName(); this.context = context; course = new Course(); - course.loadCourses( enterprise, context, "/" ); + course.loadCourses( webgoatContext, context, "/" ); } public static synchronized Connection getConnection(WebSession s)