1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.fatwire.gst.foundation.groovy.spring;
18
19 import javax.servlet.ServletContext;
20
21 import org.springframework.web.context.support.WebApplicationObjectSupport;
22
23 import com.fatwire.gst.foundation.groovy.DiskGroovyLoader;
24 import com.fatwire.gst.foundation.groovy.GroovyLoader;
25
26
27
28
29
30
31
32
33
34
35
36 public class SpringDiskGroovyLoader extends WebApplicationObjectSupport implements GroovyLoader {
37 private DiskGroovyLoader groovyLoader;
38 private String configPath;
39 private int minimumRecompilationInterval = 0;
40
41 public SpringDiskGroovyLoader() {
42 super();
43
44 }
45
46
47
48
49
50
51
52 @Override
53 protected void initServletContext(ServletContext servletContext) {
54 groovyLoader = new DiskGroovyLoader();
55 groovyLoader.setConfigPath(configPath);
56 groovyLoader.setMinimumRecompilationInterval(minimumRecompilationInterval);
57 groovyLoader.bootEngine(getConfigPath());
58
59 }
60
61
62
63
64
65
66
67
68 @Override
69 public Object load(String name) throws Exception {
70
71 return groovyLoader.load(name);
72 }
73
74
75
76
77 public String getConfigPath() {
78 return configPath;
79 }
80
81
82
83
84 public void setConfigPath(String configPath) {
85 this.configPath = configPath;
86 }
87
88
89
90
91 public int getMinimumRecompilationInterval() {
92 return minimumRecompilationInterval;
93 }
94
95
96
97
98
99
100
101
102 public void setMinimumRecompilationInterval(int minimumRecompilationInterval) {
103 this.minimumRecompilationInterval = minimumRecompilationInterval;
104
105 if (groovyLoader != null) {
106 groovyLoader.setMinimumRecompilationInterval(minimumRecompilationInterval);
107 }
108 }
109
110 }