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
58 lines
1.6 KiB
Java
Executable File
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());
|
|
}
|
|
|
|
}
|