diff --git a/pom.xml b/pom.xml
index 86f4885..bcc219c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,6 +125,12 @@
jsoup
1.7.2
+
+ org.mockito
+ mockito-all
+ 1.9.5
+ test
+
diff --git a/webmagic-avalon/sql/create-tables.sql b/webmagic-avalon/sql/create-tables.sql
index 9312e01..6c361b1 100644
--- a/webmagic-avalon/sql/create-tables.sql
+++ b/webmagic-avalon/sql/create-tables.sql
@@ -1,6 +1,6 @@
CREATE TABLE `DynamicClass` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT,
- `ClassName` varchar(20) NOT NULL,
+ `ClassName` varchar(200) NOT NULL,
`SourceCode` text NOT NULL,
`AddTime` datetime NOT NULL,
`UpdateTime` datetime NOT NULL,
diff --git a/webmagic-avalon/webmagic-avalon-common/pom.xml b/webmagic-avalon/webmagic-avalon-common/pom.xml
index e7c6380..388c4f1 100644
--- a/webmagic-avalon/webmagic-avalon-common/pom.xml
+++ b/webmagic-avalon/webmagic-avalon-common/pom.xml
@@ -22,6 +22,12 @@
mybatis
+
+ us.codecraft
+ forger
+ 0.1.0-SNAPSHOT
+
+
org.mybatis
mybatis-spring
@@ -82,6 +88,11 @@
spring-webmvc
+
+ org.mockito
+ mockito-all
+
+
javax.servlet
javax.servlet-api
diff --git a/webmagic-avalon/webmagic-avalon-common/src/main/java/us/codecraft/webmagic/service/DynamicClassService.java b/webmagic-avalon/webmagic-avalon-common/src/main/java/us/codecraft/webmagic/service/DynamicClassService.java
new file mode 100644
index 0000000..389ab01
--- /dev/null
+++ b/webmagic-avalon/webmagic-avalon-common/src/main/java/us/codecraft/webmagic/service/DynamicClassService.java
@@ -0,0 +1,10 @@
+package us.codecraft.webmagic.service;
+
+/**
+ * @author code4crafter@gmail.com
+ */
+public interface DynamicClassService {
+
+ public String compileAndSave(String sourceCode);
+
+}
diff --git a/webmagic-avalon/webmagic-avalon-common/src/main/java/us/codecraft/webmagic/service/impl/DynamicClassServiceImpl.java b/webmagic-avalon/webmagic-avalon-common/src/main/java/us/codecraft/webmagic/service/impl/DynamicClassServiceImpl.java
new file mode 100644
index 0000000..c063a50
--- /dev/null
+++ b/webmagic-avalon/webmagic-avalon-common/src/main/java/us/codecraft/webmagic/service/impl/DynamicClassServiceImpl.java
@@ -0,0 +1,34 @@
+package us.codecraft.webmagic.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import us.codecraft.forger.Forger;
+import us.codecraft.forger.ForgerFactory;
+import us.codecraft.webmagic.dao.DynamicClassDao;
+import us.codecraft.webmagic.model.DynamicClass;
+import us.codecraft.webmagic.service.DynamicClassService;
+
+/**
+ * @author code4crafter@gmail.com
+ */
+@Service
+public class DynamicClassServiceImpl implements DynamicClassService {
+
+ @Autowired
+ private DynamicClassDao dynamicClassDao;
+
+ @Autowired
+ private ForgerFactory forgerFactory;
+
+ @Override
+ public String compileAndSave(String sourceCode) {
+ Forger