ConfigPage continuation
This commit is contained in:
parent
e3497c4718
commit
224372f0ad
7 changed files with 448 additions and 55 deletions
|
|
@ -24,6 +24,8 @@ package wa.server.page;
|
|||
|
||||
import wa.server.WAContext;
|
||||
import wa.server.plugin.WAServiceConfig;
|
||||
import wa.server.plugin.apache.ApacheConfigVirtualHost;
|
||||
import zutil.db.bean.Configurator;
|
||||
import zutil.io.file.FileUtil;
|
||||
import zutil.log.LogUtil;
|
||||
import zutil.net.http.HttpHeaderParser;
|
||||
|
|
@ -31,6 +33,8 @@ import zutil.parser.DataNode;
|
|||
import zutil.parser.Templator;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
|
@ -60,9 +64,19 @@ public class ConfigPage implements WAPage{
|
|||
Map<String, String> cookie,
|
||||
Map<String, String> request) {
|
||||
try {
|
||||
List<?> confObjs = config.getConfigData();
|
||||
ArrayList<Configurator> confList = new ArrayList<>();
|
||||
for(Object obj : confObjs){
|
||||
confList.add(new Configurator(obj));
|
||||
}
|
||||
confList.add(new Configurator(new ApacheConfigVirtualHost.ApacheVirtualHostData()));
|
||||
confList.add(new Configurator(new ApacheConfigVirtualHost.ApacheVirtualHostData()));
|
||||
confList.add(new Configurator(new ApacheConfigVirtualHost.ApacheVirtualHostData()));
|
||||
|
||||
Templator tmpl = new Templator(FileUtil.find(TMPL_FILE));
|
||||
tmpl.set("headers", null);
|
||||
tmpl.set("data", null);
|
||||
tmpl.set("params", Configurator.getConfiguration(
|
||||
config.getConfigClass()));
|
||||
tmpl.set("data", confList);
|
||||
return tmpl;
|
||||
} catch (IOException e) {
|
||||
log.log(Level.SEVERE, null, e);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package wa.server.plugin;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface WAServiceConfig {
|
||||
/**
|
||||
* @return the String name of this configuration type
|
||||
|
|
@ -21,4 +23,18 @@ public interface WAServiceConfig {
|
|||
* Configure service with current configuration data
|
||||
*/
|
||||
public void configure() throws Exception;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return a list of configuration objects, the object
|
||||
* configuration can be changed with the
|
||||
* {@link zutil.db.bean.Configurator} class.
|
||||
*/
|
||||
public List<?> getConfigData();
|
||||
|
||||
/**
|
||||
* @return the class that contains the configuration data
|
||||
*/
|
||||
public Class<?> getConfigClass();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import wa.server.WAConstants;
|
|||
import wa.server.plugin.WAServiceConfig;
|
||||
import wa.server.util.ConfigFileUtil;
|
||||
import zutil.db.DBConnection;
|
||||
import zutil.db.bean.Configurator.Configurable;
|
||||
import zutil.db.bean.DBBean;
|
||||
import zutil.db.bean.DBBean.DBTable;
|
||||
import zutil.io.IOUtil;
|
||||
|
|
@ -55,12 +56,24 @@ public class ApacheConfigVirtualHost implements WAServiceConfig{
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<?> getConfigData() {
|
||||
return vhosts;
|
||||
}
|
||||
@Override
|
||||
public Class<?> getConfigClass() {
|
||||
return ApacheVirtualHostData.class;
|
||||
}
|
||||
|
||||
|
||||
@DBTable(WAConstants.DB_TABLE_PREFIX + "_apache_vhost")
|
||||
public static class ApacheVirtualHostData extends DBBean{
|
||||
@Configurable("Domain")
|
||||
protected String domain;
|
||||
protected String domain_old;
|
||||
protected transient String domain_old;
|
||||
@Configurable("DocRoot")
|
||||
protected String path;
|
||||
@Configurable("SSL")
|
||||
protected boolean ssl;
|
||||
|
||||
|
||||
|
|
@ -96,7 +109,7 @@ public class ApacheConfigVirtualHost implements WAServiceConfig{
|
|||
writeConfiguration(out);
|
||||
out.close();
|
||||
}
|
||||
public void writeConfiguration(PrintStream out){
|
||||
protected void writeConfiguration(PrintStream out){
|
||||
if(ssl){
|
||||
out.println("<VirtualHost *:80>");
|
||||
out.println(" ServerName "+ domain +":80");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue