From 51cc4fb0b4c6bb00bda40a077c6e7609672e70da Mon Sep 17 00:00:00 2001 From: "rogan.dawes" Date: Tue, 10 Jul 2007 11:53:54 +0000 Subject: [PATCH] Take a simple approach to add direct stage access. Make it a numerical stage indicator. This allows the person to skip a stage if they choose to, but it will effectively be marked as completed. git-svn-id: http://webgoat.googlecode.com/svn/trunk@145 4033779f-a91e-0410-96ef-6bf7bf53c507 --- .../org/owasp/webgoat/lessons/AbstractLesson.java | 8 +++++++- .../lessons/CrossSiteScripting/CrossSiteScripting.java | 6 +++++- .../org/owasp/webgoat/lessons/LessonAdapter.java | 8 ++++++++ 3 files changed, 20 insertions(+), 2 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 3da089dd1..576027bb4 100644 --- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/AbstractLesson.java +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/AbstractLesson.java @@ -164,7 +164,13 @@ public abstract class AbstractLesson extends Screen implements Comparable */ public abstract Element getCredits(); - + /** + * Get the number of stages provided by this lesson + * + * @return the number of stages + */ + public abstract int getStageCount(); + /** * Description of the Method * diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/CrossSiteScripting/CrossSiteScripting.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/CrossSiteScripting/CrossSiteScripting.java index 3e421bc0e..f03c54586 100644 --- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/CrossSiteScripting/CrossSiteScripting.java +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/CrossSiteScripting/CrossSiteScripting.java @@ -310,8 +310,12 @@ public class CrossSiteScripting extends LessonAdapter } + @Override + public int getStageCount() { + return 6; + } - protected LessonAction getAction(String actionName) + protected LessonAction getAction(String actionName) { return (LessonAction) lessonFunctions.get(actionName); } diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/LessonAdapter.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/LessonAdapter.java index 961b6a1a2..e5c0fdc5c 100644 --- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/LessonAdapter.java +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/LessonAdapter.java @@ -381,4 +381,12 @@ public abstract class LessonAdapter extends AbstractLesson t.addElement(tr); return t; } + + /* By default returns 1 stage. + * (non-Javadoc) + * @see org.owasp.webgoat.lessons.AbstractLesson#getStageCount() + */ + public int getStageCount() { + return 1; + } }