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
This commit is contained in:
57
main/project/JavaSource/org/owasp/webgoat/lessons/RandomLessonAdapter.java
Executable file
57
main/project/JavaSource/org/owasp/webgoat/lessons/RandomLessonAdapter.java
Executable file
@ -0,0 +1,57 @@
|
||||
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());
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user