WebGoat/main/project/JavaSource/org/owasp/webgoat/lessons/RandomLessonAdapter.java
rogan.dawes b0b94c4688 Miscellaneous bug fixes
divide by zero, inaccurate discount and totals, reflection of user input


git-svn-id: http://webgoat.googlecode.com/svn/trunk/webgoat@273 4033779f-a91e-0410-96ef-6bf7bf53c507
2008-01-14 14:02:11 +00:00

58 lines
1.6 KiB
Java
Executable File

package org.owasp.webgoat.lessons;
import org.owasp.webgoat.session.LessonTracker;
import org.owasp.webgoat.session.RandomLessonTracker;
import org.owasp.webgoat.session.WebSession;
public abstract class RandomLessonAdapter extends LessonAdapter {
public abstract String[] getStages();
public void setStage(WebSession s, String stage) {
getLessonTracker(s).setStage(stage);
}
public String getStage(WebSession s) {
return getLessonTracker(s).getStage();
}
public void setStageComplete(WebSession s, String stage) {
RandomLessonTracker lt = getLessonTracker(s);
lt.setStageComplete(stage, true);
if (lt.getCompleted()) {
s.setMessage("Congratulations, you have completed this lab");
} else {
s.setMessage("You have completed " + stage + ".");
if (! stage.equals(lt.getStage()))
s.setMessage(" Welcome to " + lt.getStage());
}
}
public boolean isStageComplete(WebSession s, String stage) {
return getLessonTracker(s).hasCompleted(stage);
}
@Override
public RandomLessonTracker getLessonTracker(WebSession s) {
return (RandomLessonTracker) super.getLessonTracker(s);
}
@Override
public RandomLessonTracker getLessonTracker(WebSession s, AbstractLesson lesson) {
return (RandomLessonTracker) super.getLessonTracker(s, lesson);
}
@Override
public RandomLessonTracker getLessonTracker(WebSession s, String userNameOverride) {
return (RandomLessonTracker) super.getLessonTracker(s, userNameOverride);
}
@Override
public LessonTracker createLessonTracker() {
return new RandomLessonTracker(getStages());
}
}