From 9b86aaba05ddf13a4388b36a5177dd39fe45be4c Mon Sep 17 00:00:00 2001
From: Nanne Baars <nanne.baars@owasp.org>
Date: Wed, 22 Mar 2017 00:09:17 +0100
Subject: [PATCH] Adding challenge

---
 webgoat-lessons/challenge/pom.xml             | 12 ++++++
 .../org/owasp/webgoat/plugin/Challenge.java   | 39 +++++++++++++++++++
 .../plugin/Challenge/html/Challenge.html      | 12 ++++++
 .../lessonPlans/en/Challenge_content1.adoc    |  1 +
 .../plugin/i18n/WebGoatLabels.properties      |  1 +
 webgoat-lessons/pom.xml                       |  1 +
 6 files changed, 66 insertions(+)
 create mode 100644 webgoat-lessons/challenge/pom.xml
 create mode 100644 webgoat-lessons/challenge/src/main/java/org/owasp/webgoat/plugin/Challenge.java
 create mode 100644 webgoat-lessons/challenge/src/main/resources/plugin/Challenge/html/Challenge.html
 create mode 100644 webgoat-lessons/challenge/src/main/resources/plugin/Challenge/lessonPlans/en/Challenge_content1.adoc
 create mode 100644 webgoat-lessons/challenge/src/main/resources/plugin/i18n/WebGoatLabels.properties

diff --git a/webgoat-lessons/challenge/pom.xml b/webgoat-lessons/challenge/pom.xml
new file mode 100644
index 000000000..a2cc9c6f4
--- /dev/null
+++ b/webgoat-lessons/challenge/pom.xml
@@ -0,0 +1,12 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>challenge</artifactId>
+    <packaging>jar</packaging>
+    <parent>
+        <groupId>org.owasp.webgoat.lesson</groupId>
+        <artifactId>webgoat-lessons-parent</artifactId>
+        <version>8.0-SNAPSHOT</version>
+    </parent>
+
+</project>
diff --git a/webgoat-lessons/challenge/src/main/java/org/owasp/webgoat/plugin/Challenge.java b/webgoat-lessons/challenge/src/main/java/org/owasp/webgoat/plugin/Challenge.java
new file mode 100644
index 000000000..be24197ca
--- /dev/null
+++ b/webgoat-lessons/challenge/src/main/java/org/owasp/webgoat/plugin/Challenge.java
@@ -0,0 +1,39 @@
+package org.owasp.webgoat.plugin;
+
+import com.google.common.collect.Lists;
+import org.owasp.webgoat.lessons.Category;
+import org.owasp.webgoat.lessons.NewLesson;
+
+import java.util.List;
+
+/**
+ * @author nbaars
+ * @since 3/21/17.
+ */
+public class Challenge extends NewLesson {
+
+    @Override
+    public Category getDefaultCategory() {
+        return Category.CHALLENGE;
+    }
+
+    @Override
+    public List<String> getHints() {
+        return Lists.newArrayList();
+    }
+
+    @Override
+    public Integer getDefaultRanking() {
+        return 10;
+    }
+
+    @Override
+    public String getTitle() {
+        return "challenge.title";
+    }
+
+    @Override
+    public String getId() {
+        return "Challenge";
+    }
+}
diff --git a/webgoat-lessons/challenge/src/main/resources/plugin/Challenge/html/Challenge.html b/webgoat-lessons/challenge/src/main/resources/plugin/Challenge/html/Challenge.html
new file mode 100644
index 000000000..00c0e2c2f
--- /dev/null
+++ b/webgoat-lessons/challenge/src/main/resources/plugin/Challenge/html/Challenge.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+
+<html xmlns:th="http://www.thymeleaf.org">
+
+<div class="lesson-page-wrapper">
+    <!-- reuse this lesson-page-wrapper block for each 'page' of content in your lesson -->
+    <!-- include content here, or can be placed in another location. Content will be presented via asciidocs files,
+    which you put in src/main/resources/plugin/lessonplans/{lang}/{fileName}.adoc -->
+    <div class="adoc-content" th:replace="doc:Challenge_content1.adoc"></div>
+</div>
+
+</html>
\ No newline at end of file
diff --git a/webgoat-lessons/challenge/src/main/resources/plugin/Challenge/lessonPlans/en/Challenge_content1.adoc b/webgoat-lessons/challenge/src/main/resources/plugin/Challenge/lessonPlans/en/Challenge_content1.adoc
new file mode 100644
index 000000000..987f45684
--- /dev/null
+++ b/webgoat-lessons/challenge/src/main/resources/plugin/Challenge/lessonPlans/en/Challenge_content1.adoc
@@ -0,0 +1 @@
+This is the challenge
\ No newline at end of file
diff --git a/webgoat-lessons/challenge/src/main/resources/plugin/i18n/WebGoatLabels.properties b/webgoat-lessons/challenge/src/main/resources/plugin/i18n/WebGoatLabels.properties
new file mode 100644
index 000000000..cbae74dcb
--- /dev/null
+++ b/webgoat-lessons/challenge/src/main/resources/plugin/i18n/WebGoatLabels.properties
@@ -0,0 +1 @@
+challenge.title=WebGoat Challenge
diff --git a/webgoat-lessons/pom.xml b/webgoat-lessons/pom.xml
index e1f148747..caccdb305 100644
--- a/webgoat-lessons/pom.xml
+++ b/webgoat-lessons/pom.xml
@@ -14,6 +14,7 @@
     </parent>
 
     <modules>
+        <module>challenge</module>
         <module>client-side-filtering</module>
         <module>cross-site-scripting</module>
         <module>http-basics</module>